summaryrefslogtreecommitdiffstats
path: root/aai-core/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'aai-core/src/test')
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/exceptions/AAIExceptionTest.java122
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/exceptions/AAIExceptionWithInfoTest.java146
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/introspection/IntrospectorTestSpec.java60
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/introspection/MoxyEngineTest.java68
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/introspection/PojoInjestorTest.java66
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/introspection/PojoLoaderTest.java58
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/introspection/PojoStrategyTest.java43
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/introspection/PropertyPredicatesTest.java79
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/introspection/ReflectionEngineTest.java63
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/introspection/sideeffect/DataCopyTest.java278
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/introspection/sideeffect/DataLinkTest.java268
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/parsers/query/GraphTraversalTest.java704
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/parsers/query/LegacyQueryTest.java162
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/parsers/query/RelationshipGremlinQueryTest.java677
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/parsers/query/RelationshipQueryTest.java282
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/parsers/query/UniqueRelationshipQueryTest.java305
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/parsers/query/UniqueURIQueryTest.java205
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/parsers/relationship/RelationshipToURITest.java229
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/parsers/uri/URIParserTest.java113
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/parsers/uri/URIToExtensionInformationTest.java147
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/parsers/uri/URIToObjectTest.java260
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/parsers/uri/URIToRelationshipObjectTest.java163
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/query/builder/TraversalQueryTest.java103
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/serialization/db/DbAliasTest.java138
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/serialization/db/EdgeRulesTest.java83
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/serialization/queryformats/QueryFormatTestHelper.java76
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/serialization/tinkerpop/TreeBackedVertexTest.java150
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/util/CNNameTest.java133
-rw-r--r--aai-core/src/test/java/org/openecomp/aai/util/CustomLogPatternLayoutTest.java51
-rw-r--r--aai-core/src/test/resources/bundleconfig-local/etc/appprops/aaiconfig.properties25
-rw-r--r--aai-core/src/test/resources/bundleconfig-local/etc/appprops/error.properties163
-rw-r--r--aai-core/src/test/resources/bundleconfig-local/etc/oxm/aai_oxm_v10.xml6482
-rw-r--r--aai-core/src/test/resources/bundleconfig-local/etc/oxm/aai_oxm_v8.xml3076
-rw-r--r--aai-core/src/test/resources/bundleconfig-local/etc/oxm/aai_oxm_v9.xml5453
-rw-r--r--aai-core/src/test/resources/org/openecomp/aai/introspection/aai_oxm_v10.xml5933
-rw-r--r--aai-core/src/test/resources/org/openecomp/aai/introspection/aai_oxm_v8.xml3076
-rw-r--r--aai-core/src/test/resources/org/openecomp/aai/introspection/aai_oxm_v9.xml596
-rw-r--r--aai-core/src/test/resources/org/openecomp/aai/introspection/sideeffect/nested-case.json18
-rw-r--r--aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/ambiguous-relationship.json10
-rw-r--r--aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/both-failv10-successv9.json8
-rw-r--r--aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/both-successv10-failv9.json8
-rw-r--r--aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/only-related-link.json4
-rw-r--r--aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/only-relationship-data.json7
-rw-r--r--aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/too-many-items-relationship.json19
-rw-r--r--aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/top-level-two-keys-relationship.json13
-rw-r--r--aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/two-top-level-relationship.json19
-rw-r--r--aai-core/src/test/resources/org/openecomp/aai/serialization/queryformats/graphson/resource.graphson2
-rw-r--r--aai-core/src/test/resources/org/openecomp/aai/serialization/queryformats/resource-format.json13
-rw-r--r--aai-core/src/test/resources/org/openecomp/aai/serialization/queryformats/resource_and_url-format.json16
-rw-r--r--aai-core/src/test/resources/org/openecomp/aai/serialization/queryformats/simple-format.json43
50 files changed, 30216 insertions, 0 deletions
diff --git a/aai-core/src/test/java/org/openecomp/aai/exceptions/AAIExceptionTest.java b/aai-core/src/test/java/org/openecomp/aai/exceptions/AAIExceptionTest.java
new file mode 100644
index 00000000..231101a8
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/exceptions/AAIExceptionTest.java
@@ -0,0 +1,122 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.exceptions;
+
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.BeforeClass;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class AAIExceptionTest {
+ private static final String code = "4004";
+ private static final String details = "This is a detailed description of the exception.";
+ private static final Throwable cause = new RuntimeException("This is a runtime exception.");
+ private static final Throwable noMessage = new RuntimeException();
+
+ @BeforeClass
+ public static void configure() {
+ System.setProperty("AJSC_HOME", "./src/test/resources/");
+ System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+ }
+
+ /**
+ * Test constructor with 0 params.
+ *
+ * @throws Exception the exception
+ */
+ @Test
+ public void testConstructorWith0Params() throws Exception {
+ AAIException exception = new AAIException();
+ assertEquals(exception, exception);
+ }
+
+ /**
+ * Test constructor with 1 params.
+ *
+ * @throws Exception the exception
+ */
+ @Test
+ public void testConstructorWith1Params() throws Exception {
+ AAIException exception = new AAIException(code);
+ assertEquals(exception, exception);
+ }
+
+ /**
+ * Test constructor with 2 params details.
+ *
+ * @throws Exception the exception
+ */
+ @Test
+ public void testConstructorWith2ParamsDetails() throws Exception {
+ AAIException exception = new AAIException(code, details);
+ assertEquals(details, exception.getMessage());
+ }
+
+ /**
+ * Test constructor with 2 params cause.
+ *
+ * @throws Exception the exception
+ */
+ @Test
+ public void testConstructorWith2ParamsCause() throws Exception {
+ AAIException exception = new AAIException(code, cause);
+ assertEquals(cause.getMessage(), exception.getMessage());
+ }
+
+ /**
+ * Test constructor with 2 params null message.
+ *
+ * @throws Exception the exception
+ */
+ @Test
+ public void testConstructorWith2ParamsNullMessage() throws Exception {
+ AAIException exception = new AAIException(code, noMessage);
+ assertEquals(noMessage.toString(), exception.getMessage());
+ }
+
+ /**
+ * Test constructor with 3 params.
+ *
+ * @throws Exception the exception
+ */
+ @Test
+ public void testConstructorWith3Params() throws Exception {
+ AAIException exception = new AAIException(code, cause, details);
+ String details = "This is a runtime exception.-This is a detailed description of the exception.";
+ assertEquals(details, exception.getMessage());
+ }
+
+ /**
+ * Test constructor with 3 params null message.
+ *
+ * @throws Exception the exception
+ */
+ @Test
+ public void testConstructorWith3ParamsNullMessage() throws Exception {
+ AAIException exception = new AAIException(code, noMessage, details);
+ String detailString = new String(noMessage.toString() + "-" + details);
+ assertEquals(detailString, exception.getMessage());
+ }
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/exceptions/AAIExceptionWithInfoTest.java b/aai-core/src/test/java/org/openecomp/aai/exceptions/AAIExceptionWithInfoTest.java
new file mode 100644
index 00000000..03de45d8
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/exceptions/AAIExceptionWithInfoTest.java
@@ -0,0 +1,146 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.exceptions;
+
+import org.junit.Test;
+
+import java.util.HashMap;
+
+import static org.junit.Assert.assertEquals;
+
+public class AAIExceptionWithInfoTest {
+
+
+ private static final HashMap<String, Object> map = new HashMap<String, Object>();
+
+ {
+ map.put("itemInteger", 1);
+ map.put("itemString", "Two");
+ map.put("itemThree", Boolean.TRUE);
+ }
+
+ private static final String info = "An error has occurred.";
+ private static final String code = "4004";
+ private static final String details = "This is a detailed description of the exception.";
+ private static final Throwable cause = new RuntimeException("This is a runtime exception.");
+
+ /**
+ * Test constructor with 2 params.
+ *
+ * @throws Exception the exception
+ */
+ @Test
+ public void testConstructorWith2Params() throws Exception {
+ AAIExceptionWithInfo exception = new AAIExceptionWithInfo(map, info);
+
+ assertEquals(map, exception.getInfoHash());
+ assertEquals(info, exception.getInfo());
+ }
+
+ /**
+ * Test constructor with 3 params.
+ *
+ * @throws Exception the exception
+ */
+ @Test
+ public void testConstructorWith3Params() throws Exception {
+ AAIExceptionWithInfo exception = new AAIExceptionWithInfo(code, map, info);
+
+ assertEquals(code, exception.getErrorObject().getErrorCode());
+ assertEquals(map, exception.getInfoHash());
+ assertEquals(info, exception.getInfo());
+ }
+
+ /**
+ * Test constructor with 4 params I.
+ *
+ * @throws Exception the exception
+ */
+ @Test
+ public void testConstructorWith4ParamsI() throws Exception {
+ AAIExceptionWithInfo exception = new AAIExceptionWithInfo(code, details, map, info);
+
+ assertEquals(code, exception.getErrorObject().getErrorCode());
+ assertEquals(details, exception.getMessage());
+ assertEquals(map, exception.getInfoHash());
+ assertEquals(info, exception.getInfo());
+ }
+
+ /**
+ * Test constructor with 4 params II.
+ *
+ * @throws Exception the exception
+ */
+ @Test
+ public void testConstructorWith4ParamsII() throws Exception {
+ AAIExceptionWithInfo exception = new AAIExceptionWithInfo(code, cause, map, info);
+
+ assertEquals(code, exception.getErrorObject().getErrorCode());
+ assertEquals(cause.getMessage(), exception.getMessage());
+ assertEquals(map, exception.getInfoHash());
+ assertEquals(info, exception.getInfo());
+ }
+
+ /**
+ * Test constructor with 5 params.
+ *
+ * @throws Exception the exception
+ */
+ @Test
+ public void testConstructorWith5Params() throws Exception {
+ AAIExceptionWithInfo exception = new AAIExceptionWithInfo(code, cause, details, map, info);
+
+ assertEquals(code, exception.getErrorObject().getErrorCode());
+ assertEquals(cause.getMessage() + "-" + details, exception.getMessage());
+ assertEquals(map, exception.getInfoHash());
+ assertEquals(info, exception.getInfo());
+ }
+
+ /**
+ * Test set info hash.
+ */
+ @Test
+ public void testSetInfoHash() {
+ AAIExceptionWithInfo exception = new AAIExceptionWithInfo(map, info);
+
+ HashMap<String, Object> newMap = new HashMap<String, Object>();
+ newMap.put("itemInteger", 2);
+ exception.setInfoHash(newMap);
+
+ assertEquals(newMap, exception.getInfoHash());
+ assertEquals(info, exception.getInfo());
+ }
+
+ /**
+ * Test set info.
+ */
+ @Test
+ public void testSetInfo() {
+ AAIExceptionWithInfo exception = new AAIExceptionWithInfo(map, info);
+
+ String newInfo = "This is updated info.";
+ exception.setInfo(newInfo);
+
+ assertEquals(map, exception.getInfoHash());
+ assertEquals(newInfo, exception.getInfo());
+ }
+
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/introspection/IntrospectorTestSpec.java b/aai-core/src/test/java/org/openecomp/aai/introspection/IntrospectorTestSpec.java
new file mode 100644
index 00000000..3f9eafd5
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/introspection/IntrospectorTestSpec.java
@@ -0,0 +1,60 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.introspection;
+
+import com.google.common.collect.Sets;
+import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
+
+import java.util.Set;
+
+import static org.junit.Assert.assertEquals;
+
+public class IntrospectorTestSpec {
+
+
+
+ /**
+ * Container test set.
+ *
+ * @param wrappedPortGroups the wrapped port groups
+ * @throws AAIUnknownObjectException
+ */
+ protected void containerTestSet(Introspector wrappedPortGroups) throws AAIUnknownObjectException {
+
+ assertEquals(
+ "isContainer",
+ true,
+ wrappedPortGroups.isContainer());
+
+ assertEquals(
+ "newInstanceOfNestedProperty",
+ "PortGroup",
+ wrappedPortGroups.newInstanceOfNestedProperty("port-group").getClass().getSimpleName());
+
+ assertEquals(
+ "isComplexGenericType",
+ true,
+ wrappedPortGroups.isComplexGenericType("port-group"));
+
+
+ }
+
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/introspection/MoxyEngineTest.java b/aai-core/src/test/java/org/openecomp/aai/introspection/MoxyEngineTest.java
new file mode 100644
index 00000000..7e6dacee
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/introspection/MoxyEngineTest.java
@@ -0,0 +1,68 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.introspection;
+
+import org.eclipse.persistence.dynamic.DynamicEntity;
+import org.eclipse.persistence.jaxb.UnmarshallerProperties;
+import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContext;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
+import org.openecomp.aai.serialization.queryformats.QueryFormatTestHelper;
+import org.openecomp.aai.util.AAIConstants;
+
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+import java.io.StringReader;
+
+public class MoxyEngineTest extends IntrospectorTestSpec {
+
+ /**
+ * Configure.
+ * @throws Exception
+ * @throws SecurityException
+ * @throws NoSuchFieldException
+ */
+ @BeforeClass
+ public static void configure() throws NoSuchFieldException, SecurityException, Exception {
+ System.setProperty("AJSC_HOME", ".");
+ System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+ QueryFormatTestHelper.setFinalStatic(AAIConstants.class.getField("AAI_HOME_ETC_OXM"), "src/test/resources/org/openecomp/aai/introspection/");
+ }
+
+ /**
+ * Container object.
+ * @throws AAIUnknownObjectException
+ */
+ @Test
+ public void containerObject() throws AAIUnknownObjectException {
+
+ Loader loader = LoaderFactory.createLoaderForVersion(ModelType.MOXY, Version.v9);
+
+ Introspector obj = loader.introspectorFromName("port-groups");
+
+ this.containerTestSet(obj);
+
+ }
+
+
+
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/introspection/PojoInjestorTest.java b/aai-core/src/test/java/org/openecomp/aai/introspection/PojoInjestorTest.java
new file mode 100644
index 00000000..90d754a3
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/introspection/PojoInjestorTest.java
@@ -0,0 +1,66 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.introspection;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openecomp.aai.db.props.AAIProperties;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
+
+import static org.junit.Assert.*;
+
+public class PojoInjestorTest {
+
+ @BeforeClass
+ public static void configure() {
+ System.setProperty("AJSC_HOME", ".");
+ System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+ }
+
+ @Test
+ public void getVersionTest() {
+ String latestVersion = "org.openecomp.aai.yang.VnfImage";
+ PojoInjestor testPI = new PojoInjestor();
+ assertEquals("", AAIProperties.LATEST, testPI.getVersion(latestVersion));
+
+ String oldVersion = "org.openecomp.aai.yang.v8.VnfImage";
+ assertEquals("", Version.v8, testPI.getVersion(oldVersion));
+ }
+
+ @Test
+ public void getContextForVersionTest() {
+ PojoInjestor testPI = new PojoInjestor();
+ JAXBContext context = testPI.getContextForVersion(Version.v9);
+ try {
+ Marshaller marshaller = context.createMarshaller();
+ //this will fail if the context wasn't initialized successfully (I think)
+ marshaller.setProperty(org.eclipse.persistence.jaxb.MarshallerProperties.MEDIA_TYPE, "application/json");
+ } catch (JAXBException e) {
+ e.printStackTrace();
+ fail("failed on setting marshaller property");
+ }
+ //if we get to here that means everything went ok
+ assertTrue(true);
+ }
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/introspection/PojoLoaderTest.java b/aai-core/src/test/java/org/openecomp/aai/introspection/PojoLoaderTest.java
new file mode 100644
index 00000000..f782e66b
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/introspection/PojoLoaderTest.java
@@ -0,0 +1,58 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.introspection;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openecomp.aai.domain.yang.v9.VnfImage;
+import org.openecomp.aai.introspection.exceptions.AAIUnmarshallingException;
+import org.openecomp.aai.restcore.MediaType;
+
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+public class PojoLoaderTest {
+
+
+ @BeforeClass
+ public static void configure() {
+ System.setProperty("AJSC_HOME", ".");
+ System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+ }
+
+ @Test
+ public void test() {
+ Loader pojoLoader = LoaderFactory.createLoaderForVersion(ModelType.POJO, Version.v9);
+ String payload = "{\"vnf-image-uuid\":\"myuuid\",\"application\":\"testApp\",\"application-vendor\":\"testVendor\",\"application-version\":\"versionTest\"}";
+ try {
+ Introspector intro = pojoLoader.unmarshal("vnf-image", payload, MediaType.APPLICATION_JSON_TYPE);
+ VnfImage myVnfImage = (VnfImage) intro.getUnderlyingObject();
+ assertTrue("myuuid".equals(myVnfImage.getVnfImageUuid()));
+ assertTrue("testApp".equals(myVnfImage.getApplication()));
+ assertTrue("testVendor".equals(myVnfImage.getApplicationVendor()));
+ assertTrue("versionTest".equals(myVnfImage.getApplicationVersion()));
+ } catch (AAIUnmarshallingException e) {
+ e.printStackTrace();
+ fail("AAIUnmarshallingException thrown");
+ }
+ }
+
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/introspection/PojoStrategyTest.java b/aai-core/src/test/java/org/openecomp/aai/introspection/PojoStrategyTest.java
new file mode 100644
index 00000000..d2f67836
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/introspection/PojoStrategyTest.java
@@ -0,0 +1,43 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.introspection;
+
+import org.junit.Test;
+import org.openecomp.aai.domain.yang.CloudRegion;
+import org.openecomp.aai.domain.yang.VolumeGroup;
+import org.openecomp.aai.schema.enums.ObjectMetadata;
+
+import static org.junit.Assert.assertEquals;
+
+public class PojoStrategyTest {
+
+ @Test
+ public void getMetadataTest() {
+ Introspector cloudregion = IntrospectorFactory.newInstance(ModelType.POJO, new CloudRegion());
+ assertEquals("cloud-infrastructure", cloudregion.getMetadata(ObjectMetadata.NAMESPACE));
+ assertEquals("cloud-regions", cloudregion.getMetadata(ObjectMetadata.CONTAINER));
+
+ Introspector volumegroup = IntrospectorFactory.newInstance(ModelType.POJO, new VolumeGroup());
+ assertEquals("cloud-region", volumegroup.getMetadata(ObjectMetadata.DEPENDENT_ON));
+ assertEquals("", volumegroup.getMetadata(ObjectMetadata.NAMESPACE));
+ }
+
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/introspection/PropertyPredicatesTest.java b/aai-core/src/test/java/org/openecomp/aai/introspection/PropertyPredicatesTest.java
new file mode 100644
index 00000000..6b37f4c6
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/introspection/PropertyPredicatesTest.java
@@ -0,0 +1,79 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.introspection;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
+import org.openecomp.aai.serialization.queryformats.QueryFormatTestHelper;
+import org.openecomp.aai.util.AAIConstants;
+
+import java.util.Set;
+
+import static org.hamcrest.Matchers.hasItems;
+import static org.hamcrest.Matchers.not;
+import static org.junit.Assert.assertThat;
+
+public class PropertyPredicatesTest {
+
+
+ private final static Version version = Version.v10;
+ private static Loader loader;
+ private final static ModelType introspectorFactoryType = ModelType.MOXY;
+ private static Introspector obj;
+
+ @BeforeClass
+ public static void setup() throws NoSuchFieldException, SecurityException, Exception {
+ System.setProperty("AJSC_HOME", "./src/test/resources/");
+ System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+ QueryFormatTestHelper.setFinalStatic(AAIConstants.class.getField("AAI_HOME_ETC_OXM"), "src/test/resources/org/openecomp/aai/introspection/");
+ loader = LoaderFactory.createLoaderForVersion(introspectorFactoryType, version);
+ obj = loader.introspectorFromName("test-object");
+
+ }
+
+ @Test
+ public void includeInTestGeneration() throws AAIUnknownObjectException {
+
+ Set<String> props = obj.getProperties(PropertyPredicates.includeInTestGeneration());
+
+ assertThat("props not found", props,
+ not(hasItems("persona-model-ver", "not-visible-test-element", "model-invariant-id", "model-version-id")));
+ }
+
+ @Test
+ public void isVisible() throws AAIUnknownObjectException {
+
+ Set<String> props = obj.getProperties(PropertyPredicates.isVisible());
+
+ assertThat("props not found", props, not(hasItems("persona-model-ver")));
+ }
+
+ @Test
+ public void all() throws AAIUnknownObjectException {
+
+ Set<String> props = obj.getProperties();
+
+ assertThat("all found", props, hasItems("persona-model-ver", "not-visible-test-element"));
+ }
+
+
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/introspection/ReflectionEngineTest.java b/aai-core/src/test/java/org/openecomp/aai/introspection/ReflectionEngineTest.java
new file mode 100644
index 00000000..37df2aeb
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/introspection/ReflectionEngineTest.java
@@ -0,0 +1,63 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.introspection;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
+import org.openecomp.aai.restcore.CustomJacksonJaxBJsonProvider;
+
+import javax.xml.bind.JAXBException;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
+
+public class ReflectionEngineTest extends IntrospectorTestSpec {
+
+ /**
+ * Configure.
+ */
+ @BeforeClass
+ public static void configure() {
+ System.setProperty("AJSC_HOME", ".");
+ System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+ }
+
+ /**
+ * Container object.
+ *
+ * @throws InstantiationException the instantiation exception
+ * @throws IllegalAccessException the illegal access exception
+ * @throws ClassNotFoundException the class not found exception
+ * @throws AAIUnknownObjectException
+ */
+ @Test
+ public void containerObject() throws InstantiationException, IllegalAccessException, ClassNotFoundException, AAIUnknownObjectException {
+ Object javaObj = null;
+ String className = "org.openecomp.aai.domain.yang.v8.PortGroups";
+ javaObj = Class.forName(className).newInstance();
+
+ Introspector obj = IntrospectorFactory.newInstance(ModelType.POJO, javaObj);
+
+ this.containerTestSet(obj);
+ }
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/introspection/sideeffect/DataCopyTest.java b/aai-core/src/test/java/org/openecomp/aai/introspection/sideeffect/DataCopyTest.java
new file mode 100644
index 00000000..3a45a9f4
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/introspection/sideeffect/DataCopyTest.java
@@ -0,0 +1,278 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.introspection.sideeffect;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.lang.reflect.InvocationTargetException;
+import java.net.MalformedURLException;
+import java.net.URISyntaxException;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.VertexProperty;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import org.openecomp.aai.db.props.AAIProperties;
+import org.openecomp.aai.dbmap.DBConnectionType;
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.introspection.Introspector;
+import org.openecomp.aai.introspection.Loader;
+import org.openecomp.aai.introspection.LoaderFactory;
+import org.openecomp.aai.introspection.ModelType;
+import org.openecomp.aai.introspection.Version;
+import org.openecomp.aai.introspection.sideeffect.exceptions.AAIMissingRequiredPropertyException;
+import org.openecomp.aai.parsers.query.QueryParser;
+import org.openecomp.aai.serialization.db.DBSerializer;
+import org.openecomp.aai.serialization.engines.QueryStyle;
+import org.openecomp.aai.serialization.engines.TitanDBEngine;
+import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
+import org.openecomp.aai.serialization.queryformats.QueryFormatTestHelper;
+import org.openecomp.aai.util.AAIConstants;
+import com.thinkaurelius.titan.core.TitanFactory;
+import com.thinkaurelius.titan.core.TitanGraph;
+import com.thinkaurelius.titan.core.TitanTransaction;
+
+public class DataCopyTest {
+
+ private static TitanGraph graph;
+ private final static Version version = Version.v10;
+ private final static ModelType introspectorFactoryType = ModelType.MOXY;
+ private final static QueryStyle queryStyle = QueryStyle.TRAVERSAL;
+ private final static DBConnectionType type = DBConnectionType.REALTIME;
+ private static Loader loader;
+ private static TransactionalGraphEngine dbEngine;
+ @Mock private Vertex self;
+ @Mock private VertexProperty<String> prop;
+ @Mock private QueryParser uriQuery;
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+
+
+ @BeforeClass
+ public static void setup() throws NoSuchFieldException, SecurityException, Exception {
+ graph = TitanFactory.build().set("storage.backend","inmemory").open();
+ System.setProperty("AJSC_HOME", "./src/test/resources/");
+ System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+ QueryFormatTestHelper.setFinalStatic(AAIConstants.class.getField("AAI_HOME_ETC_OXM"), "src/test/resources/org/openecomp/aai/introspection/");
+ loader = LoaderFactory.createLoaderForVersion(introspectorFactoryType, version);
+ dbEngine = new TitanDBEngine(
+ queryStyle,
+ type,
+ loader);
+
+ graph.traversal().addV("aai-node-type", "model", "model-invariant-id", "key1").as("v1")
+ .addV("aai-node-type", "model-ver", "model-ver", "myValue", "model-version-id", "key2", "model-version", "testValue").addInE("has", "v1", "isParent", true)
+ .addV("aai-node-type", "model", "model-invariant-id", "key3").as("v2")
+ .addV("aai-node-type", "model-ver", "model-ver", "myValue", "model-version-id", "key4").addInE("has", "v2", "isParent", true)
+ .next();
+ graph.tx().commit();
+ }
+
+ @AfterClass
+ public static void tearDown() {
+ graph.tx().rollback();
+ graph.close();
+ }
+
+ @Before
+ public void initMock() {
+ MockitoAnnotations.initMocks(this);
+ }
+
+ @Test
+ public void runPopulatePersonaModelVer() throws URISyntaxException, AAIException, UnsupportedEncodingException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, MalformedURLException {
+
+ final Loader loader = LoaderFactory.createLoaderForVersion(ModelType.MOXY, Version.v10);
+ final Introspector obj = loader.introspectorFromName("test-object");
+ obj.setValue("vnf-id", "myId");
+ obj.setValue("model-invariant-id", "key1");
+ obj.setValue("model-version-id", "key2");
+ TransactionalGraphEngine spy = spy(dbEngine);
+ TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
+ TitanTransaction g = graph.newTransaction();
+ GraphTraversalSource traversal = g.traversal();
+ when(spy.asAdmin()).thenReturn(adminSpy);
+ when(adminSpy.getTraversalSource()).thenReturn(traversal);
+ when(self.<String>property(AAIProperties.AAI_URI)).thenReturn(prop);
+ when(prop.orElse(null)).thenReturn(obj.getURI());
+ DBSerializer serializer = new DBSerializer(version, spy, introspectorFactoryType, "AAI_TEST");
+ SideEffectRunner runner = new SideEffectRunner
+ .Builder(spy, serializer).addSideEffect(DataCopy.class).build();
+
+ runner.execute(obj, self);
+
+ assertEquals("value populated", "testValue", obj.getValue("persona-model-ver"));
+
+ g.rollback();
+
+
+ }
+
+ @Test
+ public void runPopulateModelVersionId() throws URISyntaxException, AAIException, UnsupportedEncodingException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, MalformedURLException {
+
+ final Loader loader = LoaderFactory.createLoaderForVersion(ModelType.MOXY, Version.v9);
+ final Introspector obj = loader.introspectorFromName("test-object");
+ obj.setValue("vnf-id", "myId");
+ obj.setValue("persona-model-id", "key1");
+ obj.setValue("persona-model-version", "testValue");
+ TransactionalGraphEngine spy = spy(dbEngine);
+ TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
+ TitanTransaction g = graph.newTransaction();
+ GraphTraversalSource traversal = g.traversal();
+ when(spy.asAdmin()).thenReturn(adminSpy);
+ when(adminSpy.getTraversalSource()).thenReturn(traversal);
+ when(self.<String>property(AAIProperties.AAI_URI)).thenReturn(prop);
+ when(prop.orElse(null)).thenReturn(obj.getURI());
+ DBSerializer serializer = new DBSerializer(version, spy, introspectorFactoryType, "AAI_TEST");
+ SideEffectRunner runner = new SideEffectRunner
+ .Builder(spy, serializer).addSideEffect(DataCopy.class).build();
+
+ runner.execute(obj, self);
+
+ assertEquals("value populated", "key2", obj.getValue("model-version-id"));
+
+ g.rollback();
+ }
+
+ @Test
+ public void verifyNestedSideEffect() throws URISyntaxException, AAIException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, IOException {
+
+ final Loader loader = LoaderFactory.createLoaderForVersion(ModelType.MOXY, Version.v10);
+ final Introspector obj = loader.unmarshal("customer", this.getJsonString("nested-case.json"));
+ System.out.println(obj.marshal(true));
+ TransactionalGraphEngine spy = spy(dbEngine);
+ TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
+ TitanTransaction g = graph.newTransaction();
+ GraphTraversalSource traversal = g.traversal();
+ when(spy.tx()).thenReturn(g);
+ when(spy.asAdmin()).thenReturn(adminSpy);
+ when(adminSpy.getTraversalSource()).thenReturn(traversal);
+ when(self.<String>property(AAIProperties.AAI_URI)).thenReturn(prop);
+ when(prop.orElse(null)).thenReturn(obj.getURI());
+ when(uriQuery.isDependent()).thenReturn(false);
+ DBSerializer serializer = new DBSerializer(version, spy, introspectorFactoryType, "AAI_TEST");
+ Vertex v= serializer.createNewVertex(obj);
+ serializer.serializeToDb(obj, v, uriQuery, obj.getURI(), "test");
+
+ assertEquals("nested value populated", "testValue", g.traversal().V().has("service-instance-id", "nested-instance-key").next().property("persona-model-version").orElse(""));
+
+ g.rollback();
+
+ }
+
+ @Test
+ public void expectedMissingPropertyExceptionInURI() throws AAIException, UnsupportedEncodingException {
+
+ final Loader loader = LoaderFactory.createLoaderForVersion(ModelType.MOXY, Version.v10);
+ final Introspector obj = loader.introspectorFromName("test-object");
+ obj.setValue("vnf-id", "myId");
+ obj.setValue("model-invariant-id", "key1");
+
+ TransactionalGraphEngine spy = spy(dbEngine);
+ TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
+ TitanTransaction g = graph.newTransaction();
+ GraphTraversalSource traversal = g.traversal();
+ when(spy.asAdmin()).thenReturn(adminSpy);
+ when(adminSpy.getTraversalSource()).thenReturn(traversal);
+ when(self.<String>property(AAIProperties.AAI_URI)).thenReturn(prop);
+ when(prop.orElse(null)).thenReturn(obj.getURI());
+ DBSerializer serializer = new DBSerializer(version, spy, introspectorFactoryType, "AAI_TEST");
+ SideEffectRunner runner = new SideEffectRunner
+ .Builder(spy, serializer).addSideEffect(DataCopy.class).build();
+
+ thrown.expect(AAIMissingRequiredPropertyException.class);
+ runner.execute(obj, self);
+ }
+
+ @Test
+ public void expectedMissingPropertyExceptionForResultingObject() throws AAIException, UnsupportedEncodingException {
+ final Loader loader = LoaderFactory.createLoaderForVersion(ModelType.MOXY, Version.v10);
+ final Introspector obj = loader.introspectorFromName("test-object");
+ obj.setValue("vnf-id", "myId");
+ obj.setValue("model-invariant-id", "key3");
+ obj.setValue("model-version-id", "key4");
+
+ TransactionalGraphEngine spy = spy(dbEngine);
+ TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
+ TitanTransaction g = graph.newTransaction();
+ GraphTraversalSource traversal = g.traversal();
+ when(spy.asAdmin()).thenReturn(adminSpy);
+ when(adminSpy.getTraversalSource()).thenReturn(traversal);
+ when(self.<String>property(AAIProperties.AAI_URI)).thenReturn(prop);
+ when(prop.orElse(null)).thenReturn(obj.getURI());
+ DBSerializer serializer = new DBSerializer(version, spy, introspectorFactoryType, "AAI_TEST");
+ SideEffectRunner runner = new SideEffectRunner
+ .Builder(spy, serializer).addSideEffect(DataCopy.class).build();
+
+ thrown.expect(AAIMissingRequiredPropertyException.class);
+ runner.execute(obj, self);
+ }
+
+ @Test
+ public void expectNoProcessingWithNoProperties() throws AAIException, UnsupportedEncodingException {
+ final Loader loader = LoaderFactory.createLoaderForVersion(ModelType.MOXY, Version.v10);
+ final Introspector obj = loader.introspectorFromName("test-object");
+ obj.setValue("vnf-id", "myId");
+
+ TransactionalGraphEngine spy = spy(dbEngine);
+ TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
+ TitanTransaction g = graph.newTransaction();
+ GraphTraversalSource traversal = g.traversal();
+ when(spy.asAdmin()).thenReturn(adminSpy);
+ when(adminSpy.getTraversalSource()).thenReturn(traversal);
+ when(self.<String>property(AAIProperties.AAI_URI)).thenReturn(prop);
+ when(prop.orElse(null)).thenReturn(obj.getURI());
+ DBSerializer serializer = new DBSerializer(version, spy, introspectorFactoryType, "AAI_TEST");
+ SideEffectRunner runner = new SideEffectRunner
+ .Builder(spy, serializer).addSideEffect(DataCopy.class).build();
+
+ runner.execute(obj, self);
+
+ assertEquals("no model-version-id", true, obj.getValue("model-version-id") == null);
+ assertEquals("no model-invariant-id", true, obj.getValue("model-invariant-id") == null);
+
+ }
+
+ private String getJsonString(String filename) throws IOException {
+
+
+ FileInputStream is = new FileInputStream("src/test/resources/org/openecomp/aai/introspection/sideeffect/" + filename);
+ String s = IOUtils.toString(is, "UTF-8");
+ IOUtils.closeQuietly(is);
+
+ return s;
+ }
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/introspection/sideeffect/DataLinkTest.java b/aai-core/src/test/java/org/openecomp/aai/introspection/sideeffect/DataLinkTest.java
new file mode 100644
index 00000000..063a7c15
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/introspection/sideeffect/DataLinkTest.java
@@ -0,0 +1,268 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.introspection.sideeffect;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import java.io.UnsupportedEncodingException;
+import java.lang.reflect.InvocationTargetException;
+import java.net.MalformedURLException;
+import java.net.URISyntaxException;
+import java.util.List;
+
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.VertexProperty;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import org.openecomp.aai.db.props.AAIProperties;
+import org.openecomp.aai.dbmap.DBConnectionType;
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.introspection.Introspector;
+import org.openecomp.aai.introspection.Loader;
+import org.openecomp.aai.introspection.LoaderFactory;
+import org.openecomp.aai.introspection.ModelType;
+import org.openecomp.aai.introspection.Version;
+import org.openecomp.aai.parsers.query.QueryParser;
+import org.openecomp.aai.serialization.db.DBSerializer;
+import org.openecomp.aai.serialization.engines.QueryStyle;
+import org.openecomp.aai.serialization.engines.TitanDBEngine;
+import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
+import org.openecomp.aai.serialization.queryformats.QueryFormatTestHelper;
+import org.openecomp.aai.util.AAIConstants;
+import com.thinkaurelius.titan.core.TitanFactory;
+import com.thinkaurelius.titan.core.TitanGraph;
+import com.thinkaurelius.titan.core.TitanTransaction;
+
+public class DataLinkTest {
+
+ private static TitanGraph graph;
+ private final static Version version = Version.v10;
+ private final static ModelType introspectorFactoryType = ModelType.MOXY;
+ private final static QueryStyle queryStyle = QueryStyle.TRAVERSAL;
+ private final static DBConnectionType type = DBConnectionType.REALTIME;
+ private static Loader loader;
+ private static TransactionalGraphEngine dbEngine;
+ @Mock private QueryParser parser;
+ @Mock private Vertex self;
+ @Mock private VertexProperty<String> prop;
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+
+
+ @BeforeClass
+ public static void setup() throws NoSuchFieldException, SecurityException, Exception {
+ graph = TitanFactory.build().set("storage.backend","inmemory").open();
+ System.setProperty("AJSC_HOME", "./src/test/resources/");
+ System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+ QueryFormatTestHelper.setFinalStatic(AAIConstants.class.getField("AAI_HOME_ETC_OXM"), "src/test/resources/org/openecomp/aai/introspection/");
+ loader = LoaderFactory.createLoaderForVersion(introspectorFactoryType, version);
+ dbEngine = new TitanDBEngine(
+ queryStyle,
+ type,
+ loader);
+
+ graph.traversal().addV("aai-node-type", "vpn-binding", "vpn-id", "addKey").as("v1")
+ .addV("aai-node-type", "vpn-binding", "vpn-id", "modifyKey").as("v2")
+ .addV("aai-node-type", "route-target", "global-route-target", "modifyTargetKey", "route-target-role", "modifyRoleKey", "linked", true).addInE("has", "v2", "isParent", true)
+ .addV("aai-node-type", "vpn-binding", "vpn-id", "deleteKey").as("v3")
+ .addV("aai-node-type", "route-target", "global-route-target", "deleteTargetKey", "route-target-role", "deleteRoleKey", "linked", true).addInE("has", "v3", "isParent", true)
+ .addV("aai-node-type", "vpn-binding", "vpn-id", "getKey").as("v4")
+ .addV("aai-node-type", "route-target", "global-route-target", "getTargetKey", "route-target-role", "getRoleKey", "linked", true).addInE("has", "v4", "isParent", true)
+ .addV("aai-node-type", "vpn-binding", "vpn-id", "getKeyNoLink").as("v5")
+ .addV("aai-node-type", "route-target", "global-route-target", "getTargetKeyNoLink", "route-target-role", "getRoleKeyNoLink").addInE("has", "v5", "isParent", true)
+ .next();
+ graph.tx().commit();
+ }
+
+ @AfterClass
+ public static void tearDown() {
+ graph.tx().rollback();
+ graph.close();
+ }
+
+ @Before
+ public void initMock() {
+ MockitoAnnotations.initMocks(this);
+ }
+
+ @Test
+ public void verifyCreationOfVertex() throws URISyntaxException, AAIException, UnsupportedEncodingException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, MalformedURLException {
+
+ final Loader loader = LoaderFactory.createLoaderForVersion(ModelType.MOXY, Version.v9);
+ final Introspector obj = loader.introspectorFromName("vpn-binding");
+ obj.setValue("vpn-id", "addKey");
+ obj.setValue("global-route-target", "key1");
+ obj.setValue("route-target-role", "key2");
+ TransactionalGraphEngine spy = spy(dbEngine);
+ TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
+ TitanTransaction g = graph.newTransaction();
+ GraphTraversalSource traversal = g.traversal();
+ when(spy.asAdmin()).thenReturn(adminSpy);
+ when(adminSpy.getTraversalSource()).thenReturn(traversal);
+ when(spy.tx()).thenReturn(g);
+ when(self.<String>property(AAIProperties.AAI_URI)).thenReturn(prop);
+ when(prop.orElse(null)).thenReturn(obj.getURI());
+ DBSerializer serializer = new DBSerializer(version, spy, introspectorFactoryType, "AAI_TEST");
+ SideEffectRunner runner = new SideEffectRunner
+ .Builder(spy, serializer).addSideEffect(DataLinkWriter.class).build();
+
+ runner.execute(obj, self);
+
+ assertEquals("route-target vertex found", true, traversal.V()
+ .has(AAIProperties.NODE_TYPE, "route-target").has("global-route-target", "key1").has("route-target-role", "key2").has("linked", true).hasNext());
+
+ g.rollback();
+
+ }
+
+ @Test
+ public void verifyModificationOfVertex() throws URISyntaxException, AAIException, UnsupportedEncodingException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, MalformedURLException {
+
+ final Loader loader = LoaderFactory.createLoaderForVersion(ModelType.MOXY, Version.v9);
+ final Introspector obj = loader.introspectorFromName("vpn-binding");
+ obj.setValue("vpn-id", "modifyKey");
+ obj.setValue("global-route-target", "modifyTargetKey2");
+ obj.setValue("route-target-role", "modifyRoleKey2");
+ TransactionalGraphEngine spy = spy(dbEngine);
+ TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
+ TitanTransaction g = graph.newTransaction();
+ GraphTraversalSource traversal = g.traversal();
+ when(spy.asAdmin()).thenReturn(adminSpy);
+ when(adminSpy.getTraversalSource()).thenReturn(traversal);
+ when(spy.tx()).thenReturn(g);
+ when(self.<String>property(AAIProperties.AAI_URI)).thenReturn(prop);
+ when(prop.orElse(null)).thenReturn(obj.getURI());
+ DBSerializer serializer = new DBSerializer(version, spy, introspectorFactoryType, "AAI_TEST");
+ SideEffectRunner runner = new SideEffectRunner
+ .Builder(spy, serializer).addSideEffect(DataLinkWriter.class).build();
+
+ runner.execute(obj, self);
+
+ assertEquals("route-target vertex found", true, traversal.V()
+ .has(AAIProperties.NODE_TYPE, "route-target").has("global-route-target", "modifyTargetKey2").has("route-target-role", "modifyRoleKey2").has("linked", true).hasNext());
+ assertEquals("previous link removed", true, traversal.V()
+ .has(AAIProperties.NODE_TYPE, "route-target").has("global-route-target", "modifyTargetKey").has("route-target-role", "modifyRoleKey").hasNot("linked").hasNext());
+ g.rollback();
+
+ }
+
+ @Test
+ public void verifyDeleteOfVertex() throws URISyntaxException, AAIException, UnsupportedEncodingException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, MalformedURLException {
+
+ final Loader loader = LoaderFactory.createLoaderForVersion(ModelType.MOXY, Version.v9);
+ final Introspector obj = loader.introspectorFromName("vpn-binding");
+ obj.setValue("vpn-id", "deleteKey");
+ TransactionalGraphEngine spy = spy(dbEngine);
+ TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
+ TitanTransaction g = graph.newTransaction();
+ GraphTraversalSource traversal = g.traversal();
+ when(spy.asAdmin()).thenReturn(adminSpy);
+ when(adminSpy.getTraversalSource()).thenReturn(traversal);
+ when(spy.tx()).thenReturn(g);
+ when(self.<String>property(AAIProperties.AAI_URI)).thenReturn(prop);
+ when(prop.orElse(null)).thenReturn(obj.getURI());
+ DBSerializer serializer = new DBSerializer(version, spy, introspectorFactoryType, "AAI_TEST");
+ SideEffectRunner runner = new SideEffectRunner
+ .Builder(spy, serializer).addSideEffect(DataLinkWriter.class).build();
+
+ runner.execute(obj, self);
+
+ assertEquals("route-target vertex not found", false, traversal.V()
+ .has(AAIProperties.NODE_TYPE, "route-target").has("global-route-target", "deleteTargetKey").has("route-target-role", "deleteRoleKey").has("linked", true).hasNext());
+ g.rollback();
+
+ }
+
+ @Test
+ public void verifyPropertyPopulation() throws URISyntaxException, AAIException, UnsupportedEncodingException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, MalformedURLException {
+
+ final Loader loader = LoaderFactory.createLoaderForVersion(ModelType.MOXY, Version.v9);
+ final Introspector obj = loader.introspectorFromName("vpn-binding");
+ obj.setValue("vpn-id", "getKey");
+ TransactionalGraphEngine spy = spy(dbEngine);
+ TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
+ TitanTransaction g = graph.newTransaction();
+ GraphTraversalSource traversal = g.traversal();
+ when(spy.asAdmin()).thenReturn(adminSpy);
+ when(adminSpy.getTraversalSource()).thenReturn(traversal);
+ when(spy.tx()).thenReturn(g);
+ when(self.<String>property(AAIProperties.AAI_URI)).thenReturn(prop);
+ when(prop.orElse(null)).thenReturn(obj.getURI());
+ DBSerializer serializer = new DBSerializer(version, spy, introspectorFactoryType, "AAI_TEST");
+ SideEffectRunner runner = new SideEffectRunner
+ .Builder(spy, serializer).addSideEffect(DataLinkReader.class).build();
+
+ runner.execute(obj, self);
+
+ assertEquals("both properties have been populated in target object", true, obj.getValue("global-route-target").equals("getTargetKey") && obj.getValue("route-target-role").equals("getRoleKey"));
+ g.rollback();
+
+ }
+
+ @Test
+ public void verifyPropertyPopulationWithV10OnlyPut() throws URISyntaxException, AAIException, UnsupportedEncodingException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, MalformedURLException {
+ final Introspector obj = loader.introspectorFromName("vpn-binding");
+ obj.setValue("vpn-id", "getKeyNoLink");
+ final Introspector routeTargets = loader.introspectorFromName("route-targets");
+ obj.setValue("route-targets", routeTargets.getUnderlyingObject());
+ List<Object> targets = routeTargets.getValue("route-target");
+ final Introspector routeTargetOne = loader.introspectorFromName("route-target");
+ routeTargetOne.setValue("global-route-target", "getTargetKeyNoLink");
+ routeTargetOne.setValue("route-target-role", "getRoleKeyNoLink");
+ targets.add(routeTargetOne.getUnderlyingObject());
+ final Introspector routeTargetTwo = loader.introspectorFromName("route-target");
+ routeTargetTwo.setValue("global-route-target", "getTargetKeyNoLink2");
+ routeTargetTwo.setValue("route-target-role", "getRoleKeyNoLink2");
+ targets.add(routeTargetTwo.getUnderlyingObject());
+ TransactionalGraphEngine spy = spy(dbEngine);
+ TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
+ TitanTransaction g = graph.newTransaction();
+ GraphTraversalSource traversal = g.traversal();
+ when(spy.tx()).thenReturn(g);
+ when(spy.asAdmin()).thenReturn(adminSpy);
+ when(adminSpy.getTraversalSource()).thenReturn(traversal);
+ when(spy.tx()).thenReturn(g);
+ when(parser.isDependent()).thenReturn(false);
+ when(self.<String>property(AAIProperties.AAI_URI)).thenReturn(prop);
+ when(prop.orElse(null)).thenReturn(obj.getURI());
+ DBSerializer serializer = new DBSerializer(version, spy, introspectorFactoryType, "AAI_TEST");
+ Vertex v = serializer.createNewVertex(obj);
+ serializer.serializeToDb(obj, v, parser, obj.getURI(), "testing");
+ Vertex routeTargetOneV = traversal.V().has("global-route-target", "getTargetKeyNoLink").next();
+ Vertex routeTargetTwoV = traversal.V().has("global-route-target", "getTargetKeyNoLink2").next();
+
+ assertEquals("first route target put has linked", true, routeTargetOneV.property(AAIProperties.LINKED).orElse(false));
+ assertEquals("second route target put does not have linked", false, routeTargetTwoV.property(AAIProperties.LINKED).orElse(false));
+
+ g.rollback();
+
+ }
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/parsers/query/GraphTraversalTest.java b/aai-core/src/test/java/org/openecomp/aai/parsers/query/GraphTraversalTest.java
new file mode 100644
index 00000000..2f0d67df
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/parsers/query/GraphTraversalTest.java
@@ -0,0 +1,704 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.parsers.query;
+
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.Matchers.hasProperty;
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertEquals;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.ws.rs.core.MultivaluedHashMap;
+import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.UriBuilder;
+
+import org.apache.tinkerpop.gremlin.process.traversal.P;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+
+import org.openecomp.aai.db.props.AAIProperties;
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.introspection.LoaderFactory;
+import org.openecomp.aai.introspection.ModelType;
+import org.openecomp.aai.introspection.Version;
+import org.openecomp.aai.serialization.engines.QueryStyle;
+import org.openecomp.aai.serialization.engines.TitanDBEngine;
+import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
+import org.openecomp.aai.serialization.queryformats.QueryFormatTestHelper;
+import org.openecomp.aai.util.AAIConstants;
+
+
+public class GraphTraversalTest {
+
+ private static TransactionalGraphEngine dbEngine;
+
+ private static TransactionalGraphEngine dbEnginev9;
+
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+
+ /**
+ * Configure.
+ * @throws Exception
+ * @throws SecurityException
+ * @throws NoSuchFieldException
+ */
+ @BeforeClass
+ public static void configure() throws NoSuchFieldException, SecurityException, Exception {
+ System.setProperty("AJSC_HOME", "./src/test/resources/");
+ System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+ QueryFormatTestHelper.setFinalStatic(AAIConstants.class.getField("AAI_HOME_ETC_OXM"), "src/test/resources/org/openecomp/aai/introspection/");
+ dbEngine =
+ new TitanDBEngine(QueryStyle.TRAVERSAL,
+ LoaderFactory.createLoaderForVersion(ModelType.MOXY, AAIProperties.LATEST),
+ false);
+
+ dbEnginev9 =
+ new TitanDBEngine(QueryStyle.TRAVERSAL,
+ LoaderFactory.createLoaderForVersion(ModelType.MOXY, Version.v9),
+ false);
+ }
+
+ /**
+ * Parent query.
+ *
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void parentQuery() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("cloud-infrastructure/complexes/complex/key1").build();
+
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri);
+
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start().has("physical-location-id", "key1").has("aai-node-type", "complex");
+ assertEquals(
+ "gremlin query should be " + expected.toString(),
+ expected.toString(),
+ query.getQueryBuilder().getQuery().toString());
+ assertEquals(
+ "parent gremlin query should be equal to normal query",
+ expected.toString(),
+ query.getQueryBuilder().getParentQuery().getQuery().toString());
+ assertEquals(
+ "result type should be complex",
+ "complex",
+ query.getResultType());
+ assertEquals(
+ "result type should be empty",
+ "",
+ query.getParentResultType());
+ assertEquals("dependent",false, query.isDependent());
+
+
+ }
+
+ /**
+ * Child query.
+ *
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void childQuery() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("cloud-infrastructure/complexes/complex/key1/ctag-pools/ctag-pool/key2/key3").build();
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri);
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+ .has("physical-location-id", "key1").has("aai-node-type", "complex")
+ .out("hasCtagPool")
+ .has("aai-node-type", "ctag-pool")
+ .has("target-pe", "key2").has("availability-zone-name", "key3");
+ GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
+ .has("physical-location-id", "key1").has("aai-node-type", "complex");
+ assertEquals(
+ "gremlin query should be " + expected.toString(),
+ expected.toString(),
+ query.getQueryBuilder().getQuery().toString());
+ assertEquals(
+ "parent gremlin query should be equal the query for complex",
+ expectedParent.toString(),
+ query.getQueryBuilder().getParentQuery().getQuery().toString());
+ assertEquals(
+ "result type should be complex",
+ "complex",
+ query.getParentResultType());
+ assertEquals(
+ "result type should be ctag-pool",
+ "ctag-pool",
+ query.getResultType());
+ assertEquals("dependent",true, query.isDependent());
+
+
+ }
+
+ /**
+ * Naming exceptions.
+ *
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void namingExceptions() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("network/vces/vce/key1/port-groups/port-group/key2/cvlan-tags/cvlan-tag/655").build();
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri);
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+ .has("vnf-id", "key1").has("aai-node-type", "vce")
+ .out("hasPortGroup")
+ .has("aai-node-type", "port-group")
+ .has("interface-id", "key2").out("hasCTag")
+ .has("aai-node-type", "cvlan-tag")
+ .has("cvlan-tag", 655);
+ GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
+ .has("vnf-id", "key1").has("aai-node-type", "vce")
+ .out("hasPortGroup")
+ .has("aai-node-type", "port-group")
+ .has("interface-id", "key2");
+ assertEquals(
+ "gremlin query should be " + expected.toString(),
+ expected.toString(),
+ query.getQueryBuilder().getQuery().toString());
+ assertEquals(
+ "parent gremlin query should be equal the query for port group",
+ expectedParent.toString(),
+ query.getQueryBuilder().getParentQuery().getQuery().toString());
+ assertEquals(
+ "result type should be cvlan-tag",
+ "cvlan-tag",
+ query.getResultType());
+ assertEquals(
+ "result type should be port-group",
+ "port-group",
+ query.getParentResultType());
+ assertEquals(
+ "contaner type should be empty",
+ "",
+ query.getContainerType());
+ assertEquals("dependent",true, query.isDependent());
+
+
+ }
+
+ /**
+ * Gets the all.
+ *
+ * @return the all
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void getAll() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("network/vces/vce/key1/port-groups/port-group/key2/cvlan-tags").build();
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri);
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+ .has("vnf-id", "key1").has("aai-node-type", "vce")
+ .out("hasPortGroup")
+ .has("aai-node-type", "port-group")
+ .has("interface-id", "key2").out("hasCTag")
+ .has("aai-node-type", "cvlan-tag");
+ GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
+ .has("vnf-id", "key1").has("aai-node-type", "vce")
+ .out("hasPortGroup")
+ .has("aai-node-type", "port-group")
+ .has("interface-id", "key2");
+ assertEquals(
+ "gremlin query should be " + expected.toString(),
+ expected.toString(),
+ query.getQueryBuilder().getQuery().toString());
+ assertEquals(
+ "parent gremlin query should be equal the query for port group",
+ expectedParent.toString(),
+ query.getQueryBuilder().getParentQuery().getQuery().toString());
+ assertEquals(
+ "result type should be port-group",
+ "port-group",
+ query.getParentResultType());
+ assertEquals(
+ "result type should be cvlan-tag",
+ "cvlan-tag",
+ query.getResultType());
+ assertEquals(
+ "container type should be cvlan-tags",
+ "cvlan-tags",
+ query.getContainerType());
+ assertEquals("dependent",true, query.isDependent());
+
+
+ }
+
+ @Test
+ public void getAllParent() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("cloud-infrastructure/pservers").build();
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri);
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+ .has("aai-node-type", "pserver");
+ GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
+ .has("aai-node-type", "pserver");
+ assertEquals(
+ "gremlin query should be " + expected.toString(),
+ expected.toString(),
+ query.getQueryBuilder().getQuery().toString());
+ assertEquals(
+ "parent gremlin query should be equal the query for pserver",
+ expectedParent.toString(),
+ query.getQueryBuilder().getParentQuery().getQuery().toString());
+ assertEquals(
+ "parent result type should be empty",
+ "",
+ query.getParentResultType());
+ assertEquals(
+ "result type should be pserver",
+ "pserver",
+ query.getResultType());
+ assertEquals(
+ "container type should be pservers",
+ "pservers",
+ query.getContainerType());
+ assertEquals("dependent",false, query.isDependent());
+
+
+ }
+
+
+ /**
+ * Gets the via query param.
+ *
+ * @return the via query param
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void getViaQueryParam() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("cloud-infrastructure/cloud-regions/cloud-region/mycloudowner/mycloudregionid/tenants/tenant").build();
+ MultivaluedMap<String, String> map = new MultivaluedHashMap<>();
+ map.putSingle("tenant-name", "Tenant1");
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri, map);
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+ .has("cloud-owner", "mycloudowner").has("cloud-region-id", "mycloudregionid")
+ .has("aai-node-type", "cloud-region")
+ .out("has")
+ .has("aai-node-type", "tenant")
+ .has("tenant-name", "Tenant1");
+
+ GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
+ .has("cloud-owner", "mycloudowner").has("cloud-region-id", "mycloudregionid")
+ .has("aai-node-type", "cloud-region");
+
+ assertEquals(
+ "gremlin query should be " + expected.toString(),
+ expected.toString(),
+ query.getQueryBuilder().getQuery().toString());
+ assertEquals(
+ "parent gremlin query should be equal the query for cloud-region",
+ expectedParent.toString(),
+ query.getQueryBuilder().getParentQuery().getQuery().toString());
+ assertEquals(
+ "result type should be cloud-region",
+ "cloud-region",
+ query.getParentResultType());
+ assertEquals(
+ "result type should be tenant",
+ "tenant",
+ query.getResultType());
+ assertEquals(
+ "container type should be empty",
+ "",
+ query.getContainerType());
+ assertEquals("dependent",true, query.isDependent());
+
+ }
+
+ @Test
+ public void getViaDuplicateQueryParam() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("cloud-infrastructure/cloud-regions/cloud-region/mycloudowner/mycloudregionid/tenants/tenant").build();
+ MultivaluedMap<String, String> map = new MultivaluedHashMap<>();
+ List<String> values = new ArrayList<>();
+ values.add("Tenant1");
+ values.add("Tenant2");
+ map.put("tenant-name", values);
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri, map);
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+ .has("cloud-owner", "mycloudowner").has("cloud-region-id", "mycloudregionid")
+ .has("aai-node-type", "cloud-region")
+ .out("has")
+ .has("aai-node-type", "tenant")
+ .has("tenant-name", P.within(values));
+
+ GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
+ .has("cloud-owner", "mycloudowner").has("cloud-region-id", "mycloudregionid")
+ .has("aai-node-type", "cloud-region");
+
+ assertEquals(
+ "gremlin query should be " + expected.toString(),
+ expected.toString(),
+ query.getQueryBuilder().getQuery().toString());
+ assertEquals(
+ "parent gremlin query should be equal the query for cloud-region",
+ expectedParent.toString(),
+ query.getQueryBuilder().getParentQuery().getQuery().toString());
+ assertEquals(
+ "result type should be cloud-region",
+ "cloud-region",
+ query.getParentResultType());
+ assertEquals(
+ "result type should be tenant",
+ "tenant",
+ query.getResultType());
+ assertEquals(
+ "container type should be empty",
+ "",
+ query.getContainerType());
+ assertEquals("dependent",true, query.isDependent());
+
+ }
+
+ /**
+ * Gets the plural via query param.
+ *
+ * @return the plural via query param
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void getPluralViaQueryParam() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("network/vnfcs").build();
+ MultivaluedMap<String, String> map = new MultivaluedHashMap<>();
+ map.putSingle("prov-status", "up");
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri, map);
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+ .has("aai-node-type", "vnfc")
+ .has("prov-status", "up");
+
+ GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
+ .has("aai-node-type", "vnfc");
+
+ assertEquals(
+ "gremlin query should be " + expected.toString(),
+ expected.toString(),
+ query.getQueryBuilder().getQuery().toString());
+ assertEquals(
+ "parent",
+ expectedParent.toString(),
+ query.getQueryBuilder().getParentQuery().getQuery().toString());
+ assertEquals(
+ "parent result type should be empty",
+ "",
+ query.getParentResultType());
+ assertEquals(
+ "result type should be vnfc",
+ "vnfc",
+ query.getResultType());
+ assertEquals(
+ "container type should be empty",
+ "vnfcs",
+ query.getContainerType());
+ assertEquals("dependent",true, query.isDependent());
+
+ }
+
+ /**
+ * Gets the all query param naming exception.
+ *
+ * @return the all query param naming exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void getAllQueryParamNamingException() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("network/vces/vce/key1/port-groups/port-group/key2/cvlan-tags").build();
+ MultivaluedMap<String, String> map = new MultivaluedHashMap<>();
+ map.putSingle("cvlan-tag", "333");
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri, map);
+
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+ .has("vnf-id", "key1").has("aai-node-type", "vce")
+ .out("hasPortGroup")
+ .has("aai-node-type", "port-group")
+ .has("interface-id", "key2").out("hasCTag")
+ .has("aai-node-type", "cvlan-tag")
+ .has("cvlan-tag", 333);
+ GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
+ .has("vnf-id", "key1").has("aai-node-type", "vce")
+ .out("hasPortGroup")
+ .has("aai-node-type", "port-group")
+ .has("interface-id", "key2");
+ assertEquals(
+ "gremlin query should be " + expected.toString(),
+ expected.toString(),
+ query.getQueryBuilder().getQuery().toString());
+ assertEquals(
+ "parent gremlin query should be equal the query for port group",
+ expectedParent.toString(),
+ query.getQueryBuilder().getParentQuery().getQuery().toString());
+ assertEquals(
+ "result type should be port-group",
+ "port-group",
+ query.getParentResultType());
+ assertEquals(
+ "result type should be cvlan-tag",
+ "cvlan-tag",
+ query.getResultType());
+ assertEquals(
+ "container type should be cvlan-tags",
+ "cvlan-tags",
+ query.getContainerType());
+ assertEquals("dependent",true, query.isDependent());
+
+
+ }
+
+ /**
+ * Abstract type.
+ *
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void abstractType() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("vnf/key1").build();
+
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri);
+
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+ .has("vnf-id", "key1").or(
+ __.has(AAIProperties.NODE_TYPE, "vce"),
+ __.has(AAIProperties.NODE_TYPE, "vpe"),
+ __.has(AAIProperties.NODE_TYPE, "generic-vnf"));
+
+ GraphTraversal<Vertex, Vertex> expectedParent = expected;
+ assertEquals(
+ "gremlin query should be " + expected.toString(),
+ expected.toString(),
+ query.getQueryBuilder().getQuery().toString());
+ assertEquals(
+ "parent gremlin query should be equal the query for port group",
+ expectedParent.toString(),
+ query.getQueryBuilder().getParentQuery().getQuery().toString());
+ assertEquals(
+ "result type should be empty",
+ "",
+ query.getParentResultType());
+ assertEquals(
+ "result type should be vnf",
+ "vnf",
+ query.getResultType());
+
+ assertEquals("dependent",false, query.isDependent());
+
+
+ }
+
+ /**
+ * Non parent abstract type.
+ *
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void nonParentAbstractType() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("cloud-infrastructure/pservers/pserver/key2/vnf/key1").build();
+ thrown.expect(AAIException.class);
+ thrown.expectMessage(containsString("not a valid path"));
+ dbEngine.getQueryBuilder().createQueryFromURI(uri);
+ }
+
+ @Test
+ public void parentAbstractTypeWithNesting() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("vnf/key1/vf-modules/vf-module/key2").build();
+
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri);
+
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+ .has("vnf-id", "key1").or(
+ __.has(AAIProperties.NODE_TYPE, "vce"),
+ __.has(AAIProperties.NODE_TYPE, "vpe"),
+ __.has(AAIProperties.NODE_TYPE, "generic-vnf"))
+ .filter(x -> true).outE().has("isParent", true).inV().has("vf-module-id", "key2");
+
+ GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
+ .has("vnf-id", "key1").or(
+ __.has(AAIProperties.NODE_TYPE, "vce"),
+ __.has(AAIProperties.NODE_TYPE, "vpe"),
+ __.has(AAIProperties.NODE_TYPE, "generic-vnf"));
+ assertEquals(
+ "gremlin query should be " + expected.toString(),
+ expected.toString(),
+ query.getQueryBuilder().getQuery().toString());
+ assertEquals(
+ "parent gremlin query should be equal the query for ",
+ expectedParent.toString(),
+ query.getQueryBuilder().getParentQuery().getQuery().toString());
+ assertEquals(
+ "result type should be vnf",
+ "vnf",
+ query.getParentResultType());
+ assertEquals(
+ "result type should be vf-module",
+ "vf-module",
+ query.getResultType());
+
+ assertEquals("dependent",true, query.isDependent());
+
+ }
+
+ @Test
+ public void getViaBadQueryParam() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("cloud-infrastructure/cloud-regions/cloud-region/a/b/tenants/tenant").build();
+ MultivaluedMap<String, String> map = new MultivaluedHashMap<>();
+ map.putSingle("tenant-n231ame", "Tenant1");
+ thrown.expect(AAIException.class);
+ thrown.expect(hasProperty("code", is("AAI_3000")));
+
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri, map);
+
+ }
+
+ @Test
+ public void getPluralViaBadQueryParam() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("cloud-infrastructure/cloud-regions/cloud-region/a/b/tenants").build();
+ MultivaluedMap<String, String> map = new MultivaluedHashMap<>();
+ map.putSingle("tenant-n231ame", "Tenant1");
+ thrown.expect(AAIException.class);
+ thrown.expect(hasProperty("code", is("AAI_3000")));
+
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri, map);
+
+ }
+
+ @Test
+ public void getPluralViaDuplicateQueryParam() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("network/vnfcs").build();
+ MultivaluedMap<String, String> map = new MultivaluedHashMap<>();
+ List<String> values = new ArrayList<>();
+ values.add("up");
+ values.add("down");
+ values.add("left");
+ values.add("right");
+ values.add("start");
+ map.put("prov-status", values);
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri, map);
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+ .has("aai-node-type", "vnfc")
+ .has("prov-status", P.within(values));
+
+ GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
+ .has("aai-node-type", "vnfc");
+
+ assertEquals(
+ "gremlin query should be " + expected.toString(),
+ expected.toString(),
+ query.getQueryBuilder().getQuery().toString());
+ assertEquals(
+ "parent",
+ expectedParent.toString(),
+ query.getQueryBuilder().getParentQuery().getQuery().toString());
+ assertEquals(
+ "parent result type should be empty",
+ "",
+ query.getParentResultType());
+ assertEquals(
+ "result type should be vnfc",
+ "vnfc",
+ query.getResultType());
+ assertEquals(
+ "container type should be empty",
+ "vnfcs",
+ query.getContainerType());
+ assertEquals("dependent",true, query.isDependent());
+
+ }
+
+ @Test
+ public void dbAliasedSearch() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("network/test-objects").build();
+ MultivaluedMap<String, String> map = new MultivaluedHashMap<>();
+ map.putSingle("persona-model-customization-id", "key2");
+ QueryParser query = dbEnginev9.getQueryBuilder().createQueryFromURI(uri, map);
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+ .has("aai-node-type", "test-object")
+ .has("model-customization-id", "key2");
+ GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
+ .has("aai-node-type", "test-object");
+
+ assertEquals(
+ "gremlin query should be " + expected.toString(),
+ expected.toString(),
+ query.getQueryBuilder().getQuery().toString());
+ assertEquals(
+ "parent",
+ expectedParent.toString(),
+ query.getQueryBuilder().getParentQuery().getQuery().toString());
+
+ assertEquals(
+ "result type should be",
+ "test-object",
+ query.getResultType());
+ assertEquals(
+ "result type should be empty",
+ "",
+ query.getParentResultType());
+ assertEquals("dependent",true, query.isDependent());
+
+
+ }
+
+ @Test
+ public void dataLinkedSearch() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("network/vpn-bindings").build();
+ MultivaluedMap<String, String> map = new MultivaluedHashMap<>();
+ map.putSingle("global-route-target", "key2");
+ QueryParser query = dbEnginev9.getQueryBuilder().createQueryFromURI(uri, map);
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+ .has("aai-node-type", "vpn-binding")
+ .where(__.out("has").has(AAIProperties.NODE_TYPE, "route-target").has("global-route-target", "key2"));
+ GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
+ .has("aai-node-type", "vpn-binding");
+
+ assertEquals(
+ "gremlin query should be " + expected.toString(),
+ expected.toString(),
+ query.getQueryBuilder().getQuery().toString());
+ assertEquals(
+ "parent",
+ expectedParent.toString(),
+ query.getQueryBuilder().getParentQuery().getQuery().toString());
+
+ assertEquals(
+ "result type should be",
+ "vpn-binding",
+ query.getResultType());
+ assertEquals(
+ "result type should be empty",
+ "",
+ query.getParentResultType());
+ assertEquals("dependent",true, query.isDependent());
+
+
+ }
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/parsers/query/LegacyQueryTest.java b/aai-core/src/test/java/org/openecomp/aai/parsers/query/LegacyQueryTest.java
new file mode 100644
index 00000000..4302de61
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/parsers/query/LegacyQueryTest.java
@@ -0,0 +1,162 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.parsers.query;
+
+import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContext;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.introspection.LoaderFactory;
+import org.openecomp.aai.introspection.ModelInjestor;
+import org.openecomp.aai.introspection.ModelType;
+import org.openecomp.aai.introspection.Version;
+import org.openecomp.aai.serialization.engines.QueryStyle;
+import org.openecomp.aai.serialization.engines.TitanDBEngine;
+import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
+
+import javax.ws.rs.core.UriBuilder;
+import javax.xml.bind.JAXBException;
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+
+import static org.junit.Assert.assertEquals;
+
+
+public class LegacyQueryTest {
+ private ModelInjestor injestor = ModelInjestor.getInstance();
+ private TransactionalGraphEngine dbEngine =
+ new TitanDBEngine(QueryStyle.GREMLIN_TRAVERSAL,
+ LoaderFactory.createLoaderForVersion(ModelType.MOXY, Version.v8),
+ false);
+ private final Version version = Version.v8;
+ private DynamicJAXBContext context = injestor.getContextForVersion(version);
+
+
+ /**
+ * Configure.
+ */
+ @BeforeClass
+ public static void configure() {
+ System.setProperty("AJSC_HOME", "./src/test/resources/");
+ System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+ }
+
+ /**
+ * Parent query.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void parentQuery() throws JAXBException, UnsupportedEncodingException, AAIException {
+
+ URI uri = UriBuilder.fromPath("cloud-infrastructure/pservers/pserver/key1").build();
+
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri);
+
+ String expected =
+ ".has('hostname', 'key1').has('aai-node-type', 'pserver')";
+ assertEquals(
+ "gremlin query should be " + expected,
+ expected,
+ query.getQueryBuilder().getQuery());
+ assertEquals(
+ "parent gremlin query should be equal to normal query",
+ expected,
+ query.getQueryBuilder().getParentQuery().getQuery());
+ assertEquals(
+ "result type should be pserver",
+ "pserver",
+ query.getResultType());
+
+ }
+
+ /**
+ * Child query.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void childQuery() throws JAXBException, UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("cloud-infrastructure/pservers/pserver/key1/lag-interfaces/lag-interface/key2").build();
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri);
+
+ String expected =
+ ".has('hostname', 'key1').has('aai-node-type', 'pserver')"
+ + ".in('tosca.relationships.BindsTo').has('aai-node-type', 'lag-interface')"
+ + ".has('interface-name', 'key2')";
+ String parentExpected =
+ ".has('hostname', 'key1').has('aai-node-type', 'pserver')";
+ assertEquals(
+ "gremlin query should be for node",
+ expected,
+ query.getQueryBuilder().getQuery());
+ assertEquals(
+ "parent gremlin query should be for parent",
+ parentExpected,
+ query.getQueryBuilder().getParentQuery().getQuery());
+ assertEquals(
+ "result type should be lag-interface",
+ "lag-interface",
+ query.getResultType());
+ }
+
+ /**
+ * Naming exceptions.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void namingExceptions() throws JAXBException, UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("network/vces/vce/key1/port-groups/port-group/key2/cvlan-tags/cvlan-tag/655").build();
+
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri);
+ String expected =
+ ".has('vnf-id', 'key1').has('aai-node-type', 'vce')"
+ + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'port-group')"
+ + ".has('interface-id', 'key2')"
+ + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'cvlan-tag')"
+ + ".has('cvlan-tag', 655)";
+ String expectedParent =
+ ".has('vnf-id', 'key1').has('aai-node-type', 'vce')"
+ + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'port-group')"
+ + ".has('interface-id', 'key2')";
+ assertEquals(
+ "gremlin query should be " + expected,
+ expected,
+ query.getQueryBuilder().getQuery());
+ assertEquals(
+ "parent gremlin query should be equal the query for port group",
+ expectedParent,
+ query.getQueryBuilder().getParentQuery().getQuery());
+ assertEquals(
+ "result type should be cvlan-tag",
+ "cvlan-tag",
+ query.getResultType());
+
+ }
+
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/parsers/query/RelationshipGremlinQueryTest.java b/aai-core/src/test/java/org/openecomp/aai/parsers/query/RelationshipGremlinQueryTest.java
new file mode 100644
index 00000000..eef3529c
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/parsers/query/RelationshipGremlinQueryTest.java
@@ -0,0 +1,677 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.parsers.query;
+
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.junit.Assert.assertEquals;
+
+import java.io.StringReader;
+import java.io.UnsupportedEncodingException;
+
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.transform.stream.StreamSource;
+
+import org.eclipse.persistence.dynamic.DynamicEntity;
+import org.eclipse.persistence.jaxb.UnmarshallerProperties;
+import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContext;
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.introspection.Introspector;
+import org.openecomp.aai.introspection.IntrospectorFactory;
+import org.openecomp.aai.introspection.LoaderFactory;
+import org.openecomp.aai.introspection.ModelInjestor;
+import org.openecomp.aai.introspection.ModelType;
+import org.openecomp.aai.introspection.Version;
+import org.openecomp.aai.serialization.engines.QueryStyle;
+import org.openecomp.aai.serialization.engines.TitanDBEngine;
+import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
+
+public class RelationshipGremlinQueryTest {
+
+ private ModelInjestor injestor = ModelInjestor.getInstance();
+ private TransactionalGraphEngine dbEngine =
+ new TitanDBEngine(QueryStyle.GREMLIN_TRAVERSAL,
+ LoaderFactory.createLoaderForVersion(ModelType.MOXY, Version.v8),
+ false);
+ private final Version version = Version.v8;
+ private DynamicJAXBContext context = injestor.getContextForVersion(version);
+
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+
+ /**
+ * Configure.
+ */
+ @BeforeClass
+ public static void configure() {
+ System.setProperty("AJSC_HOME", "./src/test/resources/");
+ System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+ }
+
+
+ /**
+ * Parent query.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void parentQuery() throws JAXBException, UnsupportedEncodingException, AAIException {
+
+ String content =
+ "{"
+ + "\"related-to\" : \"pserver\","
+ + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"pserver.hostname\","
+ + "\"relationship-value\" : \"key1\""
+ + "}]"
+ + "}";
+
+ Unmarshaller unmarshaller = context.createUnmarshaller();
+ unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, "application/json");
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_INCLUDE_ROOT, false);
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
+ Object obj = context.newDynamicEntity("Relationship");
+
+ DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+
+ Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
+
+ String expected =
+ ".has('hostname', 'key1').has('aai-node-type', 'pserver')";
+ assertEquals(
+ "gremlin query should be " + expected,
+ expected,
+ query.getQueryBuilder().getQuery());
+ assertEquals(
+ "parent gremlin query should be equal to normal query",
+ expected,
+ query.getQueryBuilder().getParentQuery().getQuery());
+ assertEquals(
+ "result type should be pserver",
+ "pserver",
+ query.getResultType());
+
+ }
+
+ /**
+ * Child query.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void childQuery() throws JAXBException, UnsupportedEncodingException, AAIException {
+ String content =
+ "{"
+ + "\"related-to\" : \"lag-interface\","
+ + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"pserver.hostname\","
+ + "\"relationship-value\" : \"key1\""
+ + "}, {"
+ + "\"relationship-key\" : \"lag-interface.interface-name\","
+ + "\"relationship-value\" : \"key2\""
+ + "}]"
+ + "}";
+
+ Unmarshaller unmarshaller = context.createUnmarshaller();
+ unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, "application/json");
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_INCLUDE_ROOT, false);
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
+ Object obj = context.newDynamicEntity("Relationship");
+
+ DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+
+ Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
+
+ String expected = ".has('hostname', 'key1').has('aai-node-type', 'pserver').in('tosca.relationships.BindsTo').has('aai-node-type', 'lag-interface')"
+ + ".has('interface-name', 'key2')";
+ String parentExpected =
+ ".has('hostname', 'key1').has('aai-node-type', 'pserver')";
+ assertEquals(
+ "gremlin query should be for node",
+ expected,
+ query.getQueryBuilder().getQuery());
+ assertEquals(
+ "parent gremlin query should be for parent",
+ parentExpected,
+ query.getQueryBuilder().getParentQuery().getQuery());
+ assertEquals(
+ "result type should be lag-interface",
+ "lag-interface",
+ query.getResultType());
+ }
+
+ /**
+ * Naming exceptions.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void namingExceptions() throws JAXBException, UnsupportedEncodingException, AAIException {
+ String content =
+ "{"
+ + "\"related-to\" : \"cvlan-tag\","
+ + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"vce.vnf-id\","
+ + "\"relationship-value\" : \"key1\""
+ + "}, {"
+ + "\"relationship-key\" : \"port-group.interface-id\","
+ + "\"relationship-value\" : \"key2\""
+ + "},{"
+ + "\"relationship-key\" : \"cvlan-tag.cvlan-tag\","
+ + "\"relationship-value\" : \"655\""
+ + "}]"
+ + "}";
+
+ Unmarshaller unmarshaller = context.createUnmarshaller();
+ unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, "application/json");
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_INCLUDE_ROOT, false);
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
+ Object obj = context.newDynamicEntity("Relationship");
+
+ DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+
+ Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
+ String expected =
+ ".has('vnf-id', 'key1').has('aai-node-type', 'vce')"
+ + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'port-group')"
+ + ".has('interface-id', 'key2').in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'cvlan-tag')"
+ + ".has('cvlan-tag', 655)";
+ String expectedParent =
+ ".has('vnf-id', 'key1').has('aai-node-type', 'vce')"
+ + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'port-group')"
+ + ".has('interface-id', 'key2')";
+ assertEquals(
+ "gremlin query should be " + expected,
+ expected,
+ query.getQueryBuilder().getQuery());
+ assertEquals(
+ "parent gremlin query should be equal the query for port group",
+ expectedParent,
+ query.getQueryBuilder().getParentQuery().getQuery());
+ assertEquals(
+ "result type should be cvlan-tag",
+ "cvlan-tag",
+ query.getResultType());
+
+ }
+
+ /**
+ * Scrambled relationship.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void scrambledRelationship() throws JAXBException, UnsupportedEncodingException, AAIException {
+ String content =
+ "{"
+ + "\"related-to\" : \"l3-interface-ipv4-address-list\","
+ + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"l3-interface-ipv4-address-list.l3-interface-ipv4-address\","
+ + "\"relationship-value\" : \"key5\""
+ + "},{"
+ + "\"relationship-key\" : \"lag-interface.interface-name\","
+ + "\"relationship-value\" : \"key2\""
+ + "},{"
+ + "\"relationship-key\" : \"l-interface.interface-name\","
+ + "\"relationship-value\" : \"key3\""
+ + "},{"
+ + "\"relationship-key\" : \"vlan.vlan-interface\","
+ + "\"relationship-value\" : \"key4\""
+ + "},{"
+ + "\"relationship-key\" : \"generic-vnf.vnf-id\","
+ + "\"relationship-value\" : \"key1\""
+ + "}]"
+ + "}";
+ scrambledRelationshipSpec(content);
+ }
+
+ /**
+ * Reversed relationship.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void reversedRelationship() throws JAXBException, UnsupportedEncodingException, AAIException {
+ String content =
+ "{"
+ + "\"related-to\" : \"l3-interface-ipv4-address-list\","
+ + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"l3-interface-ipv4-address-list.l3-interface-ipv4-address\","
+ + "\"relationship-value\" : \"key5\""
+ + "},{"
+ + "\"relationship-key\" : \"vlan.vlan-interface\","
+ + "\"relationship-value\" : \"key4\""
+ + "},{"
+ + "\"relationship-key\" : \"l-interface.interface-name\","
+ + "\"relationship-value\" : \"key3\""
+ + "},{"
+ + "\"relationship-key\" : \"lag-interface.interface-name\","
+ + "\"relationship-value\" : \"key2\""
+ + "},{"
+ + "\"relationship-key\" : \"generic-vnf.vnf-id\","
+ + "\"relationship-value\" : \"key1\""
+ + "}]"
+ + "}";
+ scrambledRelationshipSpec(content);
+ }
+
+ /**
+ * Ordered ambiguous relationship.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void orderedAmbiguousRelationship() throws JAXBException, UnsupportedEncodingException, AAIException {
+ String content =
+ "{"
+ + "\"related-to\" : \"l3-interface-ipv4-address-list\","
+ + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"generic-vnf.vnf-id\","
+ + "\"relationship-value\" : \"key1\""
+ + "},{"
+ + "\"relationship-key\" : \"lag-interface.interface-name\","
+ + "\"relationship-value\" : \"key2\""
+ + "},{"
+ + "\"relationship-key\" : \"l-interface.interface-name\","
+ + "\"relationship-value\" : \"key3\""
+ + "},{"
+ + "\"relationship-key\" : \"vlan.vlan-interface\","
+ + "\"relationship-value\" : \"key4\""
+ + "},{"
+ + "\"relationship-key\" : \"l3-interface-ipv4-address-list.l3-interface-ipv4-address\","
+ + "\"relationship-value\" : \"key5\""
+ + "}]"
+ + "}";
+ scrambledRelationshipSpec(content);
+ }
+
+ /**
+ * Scrambled relationship spec.
+ *
+ * @param content the content
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ public void scrambledRelationshipSpec(String content) throws JAXBException, UnsupportedEncodingException, AAIException {
+
+
+ Unmarshaller unmarshaller = context.createUnmarshaller();
+ unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, "application/json");
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_INCLUDE_ROOT, false);
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
+ Object obj = context.newDynamicEntity("Relationship");
+
+ DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+
+ Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
+ String expected =
+ ".has('vnf-id', 'key1').has('aai-node-type', 'generic-vnf')"
+ + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'lag-interface')"
+ + ".has('interface-name', 'key2').in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'l-interface')"
+ + ".has('interface-name', 'key3').out('tosca.relationships.LinksTo').has('aai-node-type', 'vlan')"
+ + ".has('vlan-interface', 'key4').in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'l3-interface-ipv4-address-list')"
+ + ".has('l3-interface-ipv4-address', 'key5')";
+ String expectedParent =
+ ".has('vnf-id', 'key1').has('aai-node-type', 'generic-vnf')"
+ + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'lag-interface')"
+ + ".has('interface-name', 'key2').in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'l-interface')"
+ + ".has('interface-name', 'key3').out('tosca.relationships.LinksTo').has('aai-node-type', 'vlan')"
+ + ".has('vlan-interface', 'key4')";
+ assertEquals(
+ "gremlin query should be " + expected,
+ expected,
+ query.getQueryBuilder().getQuery());
+ assertEquals(
+ "parent gremlin query should be equal the query for vlan",
+ expectedParent,
+ query.getQueryBuilder().getParentQuery().getQuery());
+ assertEquals(
+ "result type should be l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address-list",
+ query.getResultType());
+
+ }
+
+ /**
+ * Short circuit.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void shortCircuit() throws JAXBException, UnsupportedEncodingException, AAIException {
+ String content =
+ "{"
+ + "\"related-to\" : \"cvlan-tag\","
+ + "\"related-link\" : \"http://mock-system-name.com:8443/aai/v6/network/vces/vce/key1/port-groups/port-group/key2/cvlan-tags/cvlan-tag/655\","
+ + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"vce.vnf-id\","
+ + "\"relationship-value\" : \"key1\""
+ + "}, {"
+ + "\"relationship-key\" : \"port-group.interface-id\","
+ + "\"relationship-value\" : \"key2\""
+ + "},{"
+ + "\"relationship-key\" : \"cvlan-tag.cvlan-tag\","
+ + "\"relationship-value\" : \"655\""
+ + "}]"
+ + "}";
+
+ Unmarshaller unmarshaller = context.createUnmarshaller();
+ unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, "application/json");
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_INCLUDE_ROOT, false);
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
+ Object obj = context.newDynamicEntity("Relationship");
+
+ DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+
+ Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
+ String expected =
+ ".has('vnf-id', 'key1').has('aai-node-type', 'vce')"
+ + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'port-group')"
+ + ".has('interface-id', 'key2').in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'cvlan-tag')"
+ + ".has('cvlan-tag', 655)";
+ String expectedParent =
+ ".has('vnf-id', 'key1').has('aai-node-type', 'vce')"
+ + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'port-group')"
+ + ".has('interface-id', 'key2')";
+ assertEquals(
+ "gremlin query should be " + expected,
+ expected,
+ query.getQueryBuilder().getQuery());
+ assertEquals(
+ "parent gremlin query should be equal the query for port group",
+ expectedParent,
+ query.getQueryBuilder().getParentQuery().getQuery());
+ assertEquals(
+ "result type should be cvlan-tag",
+ "cvlan-tag",
+ query.getResultType());
+
+ }
+
+ @Test
+ public void shorterCircuit() throws JAXBException, UnsupportedEncodingException, AAIException {
+ String content =
+ "{"
+ + "\"related-to\" : \"cvlan-tag\","
+ + "\"related-link\" : \"file:///network/vces/vce/key1/port-groups/port-group/key2/cvlan-tags/cvlan-tag/655\""
+ + "}";
+
+ Unmarshaller unmarshaller = context.createUnmarshaller();
+ unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, "application/json");
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_INCLUDE_ROOT, false);
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
+ Object obj = context.newDynamicEntity("Relationship");
+
+ DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+
+ Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
+ String expected =
+ ".has('vnf-id', 'key1').has('aai-node-type', 'vce')"
+ + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'port-group')"
+ + ".has('interface-id', 'key2').in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'cvlan-tag')"
+ + ".has('cvlan-tag', 655)";
+ String expectedParent =
+ ".has('vnf-id', 'key1').has('aai-node-type', 'vce')"
+ + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'port-group')"
+ + ".has('interface-id', 'key2')";
+ assertEquals(
+ "gremlin query should be " + expected,
+ expected,
+ query.getQueryBuilder().getQuery());
+ assertEquals(
+ "parent gremlin query should be equal the query for port group",
+ expectedParent,
+ query.getQueryBuilder().getParentQuery().getQuery());
+ assertEquals(
+ "result type should be cvlan-tag",
+ "cvlan-tag",
+ query.getResultType());
+
+ }
+
+ /**
+ * Double key.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void doubleKey() throws JAXBException, UnsupportedEncodingException, AAIException {
+ String content =
+ "{"
+ + "\"related-to\" : \"ctag-pool\","
+ + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"complex.physical-location-id\","
+ + "\"relationship-value\" : \"key1\""
+ + " }, { "
+ + "\"relationship-key\" : \"ctag-pool.target-pe\","
+ + " \"relationship-value\" : \"key2\""
+ + " },{"
+ + "\"relationship-key\" : \"ctag-pool.availability-zone-name\","
+ + "\"relationship-value\" : \"key3\""
+ + "}]"
+ + "}";
+
+
+ Unmarshaller unmarshaller = context.createUnmarshaller();
+ unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, "application/json");
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_INCLUDE_ROOT, false);
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
+ Object obj = context.newDynamicEntity("Relationship");
+
+ DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+
+ Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
+
+ String expected =
+ ".has('physical-location-id', 'key1').has('aai-node-type', 'complex')"
+ + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'ctag-pool')"
+ + ".has('target-pe', 'key2')"
+ + ".has('availability-zone-name', 'key3')";
+ String expectedParent =
+ ".has('physical-location-id', 'key1').has('aai-node-type', 'complex')";
+
+ assertEquals(
+ "gremlin query should be " + expected,
+ expected,
+ query.getQueryBuilder().getQuery());
+ assertEquals(
+ "parent gremlin query should be equal the query for port group",
+ expectedParent,
+ query.getQueryBuilder().getParentQuery().getQuery());
+ assertEquals(
+ "result type should be ctag-pool",
+ "ctag-pool",
+ query.getResultType());
+
+ }
+
+ /**
+ * Abstract type.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void abstractType() throws JAXBException, UnsupportedEncodingException, AAIException {
+ String content =
+ "{"
+ + "\"related-to\" : \"vnf\","
+ + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"vnf.vnf-id\","
+ + "\"relationship-value\" : \"key1\""
+ + " }]"
+ + "}";
+
+
+ Unmarshaller unmarshaller = context.createUnmarshaller();
+ unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, "application/json");
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_INCLUDE_ROOT, false);
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
+ Object obj = context.newDynamicEntity("Relationship");
+
+ DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+
+ Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
+
+ String expected =
+ ".has('vnf-id', 'key1')"
+ + ".has('aai-node-type', P.within('vce','vpe','generic-vnf'))";
+
+ String expectedParent =
+ ".has('vnf-id', 'key1')"
+ + ".has('aai-node-type', P.within('vce','vpe','generic-vnf'))";
+
+ assertEquals(
+ "gremlin query should be " + expected,
+ expected,
+ query.getQueryBuilder().getQuery());
+ assertEquals(
+ "parent gremlin query should be equal the query for port group",
+ expectedParent,
+ query.getQueryBuilder().getParentQuery().getQuery());
+ assertEquals(
+ "result type should be vnf",
+ "vnf",
+ query.getResultType());
+
+ }
+
+ /**
+ * Invalid node name.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void invalidNodeName() throws JAXBException, UnsupportedEncodingException, AAIException {
+ String content =
+ "{"
+ + "\"related-to\" : \"l3-interface-ipv4-address-list\","
+ + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"generic-vnf.vnf-id\","
+ + "\"relationship-value\" : \"key1\""
+ + "},{"
+ + "\"relationship-key\" : \"lag-interface.interface-name\","
+ + "\"relationship-value\" : \"key2\""
+ + "},{"
+ + "\"relationship-key\" : \"l-infeaterface.interface-name\","
+ + "\"relationship-value\" : \"key3\""
+ + "},{"
+ + "\"relationship-key\" : \"vlan.vlan-interface\","
+ + "\"relationship-value\" : \"key4\""
+ + "},{"
+ + "\"relationship-key\" : \"l3-interface-ipv4-address-list.l3-interface-ipv4-address\","
+ + "\"relationship-value\" : \"key5\""
+ + "}]"
+ + "}";
+ thrown.expect(AAIException.class);
+ thrown.expectMessage(containsString("invalid object name"));
+
+ Unmarshaller unmarshaller = context.createUnmarshaller();
+ unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, "application/json");
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_INCLUDE_ROOT, false);
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
+ Object obj = context.newDynamicEntity("Relationship");
+
+ DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+
+ Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
+ dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
+
+ }
+
+ /**
+ * Invalid property name.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void invalidPropertyName() throws JAXBException, UnsupportedEncodingException, AAIException {
+ String content =
+ "{"
+ + "\"related-to\" : \"l3-interface-ipv4-address-list\","
+ + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"generic-vnf.vnf-id\","
+ + "\"relationship-value\" : \"key1\""
+ + "},{"
+ + "\"relationship-key\" : \"lag-interface.intfdaferface-name\","
+ + "\"relationship-value\" : \"key2\""
+ + "},{"
+ + "\"relationship-key\" : \"l-interface.interface-name\","
+ + "\"relationship-value\" : \"key3\""
+ + "},{"
+ + "\"relationship-key\" : \"vlan.vlan-interface\","
+ + "\"relationship-value\" : \"key4\""
+ + "},{"
+ + "\"relationship-key\" : \"l3-interface-ipv4-address-list.l3-interface-ipv4-address\","
+ + "\"relationship-value\" : \"key5\""
+ + "}]"
+ + "}";
+ thrown.expect(AAIException.class);
+ thrown.expectMessage(containsString("invalid property name"));
+
+ Unmarshaller unmarshaller = context.createUnmarshaller();
+ unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, "application/json");
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_INCLUDE_ROOT, false);
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
+ Object obj = context.newDynamicEntity("Relationship");
+
+ DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+
+ Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
+ dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
+
+ }
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/parsers/query/RelationshipQueryTest.java b/aai-core/src/test/java/org/openecomp/aai/parsers/query/RelationshipQueryTest.java
new file mode 100644
index 00000000..18fc16d0
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/parsers/query/RelationshipQueryTest.java
@@ -0,0 +1,282 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.parsers.query;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.StringReader;
+import java.io.UnsupportedEncodingException;
+
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.transform.stream.StreamSource;
+
+import org.eclipse.persistence.dynamic.DynamicEntity;
+import org.eclipse.persistence.jaxb.UnmarshallerProperties;
+import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContext;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.introspection.Introspector;
+import org.openecomp.aai.introspection.IntrospectorFactory;
+import org.openecomp.aai.introspection.LoaderFactory;
+import org.openecomp.aai.introspection.ModelInjestor;
+import org.openecomp.aai.introspection.ModelType;
+import org.openecomp.aai.introspection.Version;
+import org.openecomp.aai.serialization.engines.QueryStyle;
+import org.openecomp.aai.serialization.engines.TitanDBEngine;
+import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
+
+public class RelationshipQueryTest {
+ private ModelInjestor injestor = ModelInjestor.getInstance();
+
+ private TransactionalGraphEngine dbEngine =
+ new TitanDBEngine(QueryStyle.GREMLIN_TRAVERSAL,
+ LoaderFactory.createLoaderForVersion(ModelType.MOXY, Version.v8),
+ false);
+ private final Version version = Version.v8;
+ private DynamicJAXBContext context = injestor.getContextForVersion(version);
+
+ /**
+ * Configure.
+ */
+ @BeforeClass
+ public static void configure() {
+ System.setProperty("AJSC_HOME", "./src/test/resources/");
+ System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+ }
+
+
+ /**
+ * Parent query.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void parentQuery() throws JAXBException, UnsupportedEncodingException, AAIException {
+
+ String content =
+ "{"
+ + "\"related-to\" : \"pserver\","
+ + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"pserver.hostname\","
+ + "\"relationship-value\" : \"key1\""
+ + "}]"
+ + "}";
+
+ Unmarshaller unmarshaller = context.createUnmarshaller();
+ unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, "application/json");
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_INCLUDE_ROOT, false);
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
+ Object obj = context.newDynamicEntity("Relationship");
+
+ DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+
+ Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
+
+ String expected =
+ ".has('hostname', 'key1').has('aai-node-type', 'pserver')";
+ assertEquals(
+ "gremlin query should be " + expected,
+ expected,
+ query.getQueryBuilder().getQuery());
+ assertEquals(
+ "parent gremlin query should be equal to normal query",
+ expected,
+ query.getQueryBuilder().getParentQuery().getQuery());
+ assertEquals(
+ "result type should be pserver",
+ "pserver",
+ query.getResultType());
+
+ }
+
+ /**
+ * Child query.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void childQuery() throws JAXBException, UnsupportedEncodingException, AAIException {
+ String content =
+ "{"
+ + "\"related-to\" : \"lag-interface\","
+ + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"pserver.hostname\","
+ + "\"relationship-value\" : \"key1\""
+ + "}, {"
+ + "\"relationship-key\" : \"lag-interface.interface-name\","
+ + "\"relationship-value\" : \"key2\""
+ + "}]"
+ + "}";
+
+ Unmarshaller unmarshaller = context.createUnmarshaller();
+ unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, "application/json");
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_INCLUDE_ROOT, false);
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
+ Object obj = context.newDynamicEntity("Relationship");
+
+ DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+
+ Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
+ String expected =
+ ".has('hostname', 'key1').has('aai-node-type', 'pserver').in('tosca.relationships.BindsTo').has('aai-node-type', 'lag-interface')"
+ + ".has('interface-name', 'key2')";
+ String parentExpected =
+ ".has('hostname', 'key1').has('aai-node-type', 'pserver')";
+ assertEquals(
+ "gremlin query should be for node",
+ expected,
+ query.getQueryBuilder().getQuery());
+ assertEquals(
+ "parent gremlin query should be for parent",
+ parentExpected,
+ query.getQueryBuilder().getParentQuery().getQuery());
+ assertEquals(
+ "result type should be lag-interface",
+ "lag-interface",
+ query.getResultType());
+ }
+
+ /**
+ * Naming exceptions.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void namingExceptions() throws JAXBException, UnsupportedEncodingException, AAIException {
+ String content =
+ "{"
+ + "\"related-to\" : \"cvlan-tag\","
+ + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"vce.vnf-id\","
+ + "\"relationship-value\" : \"key1\""
+ + "}, {"
+ + "\"relationship-key\" : \"port-group.interface-id\","
+ + "\"relationship-value\" : \"key2\""
+ + "},{"
+ + "\"relationship-key\" : \"cvlan-tag.cvlan-tag\","
+ + "\"relationship-value\" : \"655\""
+ + "}]"
+ + "}";
+
+ Unmarshaller unmarshaller = context.createUnmarshaller();
+ unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, "application/json");
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_INCLUDE_ROOT, false);
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
+ Object obj = context.newDynamicEntity("Relationship");
+
+ DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+
+ Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
+ String expected =
+ ".has('vnf-id', 'key1').has('aai-node-type', 'vce').in('org.onap.relationships.inventory.BelongsTo')"
+ + ".has('aai-node-type', 'port-group').has('interface-id', 'key2').in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'cvlan-tag')"
+ + ".has('cvlan-tag', 655)";
+ String expectedParent =
+ ".has('vnf-id', 'key1').has('aai-node-type', 'vce').in('org.onap.relationships.inventory.BelongsTo')"
+ + ".has('aai-node-type', 'port-group').has('interface-id', 'key2')";
+
+ assertEquals(
+ "gremlin query should be " + expected,
+ expected,
+ query.getQueryBuilder().getQuery());
+ assertEquals(
+ "parent gremlin query should be equal the query for port group",
+ expectedParent,
+ query.getQueryBuilder().getParentQuery().getQuery());
+ assertEquals(
+ "result type should be cvlan-tag",
+ "cvlan-tag",
+ query.getResultType());
+
+ }
+
+ /**
+ * Double key.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void doubleKey() throws JAXBException, UnsupportedEncodingException, AAIException {
+ String content =
+ "{"
+ + "\"related-to\" : \"ctag-pool\","
+ + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"complex.physical-location-id\","
+ + "\"relationship-value\" : \"key1\""
+ + " }, { "
+ + "\"relationship-key\" : \"ctag-pool.target-pe\","
+ + " \"relationship-value\" : \"key2\""
+ + " },{"
+ + "\"relationship-key\" : \"ctag-pool.availability-zone-name\","
+ + "\"relationship-value\" : \"key3\""
+ + "}]"
+ + "}";
+
+
+ Unmarshaller unmarshaller = context.createUnmarshaller();
+ unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, "application/json");
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_INCLUDE_ROOT, false);
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
+ Object obj = context.newDynamicEntity("Relationship");
+
+ DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+
+ Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
+
+ String expected =
+ ".has('physical-location-id', 'key1').has('aai-node-type', 'complex')"
+ + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'ctag-pool')"
+ + ".has('target-pe', 'key2')"
+ + ".has('availability-zone-name', 'key3')";
+ String expectedParent =
+ ".has('physical-location-id', 'key1').has('aai-node-type', 'complex')";
+
+ assertEquals(
+ "gremlin query should be " + expected,
+ expected,
+ query.getQueryBuilder().getQuery());
+ assertEquals(
+ "parent gremlin query should be equal the query for port group",
+ expectedParent,
+ query.getQueryBuilder().getParentQuery().getQuery());
+ assertEquals(
+ "result type should be ctag-pool",
+ "ctag-pool",
+ query.getResultType());
+
+ }
+
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/parsers/query/UniqueRelationshipQueryTest.java b/aai-core/src/test/java/org/openecomp/aai/parsers/query/UniqueRelationshipQueryTest.java
new file mode 100644
index 00000000..fd05dede
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/parsers/query/UniqueRelationshipQueryTest.java
@@ -0,0 +1,305 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.parsers.query;
+
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.eclipse.persistence.dynamic.DynamicEntity;
+import org.eclipse.persistence.jaxb.UnmarshallerProperties;
+import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContext;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.introspection.*;
+import org.openecomp.aai.serialization.engines.QueryStyle;
+import org.openecomp.aai.serialization.engines.TitanDBEngine;
+import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
+
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.transform.stream.StreamSource;
+import java.io.StringReader;
+import java.io.UnsupportedEncodingException;
+
+import static org.junit.Assert.assertEquals;
+
+@Ignore
+public class UniqueRelationshipQueryTest {
+ private ModelInjestor injestor = ModelInjestor.getInstance();
+ private TransactionalGraphEngine dbEngine =
+ new TitanDBEngine(QueryStyle.GREMLIN_UNIQUE,
+ LoaderFactory.createLoaderForVersion(ModelType.MOXY, Version.v8),
+ false);
+ private final Version version = Version.v8;
+ private DynamicJAXBContext context = injestor.getContextForVersion(version);
+ private Unmarshaller unmarshaller = null;
+
+ /**
+ * Configure.
+ */
+ @BeforeClass
+ public static void configure() {
+ System.setProperty("AJSC_HOME", ".");
+ System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+ }
+
+
+ /**
+ * Setup.
+ *
+ * @throws JAXBException the JAXB exception
+ */
+ @Before
+ public void setup() throws JAXBException {
+ unmarshaller = context.createUnmarshaller();
+ unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, "application/json");
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_INCLUDE_ROOT, false);
+ unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
+ }
+
+ /**
+ * Parent query.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void parentQuery() throws JAXBException, UnsupportedEncodingException, AAIException {
+
+ String content =
+ "{"
+ + "\"related-to\" : \"pserver\","
+ + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"pserver.hostname\","
+ + "\"relationship-value\" : \"key1\""
+ + "}]"
+ + "}";
+
+ Object obj = context.newDynamicEntity("Relationship");
+
+ DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+
+ Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
+ String key = "pserver/key1";
+ GraphTraversal<Vertex, Vertex> expected =
+ __.<Vertex>start().has("aai-unique-key", key);
+ String resultType = "pserver";
+ String containerType = "";
+
+ testSet(query, expected, expected, resultType, containerType);
+
+ }
+
+ /**
+ * Child query.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void childQuery() throws JAXBException, UnsupportedEncodingException, AAIException {
+ String content =
+ "{"
+ + "\"related-to\" : \"lag-interface\","
+ + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"pserver.hostname\","
+ + "\"relationship-value\" : \"key1\""
+ + "}, {"
+ + "\"relationship-key\" : \"lag-interface.interface-name\","
+ + "\"relationship-value\" : \"key2\""
+ + "}]"
+ + "}";
+
+ Object obj = context.newDynamicEntity("Relationship");
+
+ DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+
+ Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
+
+ String key = "pserver/key1/lag-interface/key2";
+ GraphTraversal<Vertex, Vertex> expected =
+ __.<Vertex>start().has("aai-unique-key", key);
+ GraphTraversal<Vertex, Vertex> parentExpected =
+ __.<Vertex>start().has("aai-unique-key", "pserver/key1");
+ String resultType = "lag-interface";
+ String containerType = "";
+
+ testSet(query, expected, parentExpected, resultType, containerType);
+ }
+
+ /**
+ * Naming exceptions.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void namingExceptions() throws JAXBException, UnsupportedEncodingException, AAIException {
+ String content =
+ "{"
+ + "\"related-to\" : \"cvlan-tag\","
+ + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"vce.vnf-id\","
+ + "\"relationship-value\" : \"key1\""
+ + "}, {"
+ + "\"relationship-key\" : \"port-group.interface-id\","
+ + "\"relationship-value\" : \"key2\""
+ + "},{"
+ + "\"relationship-key\" : \"cvlan-tag.cvlan-tag\","
+ + "\"relationship-value\" : \"655\""
+ + "}]"
+ + "}";
+
+ Object obj = context.newDynamicEntity("Relationship");
+
+ DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+
+ Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
+ String key = "vce/key1/port-group/key2/cvlan-tag/655";
+ GraphTraversal<Vertex, Vertex> expected =
+ __.<Vertex>start().has("aai-unique-key", key);
+ GraphTraversal<Vertex, Vertex> parentExpected =
+ __.<Vertex>start().has("aai-unique-key", "vce/key1/port-group/key2");
+ String resultType = "cvlan-tag";
+ String containerType = "";
+
+ testSet(query, expected, parentExpected, resultType, containerType);
+
+ }
+
+ /**
+ * Double key.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void doubleKey() throws JAXBException, UnsupportedEncodingException, AAIException {
+ String content =
+ "{"
+ + "\"related-to\" : \"service-capability\","
+ + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"service-capability.service-type\","
+ + "\"relationship-value\" : \"key1\""
+ + " }, { "
+ + "\"relationship-key\" : \"service-capability.vnf-type\","
+ + " \"relationship-value\" : \"key2\""
+ + " }]"
+ + "}";
+
+ Object obj = context.newDynamicEntity("Relationship");
+
+ DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+
+ Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
+
+ String key = "service-capability/key1/key2";
+ GraphTraversal<Vertex, Vertex> expected =
+ __.<Vertex>start().has("aai-unique-key", key);
+ GraphTraversal<Vertex, Vertex> parentExpected =
+ __.<Vertex>start().has("aai-unique-key", "service-capability/key1/key2");
+ String resultType = "service-capability";
+ String containerType = "";
+
+ testSet(query, expected, parentExpected, resultType, containerType);
+
+ }
+
+ /**
+ * Short circuit.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void shortCircuit() throws JAXBException, UnsupportedEncodingException, AAIException {
+ String content =
+ "{"
+ + "\"related-to\" : \"cvlan-tag\","
+ + "\"related-link\" : \"http://mock-system-name.com:8443/aai/v6/network/vces/vce/key1/port-groups/port-group/key2/cvlan-tags/cvlan-tag/655\","
+ + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"vce.hostname\","
+ + "\"relationship-value\" : \"key1\""
+ + "}, {"
+ + "\"relationship-key\" : \"port-group.interface-name\","
+ + "\"relationship-value\" : \"key2\""
+ + "},{"
+ + "\"relationship-key\" : \"cvlan-tag.-name\","
+ + "\"relationship-value\" : \"655\""
+ + "}]"
+ + "}";
+
+ Object obj = context.newDynamicEntity("Relationship");
+
+ DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+
+ Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
+ String key = "vce/key1/port-group/key2/cvlan-tag/655";
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start().has("aai-unique-key", key);
+ GraphTraversal<Vertex, Vertex> parentExpected = __.<Vertex>start().has("aai-unique-key", "vce/key1/port-group/key2");
+ String resultType = "cvlan-tag";
+ String containerType = "";
+
+ testSet(query, expected, parentExpected, resultType, containerType);
+
+ }
+
+ /**
+ * Test set.
+ *
+ * @param query the query
+ * @param expected the expected
+ * @param parentExpected the parent expected
+ * @param resultType the result type
+ * @param containerType the container type
+ */
+ public void testSet(QueryParser query, GraphTraversal<Vertex, Vertex> expected, GraphTraversal<Vertex, Vertex> parentExpected, String resultType, String containerType) {
+ assertEquals(
+ "gremlin query should be " + expected,
+ expected,
+ query.getQueryBuilder().getQuery());
+ assertEquals(
+ "parent gremlin query should be " + parentExpected,
+ parentExpected,
+ query.getParentQueryBuilder().getParentQuery());
+ assertEquals(
+ "result type should be " + resultType,
+ resultType,
+ query.getResultType());
+ assertEquals(
+ "container type should be " + containerType,
+ containerType,
+ query.getContainerType());
+ }
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/parsers/query/UniqueURIQueryTest.java b/aai-core/src/test/java/org/openecomp/aai/parsers/query/UniqueURIQueryTest.java
new file mode 100644
index 00000000..534386d0
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/parsers/query/UniqueURIQueryTest.java
@@ -0,0 +1,205 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.parsers.query;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+
+import javax.ws.rs.core.UriBuilder;
+
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContext;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.introspection.LoaderFactory;
+import org.openecomp.aai.introspection.ModelInjestor;
+import org.openecomp.aai.introspection.ModelType;
+import org.openecomp.aai.introspection.Version;
+import org.openecomp.aai.serialization.engines.QueryStyle;
+import org.openecomp.aai.serialization.engines.TitanDBEngine;
+import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
+
+@Ignore
+public class UniqueURIQueryTest {
+ private ModelInjestor injestor = ModelInjestor.getInstance();
+ private TransactionalGraphEngine dbEngine =
+ new TitanDBEngine(QueryStyle.GREMLIN_UNIQUE,
+ LoaderFactory.createLoaderForVersion(ModelType.MOXY, Version.v8),
+ false);
+ private final Version version = Version.v8;
+ private DynamicJAXBContext context = injestor.getContextForVersion(version);
+
+ /**
+ * Configure.
+ */
+ @BeforeClass
+ public static void configure() {
+ System.setProperty("AJSC_HOME", ".");
+ System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+ }
+
+
+ /**
+ * Parent query.
+ *
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void parentQuery() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("cloud-infrastructure/complexes/complex/key1").build();
+ String key = "complex/key1";
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri);
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start().has("aai-unique-key", key);
+ String parentResultType = "";
+ String resultType = "complex";
+ String containerType = "";
+
+ testSet(query, expected, expected, parentResultType, resultType, containerType);
+
+ }
+
+ /**
+ * Parent plural query.
+ *
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void parentPluralQuery() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("cloud-infrastructure/complexes").build();
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri);
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start().has("aai-node-type", "complex");
+ String parentResultType = "";
+ String resultType = "complex";
+ String containerType = "complexes";
+
+ testSet(query, expected, expected, parentResultType, resultType, containerType);
+
+ }
+
+ /**
+ * Child query.
+ *
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void childQuery() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("cloud-infrastructure/complexes/complex/key1/ctag-pools/ctag-pool/key2/key3").build();
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri);
+ String parentKey = "complex/key1";
+ String key = parentKey + "/ctag-pool/key2/key3";
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start().has("aai-unique-key", key);
+ GraphTraversal<Vertex, Vertex> parentExpected = __.<Vertex>start().has("aai-unique-key", parentKey);
+ String parentResultType = "complex";
+ String resultType = "ctag-pool";
+ String containerType = "";
+
+ testSet(query, expected, parentExpected, parentResultType, resultType, containerType);
+
+ }
+
+ /**
+ * Naming exceptions.
+ *
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void namingExceptions() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("network/vces/vce/key1/port-groups/port-group/key2/cvlan-tags/cvlan-tag/655").build();
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri);
+ String parentKey = "vce/key1/port-group/key2";
+ String key = parentKey + "/cvlan-tag/655";
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start().has("aai-unique-key", key);
+ GraphTraversal<Vertex, Vertex> parentExpected = __.<Vertex>start().has("aai-unique-key", parentKey);
+ String parentResultType = "port-group";
+ String resultType = "cvlan-tag";
+ String containerType = "";
+
+ testSet(query, expected, parentExpected, parentResultType, resultType, containerType);
+
+ }
+
+ /**
+ * Gets the all.
+ *
+ * @return the all
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void getAll() throws UnsupportedEncodingException, AAIException {
+ String parentURI = "network/vces/vce/key1/port-groups/port-group/key2";
+ String parentKey = "vce/key1/port-group/key2";
+ URI uri = UriBuilder.fromPath(parentURI + "/cvlan-tags").build();
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri);
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start().has("aai-unique-key", parentKey).out("hasCTag").has("aai-node-type", "cvlan-tag");
+ GraphTraversal<Vertex, Vertex> parentExpected = __.<Vertex>start().has("aai-unique-key",parentKey);
+ String parentResultType = "port-group";
+ String resultType = "cvlan-tag";
+ String containerType = "cvlan-tags";
+
+ testSet(query, expected, parentExpected, parentResultType, resultType, containerType);
+
+ }
+
+ /**
+ * Test set.
+ *
+ * @param query the query
+ * @param expected the expected
+ * @param parentExpected the parent expected
+ * @param parentResultType the parent result type
+ * @param resultType the result type
+ * @param containerType the container type
+ */
+ public void testSet(QueryParser query, GraphTraversal<Vertex, Vertex> expected, GraphTraversal<Vertex, Vertex> parentExpected, String parentResultType, String resultType, String containerType) {
+ assertEquals(
+ "gremlin query should be " + expected,
+ expected,
+ query.getQueryBuilder().getQuery());
+ assertEquals(
+ "parent gremlin query should be " + parentExpected,
+ parentExpected,
+ query.getQueryBuilder().getParentQuery().getQuery());
+ assertEquals(
+ "parent result type should be " + parentResultType,
+ parentResultType,
+ query.getParentResultType());
+ assertEquals(
+ "result type should be " + resultType,
+ resultType,
+ query.getResultType());
+ assertEquals(
+ "container type should be " + containerType,
+ containerType,
+ query.getContainerType());
+ }
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/parsers/relationship/RelationshipToURITest.java b/aai-core/src/test/java/org/openecomp/aai/parsers/relationship/RelationshipToURITest.java
new file mode 100644
index 00000000..2be7887b
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/parsers/relationship/RelationshipToURITest.java
@@ -0,0 +1,229 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.parsers.relationship;
+
+import static org.hamcrest.Matchers.hasProperty;
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertEquals;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import org.apache.commons.io.IOUtils;
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.introspection.Introspector;
+import org.openecomp.aai.introspection.Loader;
+import org.openecomp.aai.introspection.LoaderFactory;
+import org.openecomp.aai.introspection.ModelType;
+import org.openecomp.aai.introspection.Version;
+import org.openecomp.aai.parsers.exceptions.AAIIdentityMapParseException;
+import org.openecomp.aai.parsers.exceptions.AmbiguousMapAAIException;
+import org.openecomp.aai.serialization.queryformats.QueryFormatTestHelper;
+import org.openecomp.aai.util.AAIConstants;
+
+public class RelationshipToURITest {
+
+
+
+ private final ModelType modelType = ModelType.MOXY;
+ private final Version version10 = Version.v10;
+ private final Version version9 = Version.v9;
+
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+
+ @BeforeClass
+ public static void setup() throws NoSuchFieldException, SecurityException, Exception {
+ System.setProperty("AJSC_HOME", "./src/test/resources/");
+ System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+ QueryFormatTestHelper.setFinalStatic(AAIConstants.class.getField("AAI_HOME_ETC_OXM"), "src/test/resources/org/openecomp/aai/introspection/");
+
+ }
+
+ @Test
+ public void onlyLink() throws AAIException, URISyntaxException, IOException {
+ Loader loader = LoaderFactory.createLoaderForVersion(modelType, version10);
+ Introspector obj = loader.unmarshal("relationship", this.getJsonString("only-related-link.json"));
+ URI expected = new URI("/aai/v10/network/test-objects/test-object/key1");
+
+ RelationshipToURI parse = new RelationshipToURI(loader, obj);
+
+ URI uri = parse.getUri();
+
+ assertEquals("related-link is equal", expected.getPath(), uri.getPath());
+ }
+
+ @Test
+ public void onlyData() throws AAIException, URISyntaxException, IOException {
+ Loader loader = LoaderFactory.createLoaderForVersion(modelType, version10);
+ Introspector obj = loader.unmarshal("relationship", this.getJsonString("only-relationship-data.json"));
+ URI expected = new URI("/network/test-objects/test-object/key1");
+
+ RelationshipToURI parse = new RelationshipToURI(loader, obj);
+
+ URI uri = parse.getUri();
+
+ assertEquals("related-link is equal", expected, uri);
+ }
+
+ @Test
+ public void failV10() throws AAIException, URISyntaxException, IOException {
+ Loader loader = LoaderFactory.createLoaderForVersion(modelType, version10);
+ Introspector obj = loader.unmarshal("relationship", this.getJsonString("both-failv10-successv9.json"));
+ URI expected = new URI("/aai/v10/network/test-objects/test-object/key1");
+
+ thrown.expect(AAIIdentityMapParseException.class);
+ thrown.expect(hasProperty("code", is("AAI_3000")));
+ RelationshipToURI parse = new RelationshipToURI(loader, obj);
+
+
+ URI uri = parse.getUri();
+
+ }
+
+ @Test
+ public void successV9() throws AAIException, URISyntaxException, IOException {
+ Loader loader = LoaderFactory.createLoaderForVersion(modelType, version9);
+ Introspector obj = loader.unmarshal("relationship", this.getJsonString("both-failv10-successv9.json"));
+ URI expected = new URI("/network/test-objects/test-object/key2");
+
+ RelationshipToURI parse = new RelationshipToURI(loader, obj);
+
+
+ URI uri = parse.getUri();
+
+ assertEquals("related-link is equal", expected, uri);
+
+
+ }
+
+ @Test
+ public void failV9() throws AAIException, URISyntaxException, IOException {
+ Loader loader = LoaderFactory.createLoaderForVersion(modelType, version9);
+ Introspector obj = loader.unmarshal("relationship", this.getJsonString("both-successv10-failv9.json"));
+ URI expected = new URI("/network/test-objects/test-object/key1");
+
+ thrown.expect(AAIIdentityMapParseException.class);
+ thrown.expect(hasProperty("code", is("AAI_3000")));
+ RelationshipToURI parse = new RelationshipToURI(loader, obj);
+
+
+ URI uri = parse.getUri();
+
+ }
+
+ @Test
+ public void successV10() throws AAIException, URISyntaxException, IOException {
+ Loader loader = LoaderFactory.createLoaderForVersion(modelType, version10);
+ Introspector obj = loader.unmarshal("relationship", this.getJsonString("both-successv10-failv9.json"));
+ URI expected = new URI("/aai/v10/network/test-objects/test-object/key1");
+
+ RelationshipToURI parse = new RelationshipToURI(loader, obj);
+
+
+ URI uri = parse.getUri();
+
+ assertEquals("related-link is equal", expected, uri);
+
+
+ }
+
+ @Test
+ public void ambiguousRelationship() throws AAIException, URISyntaxException, IOException {
+ Loader loader = LoaderFactory.createLoaderForVersion(modelType, version10);
+ Introspector obj = loader.unmarshal("relationship", this.getJsonString("ambiguous-relationship.json"));
+ URI expected = new URI("/aai/v10/network/test-objects/test-object/key1");
+
+ thrown.expect(AmbiguousMapAAIException.class);
+ thrown.expect(hasProperty("code", is("AAI_6146")));
+
+ RelationshipToURI parse = new RelationshipToURI(loader, obj);
+
+ URI uri = parse.getUri();
+
+ assertEquals("related-link is equal", expected, uri);
+
+
+ }
+
+ @Test
+ public void moreItemsThanRequired() throws AAIException, URISyntaxException, IOException {
+ Loader loader = LoaderFactory.createLoaderForVersion(modelType, version10);
+ Introspector obj = loader.unmarshal("relationship", this.getJsonString("too-many-items-relationship.json"));
+ URI expected = new URI("/network/generic-vnfs/generic-vnf/key1/l-interfaces/l-interface/key2");
+
+ RelationshipToURI parse = new RelationshipToURI(loader, obj);
+
+ URI uri = parse.getUri();
+
+ assertEquals("related-link is equal", expected.toString(), uri.toString());
+
+ }
+
+ @Test
+ public void twoTopLevelNodes() throws AAIException, URISyntaxException, IOException {
+ Loader loader = LoaderFactory.createLoaderForVersion(modelType, version10);
+ Introspector obj = loader.unmarshal("relationship", this.getJsonString("two-top-level-relationship.json"));
+ URI expected = new URI("/network/generic-vnfs/generic-vnf/key1/l-interfaces/l-interface/key2");
+
+ thrown.expect(AmbiguousMapAAIException.class);
+ thrown.expect(hasProperty("code", is("AAI_6146")));
+
+ RelationshipToURI parse = new RelationshipToURI(loader, obj);
+
+ URI uri = parse.getUri();
+
+ assertEquals("related-link is equal", expected, uri);
+
+ }
+
+ @Test
+ public void topLevelWithTwoKeys() throws AAIException, URISyntaxException, IOException {
+ Loader loader = LoaderFactory.createLoaderForVersion(modelType, version10);
+ Introspector obj = loader.unmarshal("relationship", this.getJsonString("top-level-two-keys-relationship.json"));
+ URI expected = new URI("/cloud-infrastructure/cloud-regions/cloud-region/key1/key2/availability-zones/availability-zone/key3");
+
+ RelationshipToURI parse = new RelationshipToURI(loader, obj);
+
+ URI uri = parse.getUri();
+
+ assertEquals("related-link is equal", expected.toString(), uri.toString());
+
+ }
+
+
+ private String getJsonString(String filename) throws IOException {
+
+
+ FileInputStream is = new FileInputStream("src/test/resources/org/openecomp/aai/parsers/relationship/" + filename);
+ String s = IOUtils.toString(is, "UTF-8");
+ IOUtils.closeQuietly(is);
+
+ return s;
+ }
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/parsers/uri/URIParserTest.java b/aai-core/src/test/java/org/openecomp/aai/parsers/uri/URIParserTest.java
new file mode 100644
index 00000000..b413c9d1
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/parsers/uri/URIParserTest.java
@@ -0,0 +1,113 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.parsers.uri;
+
+import static org.hamcrest.Matchers.hasProperty;
+import static org.hamcrest.Matchers.is;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+
+import javax.ws.rs.core.UriBuilder;
+import javax.xml.bind.JAXBException;
+
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.introspection.Loader;
+import org.openecomp.aai.introspection.LoaderFactory;
+import org.openecomp.aai.introspection.ModelType;
+import org.openecomp.aai.introspection.Version;
+
+
+public class URIParserTest {
+
+ private Loader loader = LoaderFactory.createLoaderForVersion(ModelType.MOXY, Version.v8);
+
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+
+ /**
+ * Configure.
+ */
+ @BeforeClass
+ public static void configure() {
+ System.setProperty("AJSC_HOME", "./src/test/resources/");
+ System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+ }
+
+ /**
+ * Invalid path.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ */
+ @Test
+ public void invalidPath() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
+ URI uri = UriBuilder.fromPath("/aai/" + loader.getVersion() + "/network/tenants/tenant/key1/vservers/vserver/key2/l-interfaces/l-interface/key3").build();
+
+ thrown.expect(AAIException.class);
+ thrown.expect(hasProperty("code", is("AAI_3001")));
+
+ new URIToDBKey(loader, uri);
+ }
+
+ /**
+ * Invalid path no name space.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ */
+ @Test
+ public void invalidPathNoNameSpace() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
+ URI uri = UriBuilder.fromPath("/aai/" + loader.getVersion() + "/tenants/tenant/key1/vservers/vserver/key2/l-interfaces/l-interface/key3").build();
+
+ thrown.expect(AAIException.class);
+ thrown.expect(hasProperty("code", is("AAI_3000")));
+
+ new URIToDBKey(loader, uri);
+ }
+
+ /**
+ * Invalid path partial.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ */
+ @Test
+ public void invalidPathPartial() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
+ URI uri = UriBuilder.fromPath("vservers/vserver/key2/l-interfaces/l-interface/key3").build();
+
+ thrown.expect(AAIException.class);
+ thrown.expect(hasProperty("code", is("AAI_3000")));
+
+ new URIToDBKey(loader, uri);
+ }
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/parsers/uri/URIToExtensionInformationTest.java b/aai-core/src/test/java/org/openecomp/aai/parsers/uri/URIToExtensionInformationTest.java
new file mode 100644
index 00000000..5c82e452
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/parsers/uri/URIToExtensionInformationTest.java
@@ -0,0 +1,147 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.parsers.uri;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+
+import javax.ws.rs.core.UriBuilder;
+import javax.xml.bind.JAXBException;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.introspection.Loader;
+import org.openecomp.aai.introspection.LoaderFactory;
+import org.openecomp.aai.introspection.ModelType;
+import org.openecomp.aai.introspection.Version;
+import org.openecomp.aai.restcore.HttpMethod;
+
+
+public class URIToExtensionInformationTest {
+
+ private Loader v6Loader = LoaderFactory.createLoaderForVersion(ModelType.MOXY, Version.v8);
+ private Loader v7Loader = LoaderFactory.createLoaderForVersion(ModelType.MOXY, Version.v8);
+
+ /**
+ * Configure.
+ */
+ @BeforeClass
+ public static void configure() {
+ System.setProperty("AJSC_HOME", "./src/test/resources/");
+ System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+ }
+
+ /**
+ * Vservers V 7.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ */
+ @Test
+ public void vserversV7() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
+ URI uri = UriBuilder.fromPath("/aai/" + v7Loader.getVersion() + "/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant/key1/vservers/vserver/key2").build();
+ URIToExtensionInformation parse = new URIToExtensionInformation(v7Loader, uri);
+
+ String namespace = "cloudInfrastructure";
+ String preMethodName = "DynamicAddCloudInfrastructureCloudRegionsCloudRegionTenantsTenantVserversVserverPreProc";
+ String postMethodName = "DynamicAddCloudInfrastructureCloudRegionsCloudRegionTenantsTenantVserversVserverPostProc";
+ String topLevel = "CloudRegion";
+ testSpec(parse, HttpMethod.PUT, namespace, preMethodName, postMethodName, topLevel);
+
+ }
+
+ /**
+ * New vce V 6.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ */
+ @Test
+ public void newVceV6() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
+ URI uri = UriBuilder.fromPath("/aai/" + v6Loader.getVersion() + "/network/newvces/newvce/key1").build();
+ URIToExtensionInformation parse = new URIToExtensionInformation(v6Loader, uri);
+
+ String namespace = "network";
+ String preMethodName = "DynamicDelNetworkNewvcesNewvcePreProc";
+ String postMethodName = "DynamicDelNetworkNewvcesNewvcePostProc";
+ String topLevel = "Newvce";
+ testSpec(parse, HttpMethod.DELETE, namespace, preMethodName, postMethodName, topLevel);
+
+ }
+
+ /**
+ * New vce V 7.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ */
+ @Test
+ public void newVceV7() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
+ URI uri = UriBuilder.fromPath("/aai/" + v7Loader.getVersion() + "/network/newvces/newvce/key1").build();
+ URIToExtensionInformation parse = new URIToExtensionInformation(v7Loader, uri);
+
+ String namespace = "network";
+ String preMethodName = "DynamicDelNetworkNewvcesNewvcePreProc";
+ String postMethodName = "DynamicDelNetworkNewvcesNewvcePostProc";
+ String topLevel = "Newvce";
+ testSpec(parse, HttpMethod.DELETE, namespace, preMethodName, postMethodName, topLevel);
+
+ }
+
+ /**
+ * Test spec.
+ *
+ * @param info the info
+ * @param httpMethod the http method
+ * @param namespace the namespace
+ * @param preMethodName the pre method name
+ * @param postMethodName the post method name
+ * @param topLevel the top level
+ */
+ private void testSpec(URIToExtensionInformation info, HttpMethod httpMethod, String namespace, String preMethodName, String postMethodName, String topLevel) {
+
+
+ String namespaceResult = info.getNamespace();
+ String methodNameResult = info.getMethodName(httpMethod, true);
+
+ assertEquals("namespace", namespace, namespaceResult);
+ assertEquals("preprocess method name", preMethodName, methodNameResult);
+ methodNameResult = info.getMethodName(httpMethod, false);
+
+ assertEquals("postprocess method name", postMethodName, methodNameResult);
+
+ String topLevelResult = info.getTopObject();
+
+ assertEquals("topLevel", topLevel, topLevelResult);
+ }
+
+
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/parsers/uri/URIToObjectTest.java b/aai-core/src/test/java/org/openecomp/aai/parsers/uri/URIToObjectTest.java
new file mode 100644
index 00000000..5313aeca
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/parsers/uri/URIToObjectTest.java
@@ -0,0 +1,260 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.parsers.uri;
+
+import static org.hamcrest.Matchers.hasProperty;
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertEquals;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.util.HashMap;
+
+import javax.ws.rs.core.UriBuilder;
+import javax.xml.bind.JAXBException;
+
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+
+import org.openecomp.aai.db.props.AAIProperties;
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.introspection.Introspector;
+import org.openecomp.aai.introspection.Loader;
+import org.openecomp.aai.introspection.LoaderFactory;
+import org.openecomp.aai.introspection.ModelType;
+import org.openecomp.aai.introspection.Version;
+import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
+
+
+
+public class URIToObjectTest {
+
+ private Version version = Version.v8;
+ private Version currentVersion = AAIProperties.LATEST;
+ private Loader loader = LoaderFactory.createLoaderForVersion(ModelType.MOXY, version);
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+
+ /**
+ * Configure.
+ */
+ @BeforeClass
+ public static void configure() {
+ System.setProperty("AJSC_HOME", "./src/test/resources/");
+ System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+ }
+
+
+ /**
+ * Uri.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ */
+ @Test
+ public void uri() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
+ URI uri = UriBuilder.fromPath("/aai/" + loader.getVersion() + "/cloud-infrastructure/cloud-regions/cloud-region/mycloudowner/mycloudregionid/tenants/tenant/key1/vservers/vserver/key2/l-interfaces/l-interface/key3").build();
+ URIToObject parse = new URIToObject(loader, uri);
+ Introspector result = parse.getTopEntity();
+ String expected = "{\"cloud-owner\":\"mycloudowner\",\"cloud-region-id\":\"mycloudregionid\",\"tenants\":{\"tenant\":[{\"tenant-id\":\"key1\",\"vservers\":{\"vserver\":[{\"vserver-id\":\"key2\",\"l-interfaces\":{\"l-interface\":[{\"interface-name\":\"key3\"}]}}]}}]}}";
+ String topEntity = "cloud-region";
+ String entity = "l-interface";
+
+ testSet(result.marshal(false), parse, expected, topEntity, entity, version);
+
+ }
+
+ /**
+ * Uri no version.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIUnknownObjectException
+ */
+ @Test
+ public void uriNoVersion() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException, AAIUnknownObjectException {
+ URI uri = UriBuilder.fromPath("/cloud-infrastructure/cloud-regions/cloud-region/mycloudowner/mycloudregionid/tenants/tenant/key1/vservers/vserver/key2/l-interfaces/l-interface/key3").build();
+ HashMap<String, Introspector> relatedObjects = new HashMap<>();
+ Introspector tenantObj = this.loader.introspectorFromName("tenant");
+ tenantObj.setValue("tenant-id", "key1");
+ tenantObj.setValue("tenant-name", "name1");
+ relatedObjects.put(tenantObj.getObjectId(), tenantObj);
+ Introspector vserverObj = this.loader.introspectorFromName("vserver");
+ vserverObj.setValue("vserver-id", "key2");
+ vserverObj.setValue("vserver-name", "name2");
+ relatedObjects.put(vserverObj.getObjectId(), vserverObj);
+
+ URIToObject parse = new URIToObject(loader, uri, relatedObjects);
+ Introspector result = parse.getTopEntity();
+ String expected = "{\"cloud-owner\":\"mycloudowner\",\"cloud-region-id\":\"mycloudregionid\",\"tenants\":{\"tenant\":[{\"tenant-id\":\"key1\",\"tenant-name\":\"name1\",\"vservers\":{\"vserver\":[{\"vserver-id\":\"key2\",\"vserver-name\":\"name2\",\"l-interfaces\":{\"l-interface\":[{\"interface-name\":\"key3\"}]}}]}}]}}";
+ String topEntity = "cloud-region";
+ String entity = "l-interface";
+
+ testSet(result.marshal(false), parse, expected, topEntity, entity, version);
+
+
+ }
+
+
+ /**
+ * Bad URI.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ */
+ @Test
+ public void badURI() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
+ URI uri = UriBuilder.fromPath("/aai/" + loader.getVersion() + "/cloud-infrastructure/cloud-regions/cloud-region/mycloudowner/mycloudregionid/tenants/tenant/key1/vservers/vserver/key2/l-interadsfaces/l-interface/key3").build();
+
+ thrown.expect(AAIException.class);
+ thrown.expect(hasProperty("code", is("AAI_3000")));
+
+ new URIToObject(loader, uri);
+ }
+
+ /**
+ * Starts with valid namespace.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ */
+ @Test
+ public void startsWithValidNamespace() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
+ URI uri = UriBuilder.fromPath("/cloud-infrastructure/cloud-regions/cloud-region/mycloudowner/mycloudregionid/tenants/tenant/key1/vservers/vserver/key2/l-interfaces/l-interface/key3").build();
+ URIToObject parse = new URIToObject(loader, uri);
+ Introspector result = parse.getTopEntity();
+ String expected = "{\"cloud-owner\":\"mycloudowner\",\"cloud-region-id\":\"mycloudregionid\",\"tenants\":{\"tenant\":[{\"tenant-id\":\"key1\",\"vservers\":{\"vserver\":[{\"vserver-id\":\"key2\",\"l-interfaces\":{\"l-interface\":[{\"interface-name\":\"key3\"}]}}]}}]}}";
+ String topEntity = "cloud-region";
+ String entity = "l-interface";
+
+ testSet(result.marshal(false), parse, expected, topEntity, entity, version);
+ }
+
+ /**
+ * Single top level.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ */
+ @Test
+ public void singleTopLevel() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
+ URI uri = UriBuilder.fromPath("/network/generic-vnfs/generic-vnf/key1").build();
+ URIToObject parse = new URIToObject(loader, uri);
+ Introspector result = parse.getTopEntity();
+ String expected = "{\"vnf-id\":\"key1\"}";
+
+ String topEntity = "generic-vnf";
+ String entity = "generic-vnf";
+
+ testSet(result.marshal(false), parse, expected, topEntity, entity, version);
+
+ }
+
+ /**
+ * Naming exceptions.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ */
+ @Test
+ public void namingExceptions() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
+ URI uri = UriBuilder.fromPath("network/vces/vce/key1/port-groups/port-group/key2/cvlan-tags/cvlan-tag/655").build();
+ URIToObject parse = new URIToObject(loader, uri);
+ Introspector result = parse.getTopEntity();
+ String expected = "{\"vnf-id\":\"key1\",\"port-groups\":{\"port-group\":[{\"interface-id\":\"key2\",\"cvlan-tags\":{\"cvlan-tag-entry\":[{\"cvlan-tag\":655}]}}]}}";
+ String topEntity = "vce";
+ String entity = "cvlan-tag";
+
+ testSet(result.marshal(false), parse, expected, topEntity, entity, version);
+
+ }
+
+ /**
+ * No list object.
+ *
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
+ public void noListObject() throws IllegalArgumentException, UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("/aai/v6/network/vpls-pes/vpls-pe/0e6189fd-9257-49b9-a3be-d7ba980ccfc9/lag-interfaces/lag-interface/8ae5aa76-d597-4382-b219-04f266fe5e37/l-interfaces/l-interface/9e141d03-467b-437f-b4eb-b3133ec1e205/l3-interface-ipv4-address-list/8f19f0ea-a81f-488e-8d5c-9b7b53696c11").build();
+ URIToObject parse = new URIToObject(loader, uri);
+ Introspector result = parse.getTopEntity();
+ String topEntity = "vpls-pe";
+ String entity = "l3-interface-ipv4-address-list";
+ String expected = "{\"equipment-name\":\"0e6189fd-9257-49b9-a3be-d7ba980ccfc9\",\"lag-interfaces\":{\"lag-interface\":[{\"interface-name\":\"8ae5aa76-d597-4382-b219-04f266fe5e37\",\"l-interfaces\":{\"l-interface\":[{\"interface-name\":\"9e141d03-467b-437f-b4eb-b3133ec1e205\",\"l3-interface-ipv4-address-list\":[{\"l3-interface-ipv4-address\":\"8f19f0ea-a81f-488e-8d5c-9b7b53696c11\"}]}]}}]}}";
+ testSet(result.marshal(false), parse, expected, topEntity, entity, version);
+
+ }
+
+ @Test
+ public void relativePath() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
+ URI uri = UriBuilder.fromPath("./l-interfaces/l-interface/key1").build();
+ URIToObject parse = new URIToObject(loader, uri);
+ Introspector result = parse.getEntity();
+ String expected = "{\"interface-name\":\"key1\"}";
+
+ String topEntity = "l-interface";
+ String entity = "l-interface";
+
+ testSet(result.marshal(false), parse, expected, topEntity, entity, version);
+
+ }
+
+ /**
+ * Test set.
+ *
+ * @param json the json
+ * @param parse the parse
+ * @param expected the expected
+ * @param topEntity the top entity
+ * @param entity the entity
+ * @param version the version
+ */
+ public void testSet(String json, URIToObject parse, String expected, String topEntity, String entity, Version version) {
+ assertEquals("blah", expected, json);
+
+ assertEquals("top entity", topEntity, parse.getTopEntityName());
+
+ assertEquals("entity", entity, parse.getEntityName());
+
+ assertEquals("entity object", entity, parse.getEntity().getDbName());
+
+ assertEquals("parent list object", 1, parse.getParentList().size());
+
+ assertEquals("object version", version, parse.getObjectVersion());
+ }
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/parsers/uri/URIToRelationshipObjectTest.java b/aai-core/src/test/java/org/openecomp/aai/parsers/uri/URIToRelationshipObjectTest.java
new file mode 100644
index 00000000..8ecc5459
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/parsers/uri/URIToRelationshipObjectTest.java
@@ -0,0 +1,163 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.parsers.uri;
+
+import static org.hamcrest.Matchers.hasProperty;
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertTrue;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import javax.ws.rs.core.UriBuilder;
+import javax.xml.bind.JAXBException;
+
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+
+import org.openecomp.aai.db.props.AAIProperties;
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.introspection.Introspector;
+import org.openecomp.aai.introspection.Loader;
+import org.openecomp.aai.introspection.LoaderFactory;
+import org.openecomp.aai.introspection.ModelType;
+import org.openecomp.aai.introspection.Version;
+
+
+public class URIToRelationshipObjectTest {
+
+ private Version latest = AAIProperties.LATEST;
+ private Loader loader = LoaderFactory.createLoaderForVersion(ModelType.MOXY, latest);
+
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+
+ /**
+ * Configure.
+ */
+ @BeforeClass
+ public static void configure() {
+ System.setProperty("AJSC_HOME", "./src/test/resources/");
+ System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+ }
+
+ /**
+ * Uri.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws URISyntaxException
+ * @throws MalformedURLException the malformed URL exception
+ */
+ @Test
+ public void uri() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException, URISyntaxException {
+ URI uri = UriBuilder.fromPath("/aai/" + loader.getVersion() + "/cloud-infrastructure/cloud-regions/cloud-region/mycloudregionowner/mycloudregionid/tenants/tenant/key1/vservers/vserver/key2/l-interfaces/l-interface/key3").build();
+ URIToRelationshipObject parse = new URIToRelationshipObject(loader, uri);
+ Introspector result = parse.getResult();
+ String expected = "\\{\"related-to\":\"l-interface\",\"related-link\":\".*?:8443/aai/" + latest + "/cloud-infrastructure/cloud-regions/cloud-region/mycloudregionowner/mycloudregionid/tenants/tenant/key1/vservers/vserver/key2/l-interfaces/l-interface/key3\",\"relationship-data\":\\[\\{\"relationship-key\":\"cloud-region.cloud-owner\",\"relationship-value\":\"mycloudregionowner\"\\},\\{\"relationship-key\":\"cloud-region.cloud-region-id\",\"relationship-value\":\"mycloudregionid\"\\},\\{\"relationship-key\":\"tenant.tenant-id\",\"relationship-value\":\"key1\"\\},\\{\"relationship-key\":\"vserver.vserver-id\",\"relationship-value\":\"key2\"\\},\\{\"relationship-key\":\"l-interface.interface-name\",\"relationship-value\":\"key3\"\\}\\]\\}";
+ assertTrue("blah", result.marshal(false).matches(expected));
+
+ }
+
+ /**
+ * Uri no version.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws URISyntaxException
+ * @throws MalformedURLException the malformed URL exception
+ */
+ @Test
+ public void uriNoVersion() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException, URISyntaxException {
+ URI uri = UriBuilder.fromPath("/cloud-infrastructure/cloud-regions/cloud-region/mycloudregionowner/mycloudregionid/tenants/tenant/key1/vservers/vserver/key2/l-interfaces/l-interface/key3").build();
+ URIToRelationshipObject parse = new URIToRelationshipObject(loader, uri);
+ Introspector result = parse.getResult();
+ String expected = "\\{\"related-to\":\"l-interface\",\"related-link\":\".*?:8443/aai/" + latest + "/cloud-infrastructure/cloud-regions/cloud-region/mycloudregionowner/mycloudregionid/tenants/tenant/key1/vservers/vserver/key2/l-interfaces/l-interface/key3\",\"relationship-data\":\\[\\{\"relationship-key\":\"cloud-region.cloud-owner\",\"relationship-value\":\"mycloudregionowner\"\\},\\{\"relationship-key\":\"cloud-region.cloud-region-id\",\"relationship-value\":\"mycloudregionid\"\\},\\{\"relationship-key\":\"tenant.tenant-id\",\"relationship-value\":\"key1\"\\},\\{\"relationship-key\":\"vserver.vserver-id\",\"relationship-value\":\"key2\"\\},\\{\"relationship-key\":\"l-interface.interface-name\",\"relationship-value\":\"key3\"\\}\\]\\}";
+ assertTrue("blah", result.marshal(false).matches(expected));
+
+
+ }
+
+ /**
+ * Double key relationship.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws URISyntaxException
+ * @throws MalformedURLException the malformed URL exception
+ */
+ @Test
+ public void doubleKeyRelationship() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException, URISyntaxException {
+ URI uri = UriBuilder.fromPath("/aai/" + latest + "/cloud-infrastructure/complexes/complex/key1/ctag-pools/ctag-pool/key2/key3/").build();
+ URIToRelationshipObject parse = new URIToRelationshipObject(loader, uri);
+ Introspector result = parse.getResult();
+ String expected = "\\{\"related-to\":\"ctag-pool\",\"related-link\":\".*?:8443/aai/" + latest + "/cloud-infrastructure/complexes/complex/key1/ctag-pools/ctag-pool/key2/key3\",\"relationship-data\":\\[\\{\"relationship-key\":\"complex.physical-location-id\",\"relationship-value\":\"key1\"\\},\\{\"relationship-key\":\"ctag-pool.target-pe\",\"relationship-value\":\"key2\"\\},\\{\"relationship-key\":\"ctag-pool.availability-zone-name\",\"relationship-value\":\"key3\"\\}\\]\\}";
+ assertTrue("blah", result.marshal(false).matches(expected));
+
+ }
+
+ /**
+ * Uri with non string key.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws URISyntaxException
+ * @throws MalformedURLException the malformed URL exception
+ */
+ @Test
+ public void uriWithNonStringKey() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException, URISyntaxException {
+ URI uri = UriBuilder.fromPath("/aai/" + latest + "/network/vces/vce/key1/port-groups/port-group/key2/cvlan-tags/cvlan-tag/144").build();
+ URIToRelationshipObject parse = new URIToRelationshipObject(loader, uri);
+ Introspector result = parse.getResult();
+ String expected = "\\{\"related-to\":\"cvlan-tag\",\"related-link\":\".*?:8443/aai/" + latest + "/network/vces/vce/key1/port-groups/port-group/key2/cvlan-tags/cvlan-tag/144\",\"relationship-data\":\\[\\{\"relationship-key\":\"vce.vnf-id\",\"relationship-value\":\"key1\"\\},\\{\"relationship-key\":\"port-group.interface-id\",\"relationship-value\":\"key2\"\\},\\{\"relationship-key\":\"cvlan-tag.cvlan-tag\",\"relationship-value\":\"144\"\\}\\]\\}";
+ assertTrue("blah", result.marshal(false).matches(expected));
+ }
+ /**
+ * Bad URI.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ */
+ @Test
+ public void badURI() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
+ URI uri = UriBuilder.fromPath("/aai/" + loader.getVersion() + "/cloud-infrastructure/cloud-regions/cloud-region/mycloudregionowner/mycloudregionid/tenants/tenant/key1/vservers/vserver/key2/l-interadsfaces/l-interface/key3").build();
+
+ thrown.expect(AAIException.class);
+ thrown.expect(hasProperty("code", is("AAI_3000")));
+
+ URIToObject parse = new URIToObject(loader, uri);
+
+ }
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/query/builder/TraversalQueryTest.java b/aai-core/src/test/java/org/openecomp/aai/query/builder/TraversalQueryTest.java
new file mode 100644
index 00000000..0a2d6541
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/query/builder/TraversalQueryTest.java
@@ -0,0 +1,103 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.query.builder;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.mockito.Mock;
+
+import org.openecomp.aai.db.props.AAIProperties;
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.introspection.Introspector;
+import org.openecomp.aai.introspection.Loader;
+import org.openecomp.aai.introspection.LoaderFactory;
+import org.openecomp.aai.introspection.ModelType;
+import org.openecomp.aai.serialization.queryformats.QueryFormatTestHelper;
+import org.openecomp.aai.util.AAIConstants;
+
+public class TraversalQueryTest {
+
+ public static Loader loader;
+ @Mock public GraphTraversalSource g;
+ @BeforeClass
+ public static void configure() throws NoSuchFieldException, SecurityException, Exception {
+
+ System.setProperty("AJSC_HOME", "./src/test/resources/");
+ System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+ QueryFormatTestHelper.setFinalStatic(AAIConstants.class.getField("AAI_HOME_ETC_OXM"), "src/test/resources/org/openecomp/aai/introspection/");
+ loader = LoaderFactory.createLoaderForVersion(ModelType.MOXY, AAIProperties.LATEST);
+ }
+
+ @Test
+ public void unionQuery() {
+ TraversalQuery tQ = new TraversalQuery(loader, g);
+ TraversalQuery tQ2 = new TraversalQuery(loader, g);
+ TraversalQuery tQ3 = new TraversalQuery(loader, g);
+ tQ.union(
+ tQ2.getVerticesByProperty("test1", "value1"),
+ tQ3.getVerticesByIndexedProperty("test2", "value2"));
+
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+ .union(__.has("test1", "value1"),__.has("test2", "value2"));
+
+ assertEquals("they are equal", expected, tQ.getQuery());
+
+ }
+
+ @Test
+ public void traversalClones() throws UnsupportedEncodingException, AAIException, URISyntaxException {
+ TraversalQuery tQ = new TraversalQuery(loader, g);
+ Introspector test = loader.introspectorFromName("test-object");
+ QueryBuilder builder = tQ.createQueryFromURI(new URI("network/test-objects/test-object/key1")).getQueryBuilder();
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start().has("vnf-id", "key1").has("aai-node-type", "test-object");
+ GraphTraversal<Vertex, Vertex> containerExpected = __.<Vertex>start().has("aai-node-type", "test-object");
+
+ assertEquals("query object", expected.toString(), builder.getQuery().toString());
+ assertEquals("container query object", containerExpected.toString(), builder.getContainerQuery().getQuery().toString());
+
+ }
+
+ @Test
+ public void nestedTraversalClones() throws UnsupportedEncodingException, AAIException, URISyntaxException {
+
+ TraversalQuery tQ = new TraversalQuery(loader, g);
+ QueryBuilder builder = tQ.createQueryFromURI(new URI("network/generic-vnfs/generic-vnf/key1/l-interfaces/l-interface/key2")).getQueryBuilder();
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start().has("vnf-id", "key1").has("aai-node-type", "generic-vnf").out("hasLInterface").has(AAIProperties.NODE_TYPE, "l-interface").has("interface-name", "key2");
+ GraphTraversal<Vertex, Vertex> containerExpected = __.<Vertex>start().has("vnf-id", "key1").has("aai-node-type", "generic-vnf").out("hasLInterface").has(AAIProperties.NODE_TYPE, "l-interface");
+
+ assertEquals("query object", expected.toString(), builder.getQuery().toString());
+ assertEquals("container query object", containerExpected.toString(), builder.getContainerQuery().getQuery().toString());
+
+ }
+
+
+
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/serialization/db/DbAliasTest.java b/aai-core/src/test/java/org/openecomp/aai/serialization/db/DbAliasTest.java
new file mode 100644
index 00000000..3f73b7c7
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/serialization/db/DbAliasTest.java
@@ -0,0 +1,138 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.serialization.db;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import java.io.UnsupportedEncodingException;
+import java.lang.reflect.InvocationTargetException;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.Map;
+
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import org.openecomp.aai.dbmap.DBConnectionType;
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.introspection.Introspector;
+import org.openecomp.aai.introspection.Loader;
+import org.openecomp.aai.introspection.LoaderFactory;
+import org.openecomp.aai.introspection.ModelType;
+import org.openecomp.aai.introspection.Version;
+import org.openecomp.aai.parsers.query.QueryParser;
+import org.openecomp.aai.schema.enums.PropertyMetadata;
+import org.openecomp.aai.serialization.engines.QueryStyle;
+import org.openecomp.aai.serialization.engines.TitanDBEngine;
+import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
+import com.thinkaurelius.titan.core.TitanFactory;
+import com.thinkaurelius.titan.core.TitanGraph;
+import com.thinkaurelius.titan.core.TitanTransaction;
+
+import java.util.Collections;
+
+public class DbAliasTest {
+
+
+
+ private TitanGraph graph;
+ private final Version version = Version.v9;
+ private final ModelType introspectorFactoryType = ModelType.MOXY;
+ private final QueryStyle queryStyle = QueryStyle.TRAVERSAL;
+ private final DBConnectionType type = DBConnectionType.REALTIME;
+ private Loader loader;
+ private TransactionalGraphEngine dbEngine;
+ @Before
+ public void setup() throws NoSuchFieldException, SecurityException, Exception {
+ graph = TitanFactory.build().set("storage.backend","inmemory").open();
+ System.setProperty("AJSC_HOME", "./src/test/resources/");
+ System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+ loader = LoaderFactory.createLoaderForVersion(introspectorFactoryType, version);
+ dbEngine = new TitanDBEngine(
+ queryStyle,
+ type,
+ loader);
+ }
+
+ @After
+ public void tearDown() {
+ graph.tx().rollback();
+ graph.close();
+ }
+
+ @Test
+ public void checkOnWrite() throws AAIException, UnsupportedEncodingException, URISyntaxException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, InstantiationException, NoSuchMethodException, InterruptedException {
+ final String property = "persona-model-customization-id";
+ String dbPropertyName = property;
+ TransactionalGraphEngine spy = spy(this.dbEngine);
+ TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
+ TitanTransaction g = graph.newTransaction();
+ GraphTraversalSource traversal = g.traversal();
+ when(spy.asAdmin()).thenReturn(adminSpy);
+ when(adminSpy.getTraversalSource()).thenReturn(traversal);
+ DBSerializer serializer = new DBSerializer(version, spy, introspectorFactoryType, "AAI_TEST");
+ QueryParser uriQuery = spy.getQueryBuilder().createQueryFromURI(new URI("network/generic-vnfs/generic-vnf/key1"));
+ Introspector obj = loader.introspectorFromName("generic-vnf");
+ Vertex v = g.addVertex();
+ Object id = v.id();
+ obj.setValue("vnf-id", "key1");
+ obj.setValue(property, "hello");
+ serializer.serializeToDb(obj, v, uriQuery, "", "");
+ g.commit();
+ v = graph.traversal().V(id).next();
+ Map<PropertyMetadata, String> map = obj.getPropertyMetadata(property);
+ if (map.containsKey(PropertyMetadata.DB_ALIAS)) {
+ dbPropertyName = map.get(PropertyMetadata.DB_ALIAS);
+ }
+
+ assertEquals("dbAlias is ", "model-customization-id", dbPropertyName);
+ assertEquals("dbAlias property exists", "hello", v.property(dbPropertyName).orElse(""));
+ assertEquals("model property does not", "missing", v.property(property).orElse("missing"));
+
+ }
+
+ @Test
+ public void checkOnRead() throws AAIException, UnsupportedEncodingException, URISyntaxException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, InstantiationException, NoSuchMethodException, InterruptedException, MalformedURLException {
+ final String property = "persona-model-customization-id";
+
+ TransactionalGraphEngine spy = spy(dbEngine);
+ TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
+ Vertex v = graph.traversal().addV("vnf-id", "key1", "model-customization-id", "hello").next();
+ graph.tx().commit();
+ TitanTransaction g = graph.newTransaction();
+ GraphTraversalSource traversal = g.traversal();
+ when(spy.asAdmin()).thenReturn(adminSpy);
+ when(adminSpy.getTraversalSource()).thenReturn(traversal);
+ DBSerializer serializer = new DBSerializer(version, spy, introspectorFactoryType, "AAI_TEST");
+ Introspector obj = loader.introspectorFromName("generic-vnf");
+ serializer.dbToObject(Collections.singletonList(v), obj, 0, true, "false");
+
+ assertEquals("dbAlias property exists", "hello", obj.getValue(property));
+
+ }
+
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/serialization/db/EdgeRulesTest.java b/aai-core/src/test/java/org/openecomp/aai/serialization/db/EdgeRulesTest.java
new file mode 100644
index 00000000..9411e319
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/serialization/db/EdgeRulesTest.java
@@ -0,0 +1,83 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.serialization.db;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.Map;
+
+import org.apache.tinkerpop.gremlin.structure.Direction;
+import org.junit.Test;
+
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
+
+public class EdgeRulesTest {
+
+
+
+
+ @Test
+ public void verifyOutDirection() throws AAIException, NoEdgeRuleFoundException {
+ EdgeRules rules = EdgeRules.getInstance();
+ EdgeRule rule = rules.getEdgeRule(EdgeType.TREE, "cloud-region", "flavor");
+
+ assertEquals("out direction", rule.getDirection(), Direction.OUT);
+ }
+
+ @Test
+ public void verifyOutFlippedDirection() throws AAIException, NoEdgeRuleFoundException {
+ EdgeRules rules = EdgeRules.getInstance();
+ EdgeRule rule = rules.getEdgeRule(EdgeType.TREE, "flavor", "cloud-region");
+
+ assertEquals("in direction", rule.getDirection(), Direction.IN);
+ }
+
+ @Test
+ public void verifyInDirection() throws AAIException, NoEdgeRuleFoundException {
+ EdgeRules rules = EdgeRules.getInstance();
+ EdgeRule rule = rules.getEdgeRule(EdgeType.COUSIN, "model-ver", "model-element");
+
+ assertEquals("in direction", rule.getDirection(), Direction.IN);
+ }
+
+ @Test
+ public void verifyInFlippedDirection() throws AAIException, NoEdgeRuleFoundException {
+ EdgeRules rules = EdgeRules.getInstance();
+ EdgeRule rule = rules.getEdgeRule(EdgeType.COUSIN, "model-element", "model-ver");
+
+ assertEquals("out direction", rule.getDirection(), Direction.OUT);
+ }
+ @Test
+ public void verifyMultipleGet() throws AAIException {
+ EdgeRules rules = EdgeRules.getInstance();
+ Map<String, EdgeRule> ruleMap = rules.getEdgeRules("model-element", "model-ver");
+ assertEquals("has isA rule", "isA", ruleMap.get("isA").getLabel());
+ assertEquals("has startsWith rule", "startsWith", ruleMap.get("startsWith").getLabel());
+ }
+
+ @Test
+ public void verifyMultipleGetSingleRule() throws AAIException {
+ EdgeRules rules = EdgeRules.getInstance();
+ Map<String, EdgeRule> ruleMap = rules.getEdgeRules("availability-zone", "complex");
+ assertEquals("has groupsResourcesIn rule", "groupsResourcesIn", ruleMap.get("groupsResourcesIn").getLabel());
+ }
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/serialization/queryformats/QueryFormatTestHelper.java b/aai-core/src/test/java/org/openecomp/aai/serialization/queryformats/QueryFormatTestHelper.java
new file mode 100644
index 00000000..d6a45662
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/serialization/queryformats/QueryFormatTestHelper.java
@@ -0,0 +1,76 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.serialization.queryformats;
+
+import static org.mockito.Matchers.isA;
+import static org.mockito.Mockito.when;
+
+import java.io.IOException;
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+
+import org.apache.tinkerpop.gremlin.structure.Graph;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.io.IoCore;
+import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+
+import org.openecomp.aai.db.props.AAIProperties;
+import org.openecomp.aai.serialization.queryformats.exceptions.AAIFormatVertexException;
+import org.openecomp.aai.serialization.queryformats.utils.UrlBuilder;
+
+public class QueryFormatTestHelper {
+
+
+ public static final String testResources = "src/test/resources/org/openecomp/aai/serialization/queryformats/";
+ public static final String graphsonResources = "src/test/resources/org/openecomp/aai/serialization/queryformats/graphson/";
+
+
+ public static void mockPathed(UrlBuilder mock) throws AAIFormatVertexException {
+ Answer<String> answer = new Answer<String>() {
+ public String answer(InvocationOnMock invocation) throws Throwable {
+ Vertex v = invocation.getArgumentAt(0, Vertex.class);
+
+ return v.<String>property(AAIProperties.AAI_URI).orElse("urimissing");
+ }
+ };
+ when(mock.pathed(isA(Vertex.class))).thenAnswer(answer);
+
+ }
+
+ public static Graph loadGraphson(String fileName) throws IOException {
+ final Graph graph = TinkerGraph.open();
+ graph.io(IoCore.graphson()).readGraph(QueryFormatTestHelper.graphsonResources + fileName);
+
+ return graph;
+ }
+
+ public static void setFinalStatic(Field field, Object newValue) throws Exception {
+ field.setAccessible(true);
+ // remove final modifier from field
+ Field modifiersField = Field.class.getDeclaredField("modifiers");
+ modifiersField.setAccessible(true);
+ modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
+ field.set(null, newValue);
+ }
+
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/serialization/tinkerpop/TreeBackedVertexTest.java b/aai-core/src/test/java/org/openecomp/aai/serialization/tinkerpop/TreeBackedVertexTest.java
new file mode 100644
index 00000000..18fa7db3
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/serialization/tinkerpop/TreeBackedVertexTest.java
@@ -0,0 +1,150 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.serialization.tinkerpop;
+
+import static org.junit.Assert.assertEquals;
+
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
+import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree;
+import org.apache.tinkerpop.gremlin.structure.Direction;
+import org.apache.tinkerpop.gremlin.structure.Element;
+import org.apache.tinkerpop.gremlin.structure.Graph;
+import org.apache.tinkerpop.gremlin.structure.T;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import org.openecomp.aai.serialization.engines.query.GraphTraversalQueryEngine;
+
+public class TreeBackedVertexTest {
+
+
+ private static Graph graph = TinkerGraph.open();
+ private static Object startKey = null;
+ private static Tree<Element> tree = null;
+ private static Tree<Element> treeDepth1 = null;
+ private static Tree<Element> treeDepth0NodeOnly = null;
+ @BeforeClass
+ public static void configure() {
+ GraphTraversalSource g = graph.traversal();
+
+ startKey = g.addV(T.label, "vserver").as("v1").property("test", "hello")
+ .addV(T.label, "vserver").as("v2")
+ .addV(T.label, "interface").property("name", "interface 1").as("v7").addInE("hasChild", "v2").property("isParent", true)
+ .addV(T.label, "pserver").property("name", "pserver 1").as("v4").addOutE("runsOn", "v1").property("isParent", false)
+ .addV(T.label, "interface").property("name", "interface 2").as("v3").addInE("hasChild", "v1").property("isParent", true)
+ .addV(T.label, "address").property("name", "address 1").addInE("hasChild", "v3").property("isParent", true)
+ .addV(T.label, "address").property("name", "address 2").addInE("hasChild", "v3").property("isParent", true)
+ .addV(T.label, "complex").property("name", "complex 1").addInE("locatedIn", "v4").property("isParent", false)
+ .addV(T.label, "interface").property("name", "interface 3").addInE("hasChild", "v4").property("isParent", true)
+ .addV(T.label, "subnet").property("name", "subnet 1").as("v5").addInE("in", "v3").property("isParent", false)
+ .addV(T.label, "address").property("name", "address 3").as("v6").addInE("hasChild", "v5").property("isParent", true)
+ .select("v1").next();
+
+ tree = new GraphTraversalQueryEngine(g).findSubGraph((Vertex)startKey);
+ treeDepth1 = new GraphTraversalQueryEngine(g).findSubGraph((Vertex)startKey, 1, false);
+ treeDepth0NodeOnly = new GraphTraversalQueryEngine(g).findSubGraph((Vertex)startKey, 0, true);
+ }
+ @Test
+ public void oneHopViaEdges() {
+
+ //BulkSet set = (BulkSet)result;
+ TreeBackedVertex v = new TreeBackedVertex((Vertex)tree.getObjectsAtDepth(1).iterator().next(), tree);
+
+
+ assertEquals("locate child", v.edges(Direction.OUT).next().inVertex().property("name").orElse(""), "interface 2");
+ assertEquals("locate cousin", v.edges(Direction.IN).next().outVertex().property("name").orElse(""), "pserver 1");
+
+
+ }
+
+ @Test
+ public void oneHopViaVertices() {
+
+ //BulkSet set = (BulkSet)result;
+ TreeBackedVertex v = new TreeBackedVertex((Vertex)tree.getObjectsAtDepth(1).iterator().next(), tree);
+
+
+ assertEquals("locate child", "interface 2", v.vertices(Direction.OUT).next().property("name").orElse(""));
+ assertEquals("locate cousin", "pserver 1", v.vertices(Direction.IN).next().property("name").orElse(""));
+
+ }
+
+ @Test
+ public void twoHopCousinViaVertices() {
+
+ //BulkSet set = (BulkSet)result;
+ TreeBackedVertex v = new TreeBackedVertex((Vertex)tree.getObjectsAtDepth(1).iterator().next(), tree);
+
+
+ assertEquals("locate child", "subnet 1", v.vertices(Direction.OUT).next().vertices(Direction.OUT, "in").next().property("name").orElse(""));
+
+ }
+
+ @Test
+ public void walkVerticesRestrictedDepth() {
+
+ //BulkSet set = (BulkSet)result;
+ TreeBackedVertex v = new TreeBackedVertex((Vertex)treeDepth1.getObjectsAtDepth(1).iterator().next(), treeDepth1);
+
+
+ assertEquals("nothing returned", false, v.vertices(Direction.OUT).next()
+ .vertices(Direction.OUT, "hasChild").hasNext());
+
+ }
+
+ @Test
+ public void walkVertices() {
+ TreeBackedVertex v = new TreeBackedVertex((Vertex)tree.getObjectsAtDepth(1).iterator().next(), tree);
+ assertEquals("locate child", "address 2", v.vertices(Direction.OUT).next()
+ .vertices(Direction.OUT, "hasChild").next().property("name").orElse(""));
+ }
+
+ @Test
+ public void walkEdges() {
+ TreeBackedVertex v = new TreeBackedVertex((Vertex)tree.getObjectsAtDepth(1).iterator().next(), tree);
+
+ assertEquals("locate child", "address 2", v.edges(Direction.OUT).next().inVertex()
+ .edges(Direction.OUT, "hasChild").next().inVertex().property("name").orElse(""));
+ }
+
+ @Test
+ public void noEdgesFoudWithLabelVertices() {
+ TreeBackedVertex v = new TreeBackedVertex((Vertex)tree.getObjectsAtDepth(1).iterator().next(), tree);
+
+ assertEquals("missing hello label", false , v.vertices(Direction.OUT, "hello").hasNext());
+ }
+
+ @Test
+ public void noEdgesFoudWithLabelEdges() {
+ TreeBackedVertex v = new TreeBackedVertex((Vertex)tree.getObjectsAtDepth(1).iterator().next(), tree);
+
+ assertEquals("missing hello label", false , v.edges(Direction.OUT, "hello").hasNext());
+ }
+
+ @Test
+ public void depthZeroNodeOnly() {
+ TreeBackedVertex v = new TreeBackedVertex((Vertex)treeDepth0NodeOnly.getObjectsAtDepth(1).iterator().next(), treeDepth0NodeOnly);
+ assertEquals("no edges returned", false, v.edges(Direction.BOTH).hasNext());
+ }
+
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/util/CNNameTest.java b/aai-core/src/test/java/org/openecomp/aai/util/CNNameTest.java
new file mode 100644
index 00000000..7017c354
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/util/CNNameTest.java
@@ -0,0 +1,133 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.util;
+
+import ch.qos.logback.access.spi.IAccessEvent;
+import org.openecomp.aai.logging.CNName;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.powermock.core.classloader.annotations.PowerMockIgnore;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.agent.PowerMockAgent;
+
+import javax.security.auth.x500.X500Principal;
+import javax.servlet.http.HttpServletRequest;
+import java.security.cert.X509Certificate;
+
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.when;
+
+@PowerMockIgnore("javax.security.auth.x500.X500Principal")
+@PrepareForTest({IAccessEvent.class, HttpServletRequest.class, X509Certificate.class})
+public class CNNameTest {
+
+ static {
+ PowerMockAgent.initializeIfNeeded();
+ }
+
+
+ IAccessEvent mockAccEvent;
+ HttpServletRequest mockHttpServletRequest;
+ CNName cnname;
+ X509Certificate cert;
+
+ /**
+ * Initialize.
+ */
+ @Before
+ public void initialize(){
+ mockAccEvent = Mockito.mock(IAccessEvent.class);
+ mockHttpServletRequest = Mockito.mock(HttpServletRequest.class);
+ cert = Mockito.mock(X509Certificate.class);
+ }
+
+
+ /**
+ * Test 'convert' when there is no AccessConverter.
+ */
+ @Test
+ public void testConvert_withoutAccessConverter(){
+ cnname = getTestObj(false);
+ assertTrue("Conversion failed with no AccessConverter", "INACTIVE_HEADER_CONV".equals(cnname.convert(mockAccEvent)));
+ }
+
+ /**
+ * Test 'convert' with no CipherSuite.
+ */
+ @Test
+ public void testConvert_withNullCipherSuite(){
+ setupForCipherSuite(null);
+ assertTrue("Conversion failed for a null CipherSuite", "-".equals(cnname.convert(mockAccEvent)));
+ }
+
+
+ /**
+ * Test 'convert' with a non-null CipherSuite.
+ */
+ @Test
+ public void testConvert_withNotNullCipherSuite(){
+
+ setupForCipherSuite("StrRepOfAValidSuite");
+
+ final X500Principal principal = new X500Principal("CN=AAI, OU=DOX, O=BWS, C=CA");
+
+ Mockito.when(cert.getSubjectX500Principal()).thenReturn(principal);
+
+ final X509Certificate[] certChain = {cert};
+
+ when(mockHttpServletRequest.getAttribute("javax.servlet.request.X509Certificate")).thenReturn(certChain);
+
+ assertTrue("Conversion failed for a valid CipherSuite", principal.toString().equals(cnname.convert(mockAccEvent)));
+ }
+
+
+ /**
+ * Helper method to mock IAccessEvent and HttpServletRequest.
+ *
+ * @param suite CipherSuite to be used in current test
+ */
+ private void setupForCipherSuite(String suite){
+ cnname = getTestObj(true);
+ when(mockAccEvent.getRequest()).thenReturn(mockHttpServletRequest);
+ when(mockHttpServletRequest.getAttribute("javax.servlet.request.cipher_suite")).thenReturn(suite);
+ }
+
+
+ /**
+ * Helper method to create a CNName object with overridden 'start status' .
+ *
+ * @param instanceStarted Start status to be used
+ * @return CNName object to test
+ */
+ private CNName getTestObj(final boolean instanceStarted){
+ return new CNName(){
+ @Override
+ public boolean isStarted(){
+ return instanceStarted;
+ }
+ };
+ }
+}
+
+
+
diff --git a/aai-core/src/test/java/org/openecomp/aai/util/CustomLogPatternLayoutTest.java b/aai-core/src/test/java/org/openecomp/aai/util/CustomLogPatternLayoutTest.java
new file mode 100644
index 00000000..9b42eb3d
--- /dev/null
+++ b/aai-core/src/test/java/org/openecomp/aai/util/CustomLogPatternLayoutTest.java
@@ -0,0 +1,51 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.util;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import org.junit.Test;
+
+import org.openecomp.aai.logging.CNName;
+import org.openecomp.aai.logging.CustomLogPatternLayout;
+
+public class CustomLogPatternLayoutTest {
+
+ /**
+ * Test null when defaultConverterMap doesn't have corresponding entry.
+ */
+ @Test
+ public void testNull(){
+ String s = CustomLogPatternLayout.defaultConverterMap.get("z");
+ assertFalse("Entry not found for key 'z'", CNName.class.getName().equals(s));
+ }
+
+ /**
+ * Test defaultConverterMap when valid entry exists.
+ */
+ @Test
+ public void testEntryFor_Z(){
+ CustomLogPatternLayout layout = new CustomLogPatternLayout();
+ String s = CustomLogPatternLayout.defaultConverterMap.get("z");
+ assertTrue("Entry not found for key 'z'", CNName.class.getName().equals(s));
+ }
+
+}
diff --git a/aai-core/src/test/resources/bundleconfig-local/etc/appprops/aaiconfig.properties b/aai-core/src/test/resources/bundleconfig-local/etc/appprops/aaiconfig.properties
new file mode 100644
index 00000000..7c829496
--- /dev/null
+++ b/aai-core/src/test/resources/bundleconfig-local/etc/appprops/aaiconfig.properties
@@ -0,0 +1,25 @@
+###
+# ============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=========================================================
+###
+
+aai.server.url.base=https://baseurl:8443/aai/
+aai.resourceversion.enableflag=true
+aai.logging.maxStackTraceEntries=10
+aai.default.api.version=v9
+
diff --git a/aai-core/src/test/resources/bundleconfig-local/etc/appprops/error.properties b/aai-core/src/test/resources/bundleconfig-local/etc/appprops/error.properties
new file mode 100644
index 00000000..4e98d62c
--- /dev/null
+++ b/aai-core/src/test/resources/bundleconfig-local/etc/appprops/error.properties
@@ -0,0 +1,163 @@
+# Adding comment trying to trigger a build
+#------------------------------------------------------------------------------- ----------
+#Key=Disposition:Category:Severity:Error Code:HTTP ResponseCode:RESTError Code:Error Message
+#------------------------------------------------------------------------------- ----------
+# testing code, please don't change unless error utility source code changes
+AAI_TESTING=5:2:WARN:0000:400:0001:Error code for testing
+
+# General success
+AAI_0000=0:0:INFO:0000:200:0000:Success
+
+# health check success
+AAI_0001=0:0:INFO:0001:200:0001:Success X-FromAppId=%1 X-TransactionId=%2
+AAI_0002=0:0:INFO:0002:200:0001:Successful health check
+
+# Success with additional info
+AAI_0003=0:3:INFO:0003:202:0003:Success with additional info performing %1 on %2. Added %3 with key %4
+AAI_0004=0:3:INFO:0004:202:0003:Added prerequisite object to db
+
+#--- aairest: 3000-3299
+# svc errors
+AAI_3000=5:2:INFO:3000:400:3000:Invalid input performing %1 on %2
+AAI_3001=5:6:INFO:3001:404:3001:Resource not found for %1 using id %2
+AAI_3002=5:1:WARN:3002:400:3002:Error writing output performing %1 on %2
+AAI_3003=5:1:WARN:3003:400:3003:Failed to make edge to missing target node of type %3 with keys %4 performing %1 on %2
+AAI_3005=5:6:WARN:3005:404:3001:Node cannot be directly accessed for read, must be accessed via ancestor(s)
+AAI_3006=5:6:WARN:3006:404:3001:Node cannot be directly accessed for write, must be accessed via ancestor(s)
+AAI_3007=5:6:INFO:3007:410:3007:This version (%1) of the API is retired, please migrate to %2
+AAI_3008=5:6:ERROR:3008:400:3008:URI is not encoded in UTF-8
+AAI_3009=5:6:ERROR:3009:400:3002:Malformed URL
+# pol errors
+AAI_3100=5:1:WARN:3100:400:3100:Unsupported operation %1
+AAI_3101=5:1:WARN:3101:403:3101:Attempt by client %1 to execute API %2
+AAI_3102=5:1:WARN:3102:400:3102:Error parsing input performing %1 on %2
+AAI_3300=5:1:WARN:3300:403:3300:Unauthorized
+AAI_3301=5:1:WARN:3301:401:3301:Stale credentials
+AAI_3302=5:1:WARN:3302:401:3301:Not authenticated
+AAI_3303=5:1:ERROR:3303:403:3300:Too many objects would be returned by this request, please refine your request and retry
+
+#--- aaigen: 4000-4099
+AAI_4000=5:4:ERROR:4000:500:3002:Internal Error
+AAI_4001=5:4:FATAL:4001:500:3002:Configuration file not found
+AAI_4002=5:4:FATAL:4002:500:3002:Error reading Configuration file
+AAI_4003=5:4:ERROR:4003:500:3002:Error writing to log file
+AAI_4004=5:4:FATAL:4004:500:3002:Error reading/parsing the error properties file
+AAI_4005=5:4:FATAL:4005:500:3002:Missing or invalid configuration parameter
+AAI_4006=5:4:FATAL:4006:500:3002:Unexpected error in service
+AAI_4007=5:4:ERROR:4007:500:3102:Input parsing error
+AAI_4008=5:4:ERROR:4008:500:3002:Output parsing error
+AAI_4009=4:0:ERROR:4009:400:3000:Invalid X-FromAppId in header
+AAI_4010=4:0:ERROR:4010:400:3000:Invalid X-TransactionId in header
+AAI_4011=5:4:ERROR:4011:500:3002:Missing data for REST error response
+AAI_4012=5:4:ERROR:4012:500:3002:Bad rule data in RestRules
+AAI_4013=5:4:ERROR:4013:500:3002:Error connecting to AAI REST API
+AAI_4014=4:0:ERROR:4014:400:3000:Invalid Accept header
+AAI_4015=4:0:ERROR:4015:400:3000:You must provide at least one indexed property
+AAI_4016=4:0:ERROR:4016:400:3000:The depth parameter must be a number or the string "all"
+AAI_4017=5:2:INFO:4017:400:3000:Could not set property
+AAI_4018=5:2:ERROR:4018:400:3000:Unable to convert the string to integer
+#--- aaidbmap: 5101-5199
+AAI_5101=5:4:FATAL:5101:500:3002:Could not connect to database
+AAI_5102=5:4:FATAL:5102:500:3002:Graph database is null after open
+AAI_5103=5:4:ERROR:5103:500:3002:Unexpected error during commit
+AAI_5104=5:4:ERROR:5104:500:3002:Unexpected error during rollback
+AAI_5105=5:4:ERROR:5105:500:3002:Unexpected error reading/updating database
+AAI_5106=5:4:WARN:5106:404:3001:Node not found
+AAI_5107=5:2:WARN:5107:400:3000:Required information missing
+AAI_5108=5:2:WARN:5108:200:0:Unexpected information in request being ignored
+
+#--- aaidbgen: 6101-6199
+AAI_6101=5:4:ERROR:6101:500:3002:null TitanGraph object passed
+AAI_6102=5:4:WARN:6102:400:3000:Passed-in property is not valid for this nodeType
+AAI_6103=5:4:WARN:6103:400:3000:Required Node-property not found in input data
+AAI_6104=5:4:WARN:6104:400:3000:Required Node-property was passed with no data
+AAI_6105=5:4:WARN:6105:400:3000:Node-Key-Property not defined in DbMaps
+AAI_6106=5:4:WARN:6106:400:3000:Passed-in property is not valid for this edgeType
+AAI_6107=5:4:WARN:6107:400:3000:Required Edge-property not found in input data
+AAI_6108=5:4:WARN:6108:400:3000:Required Edge-property was passed with no data
+AAI_6109=5:4:WARN:6109:400:3000:Bad dependent Node value
+AAI_6110=5:4:ERROR:6110:400:3100:Node cannot be deleted
+AAI_6111=5:4:ERROR:6111:400:3000:JSON processing error
+AAI_6112=5:4:ERROR:6112:400:3000:More than one node found by getUniqueNode()
+AAI_6114=5:4:INFO:6114:404:3001:Node Not Found
+AAI_6115=5:4:ERROR:6115:400:3000:Unrecognized NodeType
+AAI_6116=5:4:ERROR:6116:400:3000:Unrecognized Property
+AAI_6117=5:4:ERROR:6117:400:3000:Uniqueness constraint violated
+AAI_6118=5:4:ERROR:6118:400:3000:Required Field not passed.
+AAI_6120=5:4:ERROR:6120:400:3000:Bad Parameter Passed
+AAI_6121=5:4:ERROR:6121:400:3000:Problem with internal AAI reference data
+AAI_6122=5:4:ERROR:6122:400:3000:Data Set not complete in DB for this request
+AAI_6123=5:4:ERROR:6123:500:3000:Bad Data found by DataGrooming Tool - Investigate
+AAI_6124=5:4:ERROR:6124:500:3000:File read/write error
+AAI_6125=5:4:WARN:6125:500:3000:Problem Pulling Data Set
+AAI_6126=5:4:ERROR:6126:400:3000:Edge cannot be deleted
+AAI_6127=5:4:INFO:6127:404:3001:Edge Not Found
+AAI_6128=5:4:INFO:6128:500:3000:Unexpected error
+AAI_6129=5:4:INFO:6129:404:3003:Error making edge to target node
+AAI_6130=5:4:WARN:6130:412:3000:Precondition Required
+AAI_6131=5:4:WARN:6131:412:3000:Precondition Failed
+AAI_6132=5:4:WARN:6132:400:3000:Bad Model Definition
+AAI_6133=5:4:WARN:6133:400:3000:Bad Named Query Definition
+AAI_6134=5:4:ERROR:6134:500:6134:Could not persist transaction to storage back end. Exhausted retry amount
+AAI_6135=5:4:WARN:6135:412:3000:Resource version specified on create
+AAI_6136=5:4:ERROR:6136:400:3000:Object cannot hold multiple items
+AAI_6137=5:4:ERROR:6137:400:3000:Cannot perform writes on multiple vertices
+AAI_6138=5:4:ERROR:6138:400:3000:Cannot delete multiple vertices
+AAI_6139=5:4:ERROR:6139:404:3000:Attempted to add edge to vertex that does not exist
+AAI_6140=5:4:ERROR:6140:400:3000:Edge multiplicity violated
+AAI_6141=5:4:WARN:6141:400:3000:Please Refine Query
+AAI_6142=5:4:INFO:6142:400:3000:Retrying transaction
+AAI_6143=5:4:INFO:6143:400:3000:Ghost vertex found
+AAI_6144=5:4:WARN:6144:400:3000:Cycle found in graph
+AAI_6145=5:4:ERROR:6145:400:3000:Cannot create a nested/containment edge via relationship
+
+#--- aaicsvp: 7101-7199
+AAI_7101=5:4:ERROR:7101:500:3002:Unexpected error in CSV file processing
+AAI_7102=5:4:ERROR:7102:500:3002:Error in cleanup temporary directory
+#AAI_7103=4:2:ERROR:7103:500:3002:Unsupported user
+AAI_7104=5:4:ERROR:7104:500:3002:Failed to create directory
+AAI_7105=5:4:ERROR:7105:500:3002:Temporary directory exists
+AAI_7106=5:4:ERROR:7106:500:3002:Cannot delete
+AAI_7107=5:4:ERROR:7107:500:3002:Input file does not exist
+AAI_7108=5:4:ERROR:7108:500:3002:Output file does not exist
+AAI_7109=5:4:ERROR:7109:500:3002:Error closing file
+AAI_7110=5:4:ERROR:7110:500:3002:Error loading/reading properties file
+AAI_7111=5:4:ERROR:7111:500:3002:Error executing shell script
+AAI_7112=5:4:ERROR:7112:500:3002:Error creating output file
+AAI_7113=5:4:ERROR:7113:500:3002:Trailer record error
+AAI_7114=5:4:ERROR:7114:500:3002:Input file error
+AAI_7115=5:4:ERROR:7115:500:3002:Unexpected error
+AAI_7116=5:4:ERROR:7116:500:3002:Request error
+AAI_7117=5:4:ERROR:7117:500:3002:Error in get http client object
+AAI_7118=5:4:ERROR:7118:500:3002:Script Error
+AAI_7119=5:4:ERROR:7119:500:3002:Unknown host
+
+#--- aaisdnc: 7201-7299
+AAI_7202=5:4:ERROR:7202:500:3002:Error getting connection to odl
+AAI_7203=5:4:ERROR:7203:500:3002:Unexpected error calling DataChangeNotification API
+AAI_7204=5:4:ERROR:7204:500:3002:Error returned by DataChangeNotification API
+AAI_7205=5:4:ERROR:7205:500:3002:Unexpected error running notifySDNCOnUpdate
+AAI_7206=5:4:ERROR:7206:500:3002:Invalid data returned from ODL
+
+#--- NotificationEvent, using UEB space
+AAI_7350=5:4:ERROR:7305:500:3002:Notification event creation failed
+
+#--- aairestctlr: 7401-7499
+AAI_7401=5:4:ERROR:7401:500:3002:Error connecting to AAI REST API
+AAI_7402=5:4:ERROR:7402:500:3002:Unexpected error
+AAI_7403=5:4:WARN:7403:400:3001:Request error
+AAI_7404=5:4:INFO:7404:404:3001:Node not found
+
+#--- aaiauth: 9101-9199
+AAI_9101=5:0:WARN:9101:403:3300:User is not authorized to perform function
+AAI_9102=5:0:WARN:9102:401:3301:Refresh credentials from source
+AAI_9103=5:0:WARN:9103:403:3300:User not found
+AAI_9104=5:0:WARN:9104:401:3302:Authentication error
+AAI_9105=5:0:WARN:9105:403:3300:Authorization error
+AAI_9106=5:0:WARN:9106:403:3300:Invalid AppId
+#AAI_9107=5:0:WARN:9107:403:3300:No Username in Request
+AAI_9107=5:0:WARN:9107:403:3300:SSL is not provided in request, please contact admin
+
+#--- aaiinstar: 9201-9299
+AAI_9201=5:4:ERROR:9201:500:3002:Unable to send notification
+AAI_9202=5:4:ERROR:9202:500:3002:Unable to start a thread
diff --git a/aai-core/src/test/resources/bundleconfig-local/etc/oxm/aai_oxm_v10.xml b/aai-core/src/test/resources/bundleconfig-local/etc/oxm/aai_oxm_v10.xml
new file mode 100644
index 00000000..d0f181a4
--- /dev/null
+++ b/aai-core/src/test/resources/bundleconfig-local/etc/oxm/aai_oxm_v10.xml
@@ -0,0 +1,6482 @@
+<?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.openecomp.org.v10" xml-mapping-metadata-complete="true">
+ <xml-schema element-form-default="QUALIFIED">
+ <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v10" />
+ </xml-schema>
+ <java-types>
+ <java-type name="Inventory">
+ <xml-root-element name="inventory" />
+ <java-attributes>
+ <xml-element java-attribute="search" name="search" type="inventory.aai.openecomp.org.v10.Search" />
+ <xml-element java-attribute="actions" name="actions" type="inventory.aai.openecomp.org.v10.Actions" />
+ <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.openecomp.org.v10.CloudInfrastructure" />
+ <xml-element java-attribute="business" name="business" type="inventory.aai.openecomp.org.v10.Business" />
+ <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.openecomp.org.v10.ServiceDesignAndCreation" />
+ <xml-element java-attribute="network" name="network" type="inventory.aai.openecomp.org.v10.Network" />
+ <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.openecomp.org.v10.AaiInternal" />
+ <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.openecomp.org.v10.Nodes" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Nodes">
+ <xml-root-element name="nodes" />
+ </java-type>
+ <java-type name="Search">
+ <xml-root-element name="search" />
+ <java-attributes>
+ <xml-element java-attribute="edgeTagQueryResult" name="edge-tag-query-result" type="inventory.aai.openecomp.org.v10.EdgeTagQueryResult" />
+ <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.openecomp.org.v10.EdgeTagQueryRequest" />
+ <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.openecomp.org.v10.SearchResults" />
+ <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.openecomp.org.v10.SdnZoneResponse" />
+ </java-attributes>
+ </java-type>
+ <java-type name="EdgeTagQueryResult">
+ <xml-root-element name="edge-tag-query-result" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.openecomp.org.v10.TaggedInventoryItemList" />
+ </java-attributes>
+ </java-type>
+ <java-type name="TaggedInventoryItemList">
+ <xml-root-element name="tagged-inventory-item-list" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItem" name="inventory-item" type="inventory.aai.openecomp.org.v10.InventoryItem" />
+ </java-attributes>
+ </java-type>
+ <java-type name="InventoryItem">
+ <xml-root-element name="inventory-item" />
+ <java-attributes>
+ <xml-element java-attribute="inventoryItemType" name="inventory-item-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="inventoryItemLink" name="inventory-item-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItemData" name="inventory-item-data" type="inventory.aai.openecomp.org.v10.InventoryItemData" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.openecomp.org.v10.TaggedInventoryItemList" />
+ </java-attributes>
+ </java-type>
+ <java-type name="InventoryItemData">
+ <xml-root-element name="inventory-item-data" />
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ </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-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resultDetail" name="result-detail" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="startNodeType" name="start-node-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="startNodeFilter" name="start-node-filter" type="inventory.aai.openecomp.org.v10.StartNodeFilter" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.openecomp.org.v10.IncludeNodeFilter" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.openecomp.org.v10.SecondaryFilter" />
+ </java-attributes>
+ </java-type>
+ <java-type name="StartNodeFilter">
+ <xml-root-element name="start-node-filter" />
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ </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">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ </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-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="filterType" name="filter-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+ <java-type name="SearchResults">
+ <xml-root-element name="search-results" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="resultData" name="result-data" type="inventory.aai.openecomp.org.v10.ResultData" />
+ </java-attributes>
+ </java-type>
+ <java-type name="ResultData">
+ <xml-root-element name="result-data" />
+ <java-attributes>
+ <xml-element java-attribute="resourceType" name="resource-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The specific type of node in the A&amp;AI graph" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+ <java-type name="SdnZoneResponse">
+ <xml-root-element name="sdn-zone-response" />
+ <java-attributes>
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.openecomp.org.v10.OamNetworks" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.openecomp.org.v10.AzAndDvsSwitches" />
+ </java-attributes>
+ </java-type>
+ <java-type name="AzAndDvsSwitches">
+ <xml-root-element name="az-and-dvs-switches" />
+ <java-attributes>
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.openecomp.org.v10.DvsSwitches" />
+ <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.openecomp.org.v10.AvailabilityZone" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Actions">
+ <xml-properties>
+ <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)." />
+ </xml-properties>
+ <xml-root-element name="actions" />
+ <java-attributes>
+ <xml-element java-attribute="update" name="update" type="inventory.aai.openecomp.org.v10.Update" />
+ <xml-element java-attribute="notify" name="notify" type="inventory.aai.openecomp.org.v10.Notify" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Update">
+ <xml-properties>
+ <xml-property name="description" value="Serves a PATCH like function. Does not enforce concurrency control. Clear each usage with AAI team." />
+ </xml-properties>
+ <xml-root-element name="update" />
+ <java-attributes>
+ <xml-element java-attribute="updateNodeType" name="update-node-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="updateNodeKey" name="update-node-key" type="inventory.aai.openecomp.org.v10.UpdateNodeKey" />
+ <xml-element java-attribute="updateNodeUri" name="update-node-uri" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="action" name="action" type="inventory.aai.openecomp.org.v10.Action" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Action">
+ <xml-root-element name="action" />
+ <java-attributes>
+ <xml-element java-attribute="actionType" name="action-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="actionData" name="action-data" type="inventory.aai.openecomp.org.v10.ActionData" />
+ </java-attributes>
+ </java-type>
+ <java-type name="ActionData">
+ <xml-root-element name="action-data" />
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ </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-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ </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-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nodeType" name="node-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="eventTrigger" name="event-trigger" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="keyData" name="key-data" type="inventory.aai.openecomp.org.v10.KeyData" />
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ </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-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+ <java-type name="CloudInfrastructure">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for cloud infrastructure." />
+ </xml-properties>
+ <xml-root-element name="cloud-infrastructure" />
+ <java-attributes>
+ <xml-element java-attribute="complexes" name="complexes" type="inventory.aai.openecomp.org.v10.Complexes" />
+ <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.openecomp.org.v10.CloudRegions" />
+ <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.openecomp.org.v10.NetworkProfiles" />
+ <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.openecomp.org.v10.Pservers" />
+ <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.openecomp.org.v10.VirtualDataCenters" />
+ </java-attributes>
+ </java-type>
+ <java-type name="CloudRegions">
+ <xml-root-element name="cloud-regions" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cloudRegion" name="cloud-region" type="inventory.aai.openecomp.org.v10.CloudRegion" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+ <java-type name="CloudRegion">
+ <xml-root-element name="cloud-region" />
+ <java-attributes>
+ <xml-element java-attribute="cloudOwner" name="cloud-owner" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifies the vendor and cloud name. First part of composite key should be formatted as vendor-cloudname" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeGroups" name="volume-groups" type="inventory.aai.openecomp.org.v10.VolumeGroups" />
+ <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.openecomp.org.v10.Tenants" />
+ <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.openecomp.org.v10.Flavors" />
+ <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.openecomp.org.v10.GroupAssignments" />
+ <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.openecomp.org.v10.Snapshots" />
+ <xml-element java-attribute="images" name="images" type="inventory.aai.openecomp.org.v10.Images" />
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.openecomp.org.v10.DvsSwitches" />
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.openecomp.org.v10.OamNetworks" />
+ <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.openecomp.org.v10.AvailabilityZones" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation. In AT&amp;Ts AIC cloud, this could be an LCP or DCP. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname and we will use att-aic for AT&amp;T's AIC." />
+ <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type" />
+ <xml-property name="nameProps" value="owner-defined-type" />
+ <xml-property name="container" value="cloud-regions" />
+ <xml-property name="namespace" value="cloud-infrastructure" />
+ </xml-properties>
+ </java-type>
+ <java-type name="VolumeGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of persistent block-level storage." />
+ </xml-properties>
+ <xml-root-element name="volume-groups" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volumeGroup" name="volume-group" type="inventory.aai.openecomp.org.v10.VolumeGroup" />
+ </java-attributes>
+ </java-type>
+ <java-type name="VolumeGroup">
+ <xml-root-element name="volume-group" />
+ <java-attributes>
+ <xml-element java-attribute="volumeGroupId" name="volume-group-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of volume-group." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persistent block-level storage." />
+ <xml-property name="indexedProps" value="volume-group-name,vnf-type,heat-stack-id,volume-group-id" />
+ <xml-property name="searchable" value="volume-group-id,volume-group-name" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="volume-groups" />
+ </xml-properties>
+ </java-type>
+ <java-type name="RelationshipList">
+ <xml-root-element name="relationship-list" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.openecomp.org.v10.Relationship" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Relationship">
+ <xml-root-element name="relationship" />
+ <java-attributes>
+ <xml-element java-attribute="relatedTo" name="related-to" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate type of node." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.openecomp.org.v10.RelationshipData" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.openecomp.org.v10.RelatedToProperty" />
+ </java-attributes>
+ </java-type>
+ <java-type name="RelatedToProperty">
+ <xml-root-element name="related-to-property" />
+ <java-attributes>
+ <xml-element java-attribute="propertyKey" name="property-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Key part of a key/value pair" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+ <java-type name="Complexes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
+ </xml-properties>
+ <xml-root-element name="complexes" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="complex" name="complex" type="inventory.aai.openecomp.org.v10.Complex" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Complex">
+ <xml-root-element name="complex" />
+ <java-attributes>
+ <xml-element java-attribute="physicalLocationId" name="physical-location-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for physical location, e.g., CLLI" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="street1" name="street1" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="street2" name="street2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="city" name="city" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="state" name="state" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="postalCode" name="postal-code" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="country" name="country" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="region" name="region" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="latitude" name="latitude" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="longitude" name="longitude" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="elevation" name="elevation" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="lata" name="lata" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ctagPools" name="ctag-pools" type="inventory.aai.openecomp.org.v10.CtagPools" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
+ <xml-property name="indexedProps" value="identity-url,data-center-code,complex-name,physical-location-id" />
+ <xml-property name="searchable" value="physical-location-id,data-center-code,complex-name,street1,street2,postal-code" />
+ <xml-property name="uniqueProps" value="physical-location-id" />
+ <xml-property name="container" value="complexes" />
+ <xml-property name="namespace" value="cloud-infrastructure" />
+ </xml-properties>
+ </java-type>
+ <java-type name="CtagPools">
+ <xml-root-element name="ctag-pools" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagPool" name="ctag-pool" type="inventory.aai.openecomp.org.v10.CtagPool" />
+ </java-attributes>
+ </java-type>
+ <java-type name="CtagPool">
+ <xml-root-element name="ctag-pool" />
+ <java-attributes>
+ <xml-element java-attribute="targetPe" name="target-pe" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="The Target provider edge router" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="A collection of C tags (vlan tags) grouped for a specific purpose." />
+ <xml-property name="indexedProps" value="availability-zone-name" />
+ <xml-property name="dependentOn" value="complex" />
+ <xml-property name="container" value="ctag-pools" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Tenants">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack tenants." />
+ </xml-properties>
+ <xml-root-element name="tenants" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tenant" name="tenant" type="inventory.aai.openecomp.org.v10.Tenant" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Tenant">
+ <xml-root-element name="tenant" />
+ <java-attributes>
+ <xml-element java-attribute="tenantId" name="tenant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id relative to the cloud-region." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vservers" name="vservers" type="inventory.aai.openecomp.org.v10.Vservers" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack tenant" />
+ <xml-property name="nameProps" value="tenant-name" />
+ <xml-property name="indexedProps" value="tenant-name,tenant-id" />
+ <xml-property name="searchable" value="tenant-id,tenant-name" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="tenants" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Vservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of virtual Servers, aka virtual machines or VMs." />
+ </xml-properties>
+ <xml-root-element name="vservers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vserver" name="vserver" type="inventory.aai.openecomp.org.v10.Vserver" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Vserver">
+ <xml-root-element name="vserver" />
+ <java-attributes>
+ <xml-element java-attribute="vserverId" name="vserver-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for this vserver relative to its tenant" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumes" name="volumes" type="inventory.aai.openecomp.org.v10.Volumes" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Servers, aka virtual machine or VM." />
+ <xml-property name="nameProps" value="vserver-name" />
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2" />
+ <xml-property name="searchable" value="vserver-id,vserver-name,vserver-name2" />
+ <xml-property name="dependentOn" value="tenant" />
+ <xml-property name="container" value="vservers" />
+ </xml-properties>
+ </java-type>
+ <java-type name="LInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical interfaces." />
+ </xml-properties>
+ <xml-root-element name="l-interfaces" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lInterface" name="l-interface" type="inventory.aai.openecomp.org.v10.LInterface" />
+ </java-attributes>
+ </java-type>
+ <java-type name="LInterface">
+ <xml-root-element name="l-interface" />
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name given to the interface" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.openecomp.org.v10.Vlans" />
+ <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.openecomp.org.v10.SriovVfs" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v10.L3InterfaceIpv4AddressList" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v10.L3InterfaceIpv6AddressList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical interfaces, e.g., a vnic." />
+ <xml-property name="indexedProps" value="macaddr,interface-id,interface-name,network-name" />
+ <xml-property name="dependentOn" value="generic-vnf,newvce,vpe,p-interface,vserver,lag-interface" />
+ <xml-property name="container" value="l-interfaces" />
+ </xml-properties>
+ </java-type>
+ <java-type name="SriovVfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of SR-IOV Virtual Functions." />
+ </xml-properties>
+ <xml-root-element name="sriov-vfs" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sriovVf" name="sriov-vf" type="inventory.aai.openecomp.org.v10.SriovVf" />
+ </java-attributes>
+ </java-type>
+ <java-type name="SriovVf">
+ <xml-root-element name="sriov-vf" />
+ <java-attributes>
+ <xml-element java-attribute="pciId" name="pci-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="PCI ID used to identify the sriov-vf" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="SR-IOV Virtual Function (not to be confused with virtual network function)" />
+ <xml-property name="indexedProps" value="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id" />
+ <xml-property name="dependentOn" value="l-interface" />
+ <xml-property name="container" value="sriov-vfs" />
+ </xml-properties>
+ </java-type>
+ <java-type name="L3InterfaceIpv4AddressList">
+ <xml-root-element name="l3-interface-ipv4-address-list" />
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv4Address" name="l3-interface-ipv4-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv4 Address Range" />
+ <xml-property name="indexedProps" value="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
+ <xml-property name="dependentOn" value="vlan,l-interface" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Vlans">
+ <xml-root-element name="vlans" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vlan" name="vlan" type="inventory.aai.openecomp.org.v10.Vlan" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Vlan">
+ <xml-root-element name="vlan" />
+ <java-attributes>
+ <xml-element java-attribute="vlanInterface" name="vlan-interface" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="String that identifies the interface" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v10.L3InterfaceIpv4AddressList" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v10.L3InterfaceIpv6AddressList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Definition of vlan" />
+ <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-id" />
+ <xml-property name="uniqueProps" value="vpn-id" />
+ <xml-property name="dependentOn" value="l-interface" />
+ <xml-property name="container" value="vlans" />
+ </xml-properties>
+ </java-type>
+ <java-type name="L3InterfaceIpv6AddressList">
+ <xml-root-element name="l3-interface-ipv6-address-list" />
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv6Address" name="l3-interface-ipv6-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv6 Address Range" />
+ <xml-property name="indexedProps" value="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
+ <xml-property name="dependentOn" value="vlan,l-interface" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Volumes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of ephemeral Block storage volumes." />
+ </xml-properties>
+ <xml-root-element name="volumes" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volume" name="volume" type="inventory.aai.openecomp.org.v10.Volume" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Volume">
+ <xml-root-element name="volume" />
+ <java-attributes>
+ <xml-element java-attribute="volumeId" name="volume-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of block storage volume relative to the vserver." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Ephemeral Block storage volume." />
+ <xml-property name="indexedProps" value="volume-id" />
+ <xml-property name="dependentOn" value="vserver" />
+ <xml-property name="container" value="volumes" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Flavors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack flavors." />
+ </xml-properties>
+ <xml-root-element name="flavors" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="flavor" name="flavor" type="inventory.aai.openecomp.org.v10.Flavor" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Flavor">
+ <xml-root-element name="flavor" />
+ <java-attributes>
+ <xml-element java-attribute="flavorId" name="flavor-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Flavor id, expected to be unique across cloud-region." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack flavor." />
+ <xml-property name="nameProps" value="flavor-name" />
+ <xml-property name="indexedProps" value="flavor-name,flavor-id" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="flavors" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Snapshots">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack snapshots" />
+ </xml-properties>
+ <xml-root-element name="snapshots" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="snapshot" name="snapshot" type="inventory.aai.openecomp.org.v10.Snapshot" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Snapshot">
+ <xml-root-element name="snapshot" />
+ <java-attributes>
+ <xml-element java-attribute="snapshotId" name="snapshot-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Snapshot id, this is the key UUID assoc associated in glance with the snapshots." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack snapshot" />
+ <xml-property name="nameProps" value="snapshot-name" />
+ <xml-property name="uniqueProps" value="snapshot-id" />
+ <xml-property name="indexedProps" value="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="snapshots" />
+ </xml-properties>
+ </java-type>
+ <java-type name="GroupAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack group assignments" />
+ </xml-properties>
+ <xml-root-element name="group-assignments" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="groupAssignment" name="group-assignment" type="inventory.aai.openecomp.org.v10.GroupAssignment" />
+ </java-attributes>
+ </java-type>
+ <java-type name="GroupAssignment">
+ <xml-root-element name="group-assignment" />
+ <java-attributes>
+ <xml-element java-attribute="groupId" name="group-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Group id, expected to be unique across cloud-region." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack group-assignment used to store exclusivity groups (EG)." />
+ <xml-property name="nameProps" value="group-name" />
+ <xml-property name="indexedProps" value="group-id,group-type,group-name" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="group-assignments" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Images">
+ <xml-properties>
+ <xml-property name="description" value="Collectio of Openstack images." />
+ </xml-properties>
+ <xml-root-element name="images" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="image" name="image" type="inventory.aai.openecomp.org.v10.Image" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Image">
+ <xml-root-element name="image" />
+ <java-attributes>
+ <xml-element java-attribute="imageId" name="image-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Image id, expected to be unique across cloud region" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v10.Metadata" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack image." />
+ <xml-property name="nameProps" value="image-name" />
+ <xml-property name="indexedProps" value="application,image-name,application-vendor,image-id,application-version" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="images" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Metadata">
+ <xml-properties>
+ <xml-property name="description" value="Collection of metadatum (key/value pairs)" />
+ </xml-properties>
+ <xml-root-element name="metadata" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="metadatum" name="metadatum" type="inventory.aai.openecomp.org.v10.Metadatum" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Metadatum">
+ <xml-root-element name="metadatum" />
+ <java-attributes>
+ <xml-element java-attribute="metaname" name="metaname" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="metaval" name="metaval" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Key/value pairs" />
+ <xml-property name="indexedProps" value="metaname" />
+ <xml-property name="dependentOn" value="tenant,image,service-instance,connector,model" />
+ <xml-property name="container" value="metadata" />
+ </xml-properties>
+ </java-type>
+ <java-type name="DvsSwitches">
+ <xml-properties>
+ <xml-property name="description" value="Collection of digital virtual switch metadata used for vmWare VCEs and VPEs." />
+ </xml-properties>
+ <xml-root-element name="dvs-switches" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="dvsSwitch" name="dvs-switch" type="inventory.aai.openecomp.org.v10.DvsSwitch" />
+ </java-attributes>
+ </java-type>
+ <java-type name="DvsSwitch">
+ <xml-root-element name="dvs-switch" />
+ <java-attributes>
+ <xml-element java-attribute="switchName" name="switch-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="DVS switch name" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Digital virtual switch metadata, used by SDN-C to configure VCEs. A&amp;AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&amp;AI. " />
+ <xml-property name="indexedProps" value="vcenter-url,switch-name" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="dvs-switches" />
+ </xml-properties>
+ </java-type>
+ <java-type name="NetworkProfiles">
+ <xml-properties>
+ <xml-property name="description" value="Collection of network profiles" />
+ </xml-properties>
+ <xml-root-element name="network-profiles" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkProfile" name="network-profile" type="inventory.aai.openecomp.org.v10.NetworkProfile" />
+ </java-attributes>
+ </java-type>
+ <java-type name="NetworkProfile">
+ <xml-root-element name="network-profile" />
+ <java-attributes>
+ <xml-element java-attribute="nmProfileName" name="nm-profile-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique name of network profile." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Network profile populated by SDN-GP for SNMP" />
+ <xml-property name="indexedProps" value="nm-profile-name" />
+ <xml-property name="container" value="network-profiles" />
+ <xml-property name="namespace" value="cloud-infrastructure" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Pservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of compute hosts." />
+ </xml-properties>
+ <xml-root-element name="pservers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pserver" name="pserver" type="inventory.aai.openecomp.org.v10.Pserver" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Pserver">
+ <xml-root-element name="pserver" />
+ <java-attributes>
+ <xml-element java-attribute="hostname" name="hostname" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value from executing hostname on the compute node." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="IDF" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="IDF" />
+ </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-property name="sourceOfTruthType" value="IDF" />
+ </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-property name="sourceOfTruthType" value="IDF" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="IDF" />
+ </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-property name="sourceOfTruthType" value="IDF" />
+ </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-property name="sourceOfTruthType" value="IDF" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="IDF" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Loopback10" name="ipaddress-v4-loopback-10" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 Loopback 10 address" />
+ <xml-property name="sourceOfTruthType" value="IDF" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Loopback10" name="ipaddress-v6-loopback-10" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 Loopback 10 address" />
+ <xml-property name="sourceOfTruthType" value="IDF" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Loopback300" name="ipaddress-v4-loopback-300" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 Loopback 300 address" />
+ <xml-property name="sourceOfTruthType" value="IDF" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Loopback300" name="ipaddress-v6-loopback-300" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 Loopback 300 address" />
+ <xml-property name="sourceOfTruthType" value="IDF" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="createdDate" name="created-date" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Date the PServer was created (In SOT)" />
+ <xml-property name="sourceOfTruthType" value="IDF" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="lastUpdatedDate" name="last-updated-date" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Date the PServer was last updated (in SOT)" />
+ <xml-property name="sourceOfTruthType" value="IDF" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="lastUpdatedBy" name="last-updated-by" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="User that last updated the PServer (in SOT)" />
+ <xml-property name="sourceOfTruthType" value="IDF" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="functionName" name="function-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Function name" />
+ <xml-property name="sourceOfTruthType" value="IDF" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="rackName" name="rack-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The name of the rack containing the Pserver" />
+ <xml-property name="sourceOfTruthType" value="IDF" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="assetTag" name="asset-tag" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The PServer asset number" />
+ <xml-property name="sourceOfTruthType" value="IDF" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="deploymentPhase" name="deployment-phase" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Deployment phase" />
+ <xml-property name="sourceOfTruthType" value="IDF" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="locationName" name="location-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the PServer Location" />
+ <xml-property name="sourceOfTruthType" value="IDF" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="locationId" name="location-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Id of the PServer Location" />
+ <xml-property name="sourceOfTruthType" value="IDF" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentClli" name="equipment-clli" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The CLLI code for the PServer" />
+ <xml-property name="sourceOfTruthType" value="IDF" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="zoneTopologyId" name="zone-topology-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Zone topology Id" />
+ <xml-property name="sourceOfTruthType" value="IDF" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="zoneId" name="zone-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Zone Id" />
+ <xml-property name="sourceOfTruthType" value="IDF" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v10.PInterfaces" />
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver." />
+ <xml-property name="nameProps" value="pserver-name2" />
+ <xml-property name="indexedProps" value="hostname,in-maint,pserver-id,pserver-name2,inv-status" />
+ <xml-property name="searchable" value="hostname,pserver-name2,pserver-id,ipv4-oam-address" />
+ <xml-property name="container" value="pservers" />
+ <xml-property name="namespace" value="cloud-infrastructure" />
+ </xml-properties>
+ </java-type>
+ <java-type name="PInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical interfaces." />
+ </xml-properties>
+ <xml-root-element name="p-interfaces" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pInterface" name="p-interface" type="inventory.aai.openecomp.org.v10.PInterface" />
+ </java-attributes>
+ </java-type>
+ <java-type name="PInterface">
+ <xml-root-element name="p-interface" />
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the physical interface" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Physical interface (e.g., nic)" />
+ <xml-property name="indexedProps" value="interface-name,prov-status" />
+ <xml-property name="nameProps" value="prov-status" />
+ <xml-property name="dependentOn" value="vpls-pe,pserver,pnf" />
+ <xml-property name="container" value="p-interfaces" />
+ </xml-properties>
+ </java-type>
+ <java-type name="LagInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregate interfaces." />
+ </xml-properties>
+ <xml-root-element name="lag-interfaces" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagInterface" name="lag-interface" type="inventory.aai.openecomp.org.v10.LagInterface" />
+ </java-attributes>
+ </java-type>
+ <java-type name="LagInterface">
+ <xml-root-element name="lag-interface" />
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the link aggregate interface" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Link aggregate interface" />
+ <xml-property name="indexedProps" value="interface-name,interface-id,interface-role" />
+ <xml-property name="dependentOn" value="generic-vnf,pserver,vpe,vpls-pe,pnf" />
+ <xml-property name="container" value="lag-interfaces" />
+ </xml-properties>
+ </java-type>
+ <java-type name="OamNetworks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of OAM networks, to be deprecated shortly. Do not use for new purposes. " />
+ </xml-properties>
+ <xml-root-element name="oam-networks" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="oamNetwork" name="oam-network" type="inventory.aai.openecomp.org.v10.OamNetwork" />
+ </java-attributes>
+ </java-type>
+ <java-type name="OamNetwork">
+ <xml-root-element name="oam-network" />
+ <java-attributes>
+ <xml-element java-attribute="networkUuid" name="network-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the network. Unique across a cloud-region" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="OAM network, to be deprecated shortly. Do not use for new purposes. " />
+ <xml-property name="nameProps" value="network-name" />
+ <xml-property name="indexedProps" value="cvlan-tag,network-uuid,network-name" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="oam-networks" />
+ </xml-properties>
+ </java-type>
+ <java-type name="AvailabilityZones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of availability zones" />
+ </xml-properties>
+ <xml-root-element name="availability-zones" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.openecomp.org.v10.AvailabilityZone" />
+ </java-attributes>
+ </java-type>
+ <java-type name="AvailabilityZone">
+ <xml-root-element name="availability-zone" />
+ <java-attributes>
+ <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the availability zone. Unique across a cloud region" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Availability zone, a collection of compute hosts/pservers" />
+ <xml-property name="indexedProps" value="availability-zone-name" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="availability-zones" />
+ </xml-properties>
+ </java-type>
+ <java-type name="VirtualDataCenters">
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
+ </xml-properties>
+ <xml-root-element name="virtual-data-centers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="virtualDataCenter" name="virtual-data-center" type="inventory.aai.openecomp.org.v10.VirtualDataCenter" />
+ </java-attributes>
+ </java-type>
+ <java-type name="VirtualDataCenter">
+ <xml-root-element name="virtual-data-center" />
+ <java-attributes>
+ <xml-element java-attribute="vdcId" name="vdc-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the vdc" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
+ <xml-property name="nameProps" value="vdc-name" />
+ <xml-property name="indexedProps" value="vdc-name,vdc-id" />
+ <xml-property name="container" value="virtual-data-centers" />
+ <xml-property name="namespace" value="cloud-infrastructure" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Business">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for business related constructs" />
+ </xml-properties>
+ <xml-root-element name="business" />
+ <java-attributes>
+ <xml-element java-attribute="connectors" name="connectors" type="inventory.aai.openecomp.org.v10.Connectors" />
+ <xml-element java-attribute="customers" name="customers" type="inventory.aai.openecomp.org.v10.Customers" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Connectors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
+ </xml-properties>
+ <xml-root-element name="connectors" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="connector" name="connector" type="inventory.aai.openecomp.org.v10.Connector" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Connector">
+ <xml-root-element name="connector" />
+ <java-attributes>
+ <xml-element java-attribute="resourceInstanceId" name="resource-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of resource instance." />
+ <xml-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-invariant-id-local" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-version-id-local" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v10.Metadata" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
+ <xml-property name="indexedProps" value="resource-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version" />
+ <xml-property name="container" value="connectors" />
+ <xml-property name="namespace" value="business" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Customers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information." />
+ </xml-properties>
+ <xml-root-element name="customers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.openecomp.org.v10.Customer" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Customer">
+ <xml-root-element name="customer" />
+ <java-attributes>
+ <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Global customer id used across ECOMP to uniquely identify customer." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSubscriptions" name="service-subscriptions" type="inventory.aai.openecomp.org.v10.ServiceSubscriptions" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="customer identifiers to provide linkage back to BSS information." />
+ <xml-property name="nameProps" value="subscriber-name" />
+ <xml-property name="indexedProps" value="subscriber-name,global-customer-id,subscriber-type" />
+ <xml-property name="searchable" value="global-customer-id,subscriber-name" />
+ <xml-property name="uniqueProps" value="global-customer-id" />
+ <xml-property name="container" value="customers" />
+ <xml-property name="namespace" value="business" />
+ </xml-properties>
+ </java-type>
+ <java-type name="ServiceSubscriptions">
+ <xml-properties>
+ <xml-property name="description" value="Collection of objects that group service instances." />
+ </xml-properties>
+ <xml-root-element name="service-subscriptions" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceSubscription" name="service-subscription" type="inventory.aai.openecomp.org.v10.ServiceSubscription" />
+ </java-attributes>
+ </java-type>
+ <java-type name="ServiceSubscription">
+ <xml-root-element name="service-subscription" />
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value defined by orchestration to identify this service across ECOMP." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstances" name="service-instances" type="inventory.aai.openecomp.org.v10.ServiceInstances" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Object that group service instances." />
+ <xml-property name="indexedProps" value="service-type" />
+ <xml-property name="dependentOn" value="customer" />
+ <xml-property name="container" value="service-subscriptions" />
+ <xml-property name="crossEntityReference" value="service-instance,service-type" />
+ </xml-properties>
+ </java-type>
+ <java-type name="ServiceInstances">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service instances" />
+ </xml-properties>
+ <xml-root-element name="service-instances" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceInstance" name="service-instance" type="inventory.aai.openecomp.org.v10.ServiceInstance" />
+ </java-attributes>
+ </java-type>
+ <java-type name="ServiceInstance">
+ <xml-root-element name="service-instance" />
+ <java-attributes>
+ <xml-element java-attribute="serviceInstanceId" name="service-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Uniquely identifies this instance of a service" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-invariant-id-local" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-version-id-local" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operational status of the service-instance." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v10.Metadata" />
+ <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.openecomp.org.v10.AllottedResources" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Instance of a service" />
+ <xml-property name="indexedProps" value="service-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status" />
+ <xml-property name="nameProps" value="service-instance-name" />
+ <xml-property name="searchable" value="service-instance-id,service-instance-name" />
+ <xml-property name="uniqueProps" value="service-instance-id" />
+ <xml-property name="dependentOn" value="service-subscription" />
+ <xml-property name="container" value="service-instances" />
+ </xml-properties>
+ </java-type>
+ <java-type name="ServiceDesignAndCreation">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for objects managed by ASDC" />
+ </xml-properties>
+ <xml-root-element name="service-design-and-creation" />
+ <java-attributes>
+ <xml-element java-attribute="vnfImages" name="vnf-images" type="inventory.aai.openecomp.org.v10.VnfImages" />
+ <xml-element java-attribute="services" name="services" type="inventory.aai.openecomp.org.v10.Services" />
+ <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.openecomp.org.v10.ServiceCapabilities" />
+ <xml-element java-attribute="models" name="models" type="inventory.aai.openecomp.org.v10.Models" />
+ <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.openecomp.org.v10.NamedQueries" />
+ </java-attributes>
+ </java-type>
+ <java-type name="VnfImages">
+ <xml-properties>
+ <xml-property name="description" value="Collection of image objects that pertain to a VNF that doesn't have associated vservers. This is a kludge." />
+ </xml-properties>
+ <xml-root-element name="vnf-images" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfImage" name="vnf-image" type="inventory.aai.openecomp.org.v10.VnfImage" />
+ </java-attributes>
+ </java-type>
+ <java-type name="VnfImage">
+ <xml-root-element name="vnf-image" />
+ <java-attributes>
+ <xml-element java-attribute="vnfImageUuid" name="vnf-image-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of this asset" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Image object that pertain to a VNF that doesn't have associated vservers. This is a kludge." />
+ <xml-property name="indexedProps" value="application,vnf-image-uuid,application-vendor,application-version" />
+ <xml-property name="uniqueProps" value="vnf-image-uuid" />
+ <xml-property name="container" value="vnf-images" />
+ <xml-property name="namespace" value="service-design-and-creation" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Services">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service model definitions. Likely to be deprecated in favor of models from ASDC." />
+ </xml-properties>
+ <xml-root-element name="services" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.openecomp.org.v10.Service" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Service">
+ <xml-root-element name="service" />
+ <java-attributes>
+ <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Stand-in for service model definitions. Likely to be deprecated in favor of models from ASDC. Does not strictly map to ASDC services." />
+ <xml-property name="indexedProps" value="service-description,service-id" />
+ <xml-property name="container" value="services" />
+ <xml-property name="namespace" value="service-design-and-creation" />
+ </xml-properties>
+ </java-type>
+ <java-type name="ServiceCapabilities">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service capabilities." />
+ </xml-properties>
+ <xml-root-element name="service-capabilities" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceCapability" name="service-capability" type="inventory.aai.openecomp.org.v10.ServiceCapability" />
+ </java-attributes>
+ </java-type>
+ <java-type name="ServiceCapability">
+ <xml-root-element name="service-capability" />
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Early definition of server/resource pairings, likely to be replaced by models. No new use should be made of this." />
+ <xml-property name="indexedProps" value="service-type,vnf-type" />
+ <xml-property name="container" value="service-capabilities" />
+ <xml-property name="namespace" value="service-design-and-creation" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Network">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for network inventory resources." />
+ </xml-properties>
+ <xml-root-element name="network" />
+ <java-attributes>
+ <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.openecomp.org.v10.LogicalLinks" />
+ <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.openecomp.org.v10.SitePairSets" />
+ <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.openecomp.org.v10.VpnBindings" />
+ <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.openecomp.org.v10.VplsPes" />
+ <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.openecomp.org.v10.MulticastConfigurations" />
+ <xml-element java-attribute="vces" name="vces" type="inventory.aai.openecomp.org.v10.Vces" />
+ <xml-element java-attribute="vpes" name="vpes" type="inventory.aai.openecomp.org.v10.Vpes" />
+ <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.openecomp.org.v10.Vnfcs" />
+ <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.openecomp.org.v10.L3Networks" />
+ <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.openecomp.org.v10.NetworkPolicies" />
+ <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.openecomp.org.v10.GenericVnfs" />
+ <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.openecomp.org.v10.LagLinks" />
+ <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.openecomp.org.v10.Newvces" />
+ <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.openecomp.org.v10.Pnfs" />
+ <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.openecomp.org.v10.PhysicalLinks" />
+ <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.openecomp.org.v10.IpsecConfigurations" />
+ <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.openecomp.org.v10.RouteTableReferences" />
+ <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.openecomp.org.v10.InstanceGroups" />
+ <xml-element java-attribute="zones" name="zones" type="inventory.aai.openecomp.org.v10.Zones" />
+ </java-attributes>
+ </java-type>
+ <java-type name="LogicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical connections" />
+ </xml-properties>
+ <xml-root-element name="logical-links" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.openecomp.org.v10.LogicalLink" />
+ </java-attributes>
+ </java-type>
+ <java-type name="LogicalLink">
+ <xml-root-element name="logical-link" />
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-invariant-id-local" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-version-id-local" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points" />
+ <xml-property name="indexedProps" value="link-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose" />
+ <xml-property name="uniqueProps" value="link-id" />
+ <xml-property name="container" value="logical-links" />
+ <xml-property name="namespace" value="network" />
+ <xml-property name="searchable" value="link-name" />
+ </xml-properties>
+ </java-type>
+ <java-type name="SitePairSets">
+ <xml-properties>
+ <xml-property name="description" value="Collection of sets of instances for probes related to generic-vnf" />
+ </xml-properties>
+ <xml-root-element name="site-pair-sets" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePairSet" name="site-pair-set" type="inventory.aai.openecomp.org.v10.SitePairSet" />
+ </java-attributes>
+ </java-type>
+ <java-type name="SitePairSet">
+ <xml-root-element name="site-pair-set" />
+ <java-attributes>
+ <xml-element java-attribute="sitePairSetId" name="site-pair-set-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of site pair set." />
+ <xml-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routingInstances" name="routing-instances" type="inventory.aai.openecomp.org.v10.RoutingInstances" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Set of instances for probes used to measure service level agreements" />
+ <xml-property name="indexedProps" value="site-pair-set-id" />
+ <xml-property name="uniqueProps" value="site-pair-set-id" />
+ <xml-property name="container" value="site-pair-sets" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+ <java-type name="RoutingInstances">
+ <xml-properties>
+ <xml-property name="description" value="set of probes related to generic-vnf routing instance" />
+ </xml-properties>
+ <xml-root-element name="routing-instances" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routingInstance" name="routing-instance" type="inventory.aai.openecomp.org.v10.RoutingInstance" />
+ </java-attributes>
+ </java-type>
+ <java-type name="RoutingInstance">
+ <xml-root-element name="routing-instance" />
+ <java-attributes>
+ <xml-element java-attribute="routingInstanceId" name="routing-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of routing instance" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sitePairs" name="site-pairs" type="inventory.aai.openecomp.org.v10.SitePairs" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="routing-instance-id" />
+ <xml-property name="uniqueProps" value="routing-instance-id" />
+ <xml-property name="dependentOn" value="site-pair-set" />
+ <xml-property name="container" value="routing-instances" />
+ </xml-properties>
+ </java-type>
+ <java-type name="SitePairs">
+ <xml-properties>
+ <xml-property name="description" value="probe within a set" />
+ </xml-properties>
+ <xml-root-element name="site-pairs" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePair" name="site-pair" type="inventory.aai.openecomp.org.v10.SitePair" />
+ </java-attributes>
+ </java-type>
+ <java-type name="SitePair">
+ <xml-root-element name="site-pair" />
+ <java-attributes>
+ <xml-element java-attribute="sitePairId" name="site-pair-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="classesOfService" name="classes-of-service" type="inventory.aai.openecomp.org.v10.ClassesOfService" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="site-pair-id" />
+ <xml-property name="uniqueProps" value="site-pair-id" />
+ <xml-property name="dependentOn" value="routing-instance" />
+ <xml-property name="container" value="site-pairs" />
+ </xml-properties>
+ </java-type>
+ <java-type name="ClassesOfService">
+ <xml-properties>
+ <xml-property name="description" value="class-of-service of probe" />
+ </xml-properties>
+ <xml-root-element name="classes-of-service" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="classOfService" name="class-of-service" type="inventory.aai.openecomp.org.v10.ClassOfService" />
+ </java-attributes>
+ </java-type>
+ <java-type name="ClassOfService">
+ <xml-root-element name="class-of-service" />
+ <java-attributes>
+ <xml-element java-attribute="cos" name="cos" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="cos" />
+ <xml-property name="dependentOn" value="site-pair" />
+ <xml-property name="container" value="classes-of-service" />
+ </xml-properties>
+ </java-type>
+ <java-type name="VpnBindings">
+ <xml-root-element name="vpn-bindings" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vpnBinding" name="vpn-binding" type="inventory.aai.openecomp.org.v10.VpnBinding" />
+ </java-attributes>
+ </java-type>
+ <java-type name="VpnBinding">
+ <xml-root-element name="vpn-binding" />
+ <java-attributes>
+ <xml-element java-attribute="vpnId" name="vpn-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="VPN ID, globally unique within A&amp;AI" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTargets" name="route-targets" type="inventory.aai.openecomp.org.v10.RouteTargets" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList">
+ <xml-properties>
+ <xml-property name="description" value="l3-networks relate to vpn-bindings" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPN binding" />
+ <xml-property name="nameProps" value="vpn-name,vpn-type" />
+ <xml-property name="indexedProps" value="vpn-name,vpn-id,vpn-type" />
+ <xml-property name="searchable" value="vpn-id,vpn-name" />
+ <xml-property name="uniqueProps" value="vpn-id" />
+ <xml-property name="container" value="vpn-bindings" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+ <java-type name="VplsPes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VPLS Provider Edge routers" />
+ </xml-properties>
+ <xml-root-element name="vpls-pes" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vplsPe" name="vpls-pe" type="inventory.aai.openecomp.org.v10.VplsPe" />
+ </java-attributes>
+ </java-type>
+ <java-type name="VplsPe">
+ <xml-root-element name="vpls-pe" />
+ <java-attributes>
+ <xml-element java-attribute="equipmentName" name="equipment-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v10.PInterfaces" />
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPLS Provider Edge routers." />
+ <xml-property name="indexedProps" value="prov-status,equipment-name" />
+ <xml-property name="container" value="vpls-pes" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+ <java-type name="MulticastConfigurations">
+ <xml-properties>
+ <xml-property name="description" value="multicast configuration of generic-vnf ip-address" />
+ </xml-properties>
+ <xml-root-element name="multicast-configurations" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="multicastConfiguration" name="multicast-configuration" type="inventory.aai.openecomp.org.v10.MulticastConfiguration" />
+ </java-attributes>
+ </java-type>
+ <java-type name="MulticastConfiguration">
+ <xml-root-element name="multicast-configuration" />
+ <java-attributes>
+ <xml-element java-attribute="multicastConfigurationId" name="multicast-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of multicast configuration." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="multicast-configuration-id" />
+ <xml-property name="uniqueProps" value="multicast-configuration-id" />
+ <xml-property name="container" value="multicast-configurations" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Vces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Virtual Customer Edge Routers, used specifically for Gamma. This object is deprecated." />
+ </xml-properties>
+ <xml-root-element name="vces" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vce" name="vce" type="inventory.aai.openecomp.org.v10.Vce" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Vce">
+ <xml-root-element name="vce" />
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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="sourceOfTruthType" value="aai" />
+ </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="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroups" name="port-groups" type="inventory.aai.openecomp.org.v10.PortGroups" />
+ <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v10.Licenses" />
+ <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v10.Entitlements" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Customer Edge Router, used specifically for Gamma. This object is deprecated." />
+ <xml-property name="nameProps" value="vnf-name" />
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id" />
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
+ <xml-property name="uniqueProps" value="vnf-id" />
+ <xml-property name="container" value="vces" />
+ <xml-property name="namespace" value="network" />
+ <xml-property name="extends" value="vnf" />
+ </xml-properties>
+ </java-type>
+ <java-type name="PortGroups">
+ <xml-root-element name="port-groups" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="portGroup" name="port-group" type="inventory.aai.openecomp.org.v10.PortGroup" />
+ </java-attributes>
+ </java-type>
+ <java-type name="PortGroup">
+ <xml-root-element name="port-group" />
+ <java-attributes>
+ <xml-element java-attribute="interfaceId" name="interface-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the interface" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlanTags" name="cvlan-tags" type="inventory.aai.openecomp.org.v10.CvlanTags" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Used to capture the network interfaces of this VCE" />
+ <xml-property name="nameProps" value="port-group-name" />
+ <xml-property name="indexedProps" value="port-group-id,heat-stack-id,interface-id,interface-name,switch-name" />
+ <xml-property name="dependentOn" value="vce" />
+ <xml-property name="container" value="port-groups" />
+ </xml-properties>
+ </java-type>
+ <java-type name="CvlanTags">
+ <xml-root-element name="cvlan-tags" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cvlanTagEntry" name="cvlan-tag-entry" type="inventory.aai.openecomp.org.v10.CvlanTagEntry" />
+ </java-attributes>
+ </java-type>
+ <java-type name="CvlanTagEntry">
+ <xml-root-element name="cvlan-tag-entry" />
+ <java-attributes>
+ <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="See mis-na-virtualization-platform.yang" />
+ <xml-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="dependentOn" value="port-group" />
+ <xml-property name="indexedProps" value="cvlan-tag" />
+ <xml-property name="container" value="cvlan-tags" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Vpes">
+ <xml-properties>
+ <xml-property name="description" value="Virtual provider edge router. In 1504, A&amp;AI will populate this object through an M&amp;P and tool provided to operations." />
+ </xml-properties>
+ <xml-root-element name="vpes" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vpe" name="vpe" type="inventory.aai.openecomp.org.v10.Vpe" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Vpe">
+ <xml-root-element name="vpe" />
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service. Does not map strictly to ASDC services. SOON TO BE DEPRECATED" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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="sourceOfTruthType" value="aai" />
+ </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="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use. See child relationships." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v4Loopback0IpAddress" name="v4-loopback0-ip-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Loopback0 address" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="as-number of the VPE" />
+ <xml-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="details regarding the vpe operation, PLEASE DISCONTINUE USE OF THIS FIELD." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether vpe access uses SSH" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
+ <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v10.Licenses" />
+ <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v10.Entitlements" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Relationship-list must include related to info for complex." />
+ <xml-property name="nameProps" value="vnf-name" />
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,regional-resource-zone,prov-status,service-id" />
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
+ <xml-property name="uniqueProps" value="vnf-id" />
+ <xml-property name="container" value="vpes" />
+ <xml-property name="namespace" value="network" />
+ <xml-property name="extends" value="vnf" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Vnfcs">
+ <xml-properties>
+ <xml-property name="description" value="virtual network components associated with a vserver from application controller." />
+ </xml-properties>
+ <xml-root-element name="vnfcs" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfc" name="vnfc" type="inventory.aai.openecomp.org.v10.Vnfc" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Vnfc">
+ <xml-root-element name="vnfc" />
+ <java-attributes>
+ <xml-element java-attribute="vnfcName" name="vnfc-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vnfc." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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="sourceOfTruthType" value="aai" />
+ </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="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vnfc-name,prov-status,vnfc-type,vnfc-function-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation" />
+ <xml-property name="searchable" value="vnfc-name" />
+ <xml-property name="container" value="vnfcs" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+ <java-type name="L3Networks">
+ <xml-root-element name="l3-networks" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3Network" name="l3-network" type="inventory.aai.openecomp.org.v10.L3Network" />
+ </java-attributes>
+ </java-type>
+ <java-type name="L3Network">
+ <xml-root-element name="l3-network" />
+ <java-attributes>
+ <xml-element java-attribute="networkId" name="network-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Network ID, should be uuid. Unique across A&amp;AI." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-invariant-id-local" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-version-id-local" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnets" name="subnets" type="inventory.aai.openecomp.org.v10.Subnets" />
+ <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.openecomp.org.v10.CtagAssignments" />
+ <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.openecomp.org.v10.SegmentationAssignments" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList">
+ <xml-properties>
+ <xml-property name="description" value="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Generic network definition" />
+ <xml-property name="nameProps" value="network-name" />
+ <xml-property name="indexedProps" value="heat-stack-id,network-uuid,service-id,network-id,network-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-network-fqdn,network-role" />
+ <xml-property name="searchable" value="network-id,network-name" />
+ <xml-property name="uniqueProps" value="network-id" />
+ <xml-property name="container" value="l3-networks" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+ <java-type name="NetworkPolicies">
+ <xml-root-element name="network-policies" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkPolicy" name="network-policy" type="inventory.aai.openecomp.org.v10.NetworkPolicy" />
+ </java-attributes>
+ </java-type>
+ <java-type name="NetworkPolicy">
+ <xml-root-element name="network-policy" />
+ <java-attributes>
+ <xml-element java-attribute="networkPolicyId" name="network-policy-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID representing unique key to this instance" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="nameProps" value="network-policy-fqdn" />
+ <xml-property name="indexedProps" value="network-policy-id,network-policy-fqdn" />
+ <xml-property name="searchable" value="network-policy-id,network-policy-fqdn" />
+ <xml-property name="uniqueProps" value="network-policy-id" />
+ <xml-property name="container" value="network-policies" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+ <java-type name="CtagAssignments">
+ <xml-root-element name="ctag-assignments" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagAssignment" name="ctag-assignment" type="inventory.aai.openecomp.org.v10.CtagAssignment" />
+ </java-attributes>
+ </java-type>
+ <java-type name="CtagAssignment">
+ <xml-root-element name="ctag-assignment" />
+ <java-attributes>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="id." />
+ <xml-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vlan-id-inner" />
+ <xml-property name="dependentOn" value="l3-network" />
+ <xml-property name="container" value="ctag-assignments" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Subnets">
+ <xml-root-element name="subnets" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="subnet" name="subnet" type="inventory.aai.openecomp.org.v10.Subnet" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Subnet">
+ <xml-root-element name="subnet" />
+ <java-attributes>
+ <xml-element java-attribute="subnetId" name="subnet-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Subnet ID, should be UUID." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="subnet-id,subnet-name" />
+ <xml-property name="nameProps" value="subnet-name" />
+ <xml-property name="uniqueProps" value="subnet-id" />
+ <xml-property name="dependentOn" value="l3-network" />
+ <xml-property name="container" value="subnets" />
+ </xml-properties>
+ </java-type>
+ <java-type name="GenericVnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VNFs" />
+ </xml-properties>
+ <xml-root-element name="generic-vnfs" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="genericVnf" name="generic-vnf" type="inventory.aai.openecomp.org.v10.GenericVnf" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+ <java-type name="GenericVnf">
+ <xml-root-element name="generic-vnf" />
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-invariant-id-local" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-version-id-local" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
+ <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.openecomp.org.v10.VfModules" />
+ <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v10.Licenses" />
+ <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v10.Entitlements" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="General purpose VNF" />
+ <xml-property name="nameProps" value="vnf-name" />
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,nf-type,nf-function,nf-naming-code,nf-role" />
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
+ <xml-property name="uniqueProps" value="vnf-id" />
+ <xml-property name="container" value="generic-vnfs" />
+ <xml-property name="namespace" value="network" />
+ <xml-property name="extends" value="vnf" />
+ <xml-property name="containsSuggestibleProps" value="true" />
+ <xml-property name="suggestionAliases" value="VNFs" />
+ </xml-properties>
+ </java-type>
+ <java-type name="VfModules">
+ <xml-properties>
+ <xml-property name="description" value="Collection of vf-modules, a deployment unit of VNFCs" />
+ </xml-properties>
+ <xml-root-element name="vf-modules" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vfModule" name="vf-module" type="inventory.aai.openecomp.org.v10.VfModule" />
+ </java-attributes>
+ </java-type>
+ <java-type name="VfModule">
+ <xml-root-element name="vf-module" />
+ <java-attributes>
+ <xml-element java-attribute="vfModuleId" name="vf-module-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vf-module." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-invariant-id-local" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-version-id-local" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="a deployment unit of VNFCs" />
+ <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-service-instance-fqdn" />
+ <xml-property name="searchable" value="vf-module-id,vf-module-name" />
+ <xml-property name="dependentOn" value="generic-vnf" />
+ <xml-property name="container" value="vf-modules" />
+ </xml-properties>
+ </java-type>
+ <java-type name="LagLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregation connections" />
+ </xml-properties>
+ <xml-root-element name="lag-links" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagLink" name="lag-link" type="inventory.aai.openecomp.org.v10.LagLink" />
+ </java-attributes>
+ </java-type>
+ <java-type name="LagLink">
+ <xml-root-element name="lag-link" />
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Alphabetical concatenation of lag-interface names" />
+ <xml-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="LAG links can connect lag-interfaces" />
+ <xml-property name="indexedProps" value="link-name" />
+ <xml-property name="container" value="lag-links" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Newvces">
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce." />
+ </xml-properties>
+ <xml-root-element name="newvces" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="newvce" name="newvce" type="inventory.aai.openecomp.org.v10.Newvce" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Newvce">
+ <xml-root-element name="newvce" />
+ <java-attributes>
+ <xml-element java-attribute="vnfId2" name="vnf-id2" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF, can't use same attribute name right now until we promote this new object" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value, e.g., VPE." />
+ <xml-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce." />
+ <xml-property name="nameProps" value="vnf-name" />
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2" />
+ <xml-property name="searchable" value="vnf-id2,vnf-name,vnf-name2" />
+ <xml-property name="uniqueProps" value="vnf-id2" />
+ <xml-property name="container" value="newvces" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Pnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Physical Network Functions." />
+ </xml-properties>
+ <xml-root-element name="pnfs" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pnf" name="pnf" type="inventory.aai.openecomp.org.v10.Pnf" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Pnf">
+ <xml-root-element name="pnf" />
+ <java-attributes>
+ <xml-element java-attribute="pnfName" name="pnf-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique name of Physical Network Function." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v10.PInterfaces" />
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world." />
+ <xml-property name="indexedProps" value="pnf-name,orchestration-status,inv-status" />
+ <xml-property name="searchable" value="pnf-name" />
+ <xml-property name="uniqueProps" value="pnf-name" />
+ <xml-property name="container" value="pnfs" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+ <java-type name="PhysicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
+ </xml-properties>
+ <xml-root-element name="physical-links" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="physicalLink" name="physical-link" type="inventory.aai.openecomp.org.v10.PhysicalLink" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+ <java-type name="PhysicalLink">
+ <xml-root-element name="physical-link" />
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
+ <xml-property name="indexedProps" value="circuit-id,link-name" />
+ <xml-property name="alternateKeys1" value="circuit-id" />
+ <xml-property name="container" value="physical-links" />
+ <xml-property name="namespace" value="network" />
+ <xml-property name="searchable" value="link-name,circuit-id" />
+ </xml-properties>
+ </java-type>
+ <java-type name="VigServers">
+ <xml-root-element name="vig-servers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vigServer" name="vig-server" type="inventory.aai.openecomp.org.v10.VigServer" />
+ </java-attributes>
+ </java-type>
+ <java-type name="VigServer">
+ <xml-root-element name="vig-server" />
+ <java-attributes>
+ <xml-element java-attribute="vigAddressType" name="vig-address-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether the VIG is for AVPN or INTERNET" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607" />
+ <xml-property name="indexedProps" value="vig-address-type" />
+ <xml-property name="dependentOn" value="ipsec-configuration" />
+ <xml-property name="container" value="vig-servers" />
+ </xml-properties>
+ </java-type>
+ <java-type name="IpsecConfigurations">
+ <xml-root-element name="ipsec-configurations" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipsecConfiguration" name="ipsec-configuration" type="inventory.aai.openecomp.org.v10.IpsecConfiguration" />
+ </java-attributes>
+ </java-type>
+ <java-type name="IpsecConfiguration">
+ <xml-root-element name="ipsec-configuration" />
+ <java-attributes>
+ <xml-element java-attribute="ipsecConfigurationId" name="ipsec-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of this configuration" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.openecomp.org.v10.VigServers" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C" />
+ <xml-property name="indexedProps" value="ipsec-configuration-id" />
+ <xml-property name="uniqueProps" value="ipsec-configuration-id" />
+ <xml-property name="container" value="ipsec-configurations" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+ <java-type name="NotificationEvent">
+ <xml-root-element name="notification-event" />
+ <java-attributes>
+ <xml-element java-attribute="cambriaPartition" name="cambria.partition" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="eventHeader" name="event-header" type="inventory.aai.openecomp.org.v10.NotificationEventHeader" />
+ <xml-any-element java-attribute="entity" />
+ </java-attributes>
+ </java-type>
+ <java-type name="NotificationEventHeader">
+ <xml-root-element name="notification-event-header" />
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="timestamp" name="timestamp" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceName" name="source-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="domain" name="domain" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sequenceNumber" name="sequence-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="severity" name="severity" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="eventType" name="event-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="version" name="version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="action" name="action" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entityType" name="entity-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="topEntityType" name="top-entity-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entityLink" name="entity-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="status" name="status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+ <java-type name="AaiInternal">
+ <xml-root-element name="aai-internal" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="reservedPropNames" name="reserved-prop-names" type="inventory.aai.openecomp.org.v10.ReservedPropNames" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.openecomp.org.v10.EdgePropNames" />
+ </java-attributes>
+ </java-type>
+ <java-type name="ReservedPropNames">
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define some reserved properties of a vertex" />
+ <xml-property name="uniqueProps" value="aai-unique-key" />
+ <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type,aai-uri" />
+ </xml-properties>
+ <xml-root-element name="reserved-prop-names" />
+ <java-attributes>
+ <xml-element java-attribute="lastModSourceOfTruth" name="last-mod-source-of-truth" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="aaiNodeType" name="aai-node-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="aaiCreatedTs" name="aai-created-ts" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="aaiUniqueKey" name="aai-unique-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="aaiLastModTs" name="aai-last-mod-ts" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceOfTruth" name="source-of-truth" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="aaiUri" name="aai-uri" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ </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-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="direction" name="direction" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="multiplicityRule" name="multiplicityRule" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isParent" name="isParent" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="usesResource" name="usesResource" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hasDelTarget" name="hasDelTarget" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="SVC-INFRA" name="SVC-INFRA" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="SVC-INFRA-REV" name="SVC-INFRA-REV" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+ <java-type name="Models">
+ <xml-properties>
+ <xml-property name="description" value="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models" />
+ </xml-properties>
+ <xml-root-element name="models" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="model" name="model" type="inventory.aai.openecomp.org.v10.Model" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Model">
+ <xml-root-element name="model" />
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version" />
+ <xml-property name="nameProps" value="model-type" />
+ <xml-property name="indexedProps" value="model-invariant-id,model-type" />
+ <xml-property name="uniqueProps" value="model-invariant-id" />
+ <xml-property name="container" value="models" />
+ <xml-property name="namespace" value="service-design-and-creation" />
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.openecomp.org.v10.ModelVers" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ </java-type>
+ <java-type name="ModelVers">
+ <xml-root-element name="model-vers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelVer" name="model-ver" type="inventory.aai.openecomp.org.v10.ModelVer" />
+ </java-attributes>
+ </java-type>
+ <java-type name="ModelVer">
+ <xml-root-element name="model-ver" />
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models" />
+ <xml-property name="nameProps" value="model-name" />
+ <xml-property name="indexedProps" value="model-version-id,model-name,model-version" />
+ <xml-property name="uniqueProps" value="model-version-id" />
+ <xml-property name="container" value="model-vers" />
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v10.ModelElements" />
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v10.Metadata" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ </java-type>
+ <java-type name="ModelElements">
+ <xml-root-element name="model-elements" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelElement" name="model-element" type="inventory.aai.openecomp.org.v10.ModelElement" />
+ </java-attributes>
+ </java-type>
+ <java-type name="ModelElement">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model." />
+ <xml-property name="uniqueProps" value="model-element-uuid" />
+ <xml-property name="indexedProps" value="model-element-uuid" />
+ <xml-property name="allowDirectRead" value="true" />
+ <xml-property name="allowDirectWrite" value="false" />
+ <xml-property name="container" value="model-elements" />
+ </xml-properties>
+ <xml-root-element name="model-element" />
+ <java-attributes>
+ <xml-element java-attribute="modelElementUuid" name="model-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="linkagePoints" name="linkage-points" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v10.ModelElements">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelConstraints" name="model-constraints" type="inventory.aai.openecomp.org.v10.ModelConstraints">
+ <xml-properties>
+ <xml-property name="description" value="Describes new constraints on this model element that are not part of that model's definition" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ </java-type>
+ <java-type name="ModelConstraints">
+ <xml-root-element name="model-constraints" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelConstraint" name="model-constraint" type="inventory.aai.openecomp.org.v10.ModelConstraint" />
+ </java-attributes>
+ </java-type>
+ <java-type name="ModelConstraint">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
+ <xml-property name="uniqueProps" value="model-constraint-uuid" />
+ <xml-property name="indexedProps" value="model-constraint-uuid" />
+ <xml-property name="allowDirectRead" value="true" />
+ <xml-property name="allowDirectWrite" value="false" />
+ <xml-property name="container" value="model-constraints" />
+ </xml-properties>
+ <xml-root-element name="model-constraint" />
+ <java-attributes>
+ <xml-element java-attribute="modelConstraintUuid" name="model-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constrainedElementSetUuidToReplace" name="constrained-element-set-uuid-to-replace" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constrainedElementSets" name="constrained-element-sets" type="inventory.aai.openecomp.org.v10.ConstrainedElementSets" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+ <java-type name="ConstrainedElementSets">
+ <xml-root-element name="constrained-element-sets" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="constrainedElementSet" name="constrained-element-set" type="inventory.aai.openecomp.org.v10.ConstrainedElementSet" />
+ </java-attributes>
+ </java-type>
+ <java-type name="ConstrainedElementSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
+ <xml-property name="uniqueProps" value="constrained-element-set-uuid" />
+ <xml-property name="indexedProps" value="constrained-element-set-uuid" />
+ <xml-property name="allowDirectRead" value="true" />
+ <xml-property name="allowDirectWrite" value="false" />
+ <xml-property name="container" value="constrained-element-sets" />
+ </xml-properties>
+ <xml-root-element name="constrained-element-set" />
+ <java-attributes>
+ <xml-element java-attribute="constrainedElementSetUuid" name="constrained-element-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="checkType" name="check-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="elementChoiceSets" name="element-choice-sets" type="inventory.aai.openecomp.org.v10.ElementChoiceSets" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ </java-type>
+ <java-type name="ElementChoiceSets">
+ <xml-root-element name="element-choice-sets" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="elementChoiceSet" name="element-choice-set" type="inventory.aai.openecomp.org.v10.ElementChoiceSet" />
+ </java-attributes>
+ </java-type>
+ <java-type name="ElementChoiceSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
+ <xml-property name="uniqueProps" value="element-choice-set-uuid" />
+ <xml-property name="indexedProps" value="element-choice-set-uuid" />
+ <xml-property name="allowDirectRead" value="true" />
+ <xml-property name="allowDirectWrite" value="false" />
+ <xml-property name="container" value="element-choice-sets" />
+ </xml-properties>
+ <xml-root-element name="element-choice-set" />
+ <java-attributes>
+ <xml-element java-attribute="elementChoiceSetUuid" name="element-choice-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="elementChoiceSetName" name="element-choice-set-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cardinality" name="cardinality" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v10.ModelElements" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ </java-type>
+ <java-type name="NamedQueries">
+ <xml-root-element name="named-queries" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQuery" name="named-query" type="inventory.aai.openecomp.org.v10.NamedQuery" />
+ </java-attributes>
+ </java-type>
+ <java-type name="NamedQuery">
+ <xml-properties>
+ <xml-property name="description" value="TBD" />
+ <xml-property name="nameProps" value="named-query-name" />
+ <xml-property name="uniqueProps" value="named-query-uuid" />
+ <xml-property name="indexedProps" value="named-query-uuid,named-query-name" />
+ <xml-property name="container" value="named-queries" />
+ <xml-property name="namespace" value="service-design-and-creation" />
+ </xml-properties>
+ <xml-root-element name="named-query" />
+ <java-attributes>
+ <xml-element java-attribute="namedQueryUuid" name="named-query-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="namedQueryName" name="named-query-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="namedQueryVersion" name="named-query-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="requiredInputParams" name="required-input-param" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ <xml-element-wrapper name="required-input-params" />
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v10.NamedQueryElements" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ </java-type>
+ <java-type name="NamedQueryElements">
+ <xml-root-element name="named-query-elements" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQueryElement" name="named-query-element" type="inventory.aai.openecomp.org.v10.NamedQueryElement" />
+ </java-attributes>
+ </java-type>
+ <java-type name="NamedQueryElement">
+ <xml-properties>
+ <xml-property name="description" value="TBD" />
+ <xml-property name="uniqueProps" value="named-query-element-uuid" />
+ <xml-property name="indexedProps" value="named-query-element-uuid" />
+ <xml-property name="allowDirectRead" value="true" />
+ <xml-property name="allowDirectWrite" value="false" />
+ <xml-property name="container" value="named-query-elements" />
+ </xml-properties>
+ <xml-root-element name="named-query-element" />
+ <java-attributes>
+ <xml-element java-attribute="namedQueryElementUuid" name="named-query-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="propertyLimitDesc" name="property-limit-desc" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="doNotOutput" name="do-not-output" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v10.NamedQueryElements" />
+ <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.openecomp.org.v10.RelatedLookups" />
+ <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.openecomp.org.v10.PropertyConstraints" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ </java-type>
+ <java-type name="RelatedLookups">
+ <xml-root-element name="related-lookups" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedLookup" name="related-lookup" type="inventory.aai.openecomp.org.v10.RelatedLookup" />
+ </java-attributes>
+ </java-type>
+ <java-type name="RelatedLookup">
+ <xml-properties>
+ <xml-property name="description" value="TBD" />
+ <xml-property name="uniqueProps" value="related-lookup-uuid" />
+ <xml-property name="indexedProps" value="related-lookup-uuid" />
+ <xml-property name="allowDirectRead" value="true" />
+ <xml-property name="allowDirectWrite" value="false" />
+ <xml-property name="container" value="related-lookups" />
+ </xml-properties>
+ <xml-root-element name="related-lookup" />
+ <java-attributes>
+ <xml-element java-attribute="relatedLookupUuid" name="related-lookup-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceNodeType" name="source-node-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceNodeProperty" name="source-node-property" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="targetNodeType" name="target-node-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="targetNodeProperty" name="target-node-property" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ </java-type>
+ <java-type name="PropertyConstraints">
+ <xml-root-element name="property-constraints" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyConstraint" name="property-constraint" type="inventory.aai.openecomp.org.v10.PropertyConstraint" />
+ </java-attributes>
+ </java-type>
+ <java-type name="PropertyConstraint">
+ <xml-properties>
+ <xml-property name="description" value="TBD" />
+ <xml-property name="uniqueProps" value="property-constraint-uuid" />
+ <xml-property name="indexedProps" value="property-constraint-uuid" />
+ <xml-property name="allowDirectRead" value="true" />
+ <xml-property name="allowDirectWrite" value="false" />
+ <xml-property name="container" value="property-constraints" />
+ </xml-properties>
+ <xml-root-element name="property-constraint" />
+ <java-attributes>
+ <xml-element java-attribute="propertyConstraintUuid" name="property-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="propertyName" name="property-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="propertyValue" name="property-value" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+ <java-type name="ModelAndNamedQuerySearch">
+ <xml-properties>
+ <xml-property name="description" value="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query" />
+ </xml-properties>
+ <xml-root-element name="model-and-named-query-search" />
+ <java-attributes>
+ <xml-element java-attribute="queryParameters" name="query-parameters" type="inventory.aai.openecomp.org.v10.QueryParameters" />
+ <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.openecomp.org.v10.InstanceFilters" />
+ <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.openecomp.org.v10.SecondaryFilts" />
+ <xml-element java-attribute="topNodeType" name="top-node-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="secondaryFilterCutPoint" name="secondary-filter-cut-point" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+ <java-type name="QueryParameters">
+ <xml-properties>
+ <xml-property name="description" value="QueryParameters for performing a named-query or model query" />
+ </xml-properties>
+ <xml-root-element name="query-parameters" />
+ <java-attributes>
+ <xml-element java-attribute="namedQuery" name="named-query" type="inventory.aai.openecomp.org.v10.NamedQuery" />
+ <xml-element java-attribute="model" name="model" type="inventory.aai.openecomp.org.v10.OverloadedModel" />
+ </java-attributes>
+ </java-type>
+ <java-type name="OverloadedModel">
+ <xml-root-element name="overloaded-model" />
+ <xml-properties>
+ <xml-property name="description" value="Allows for legacy POST of old-style and new-style models" />
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.openecomp.org.v10.ModelVers" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ </java-type>
+ <java-type name="InstanceFilters">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilters for performing a named-query or model query" />
+ </xml-properties>
+ <xml-root-element name="instance-filters" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="instanceFilter" name="instance-filter" type="inventory.aai.openecomp.org.v10.InstanceFilter" />
+ </java-attributes>
+ </java-type>
+ <java-type name="InstanceFilter">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilter for performing a named-query or model query" />
+ <xml-property name="container" value="instance-filters" />
+ </xml-properties>
+ <xml-root-element name="instance-filter" />
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any" />
+ </java-attributes>
+ </java-type>
+ <java-type name="SecondaryFilts">
+ <xml-properties>
+ <xml-property name="description" value="SecondaryFilts for performing a named-query or model query" />
+ </xml-properties>
+ <xml-root-element name="secondary-filts" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilt" name="secondary-filt" type="inventory.aai.openecomp.org.v10.SecondaryFilt" />
+ </java-attributes>
+ </java-type>
+ <java-type name="SecondaryFilt">
+ <xml-properties>
+ <xml-property name="description" value="SecondaryFilt for performing a named-query or model query" />
+ </xml-properties>
+ <xml-root-element name="secondary-filt" />
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Properties">
+ <xml-properties>
+ <xml-property name="description" value="Property holder for query properties or instance properties" />
+ </xml-properties>
+ <xml-root-element name="properties" />
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+ <java-type name="ResponseList">
+ <xml-properties>
+ <xml-property name="description" value="Response container for the results of a named-query or model query" />
+ </xml-properties>
+ <xml-root-element name="response-list" />
+ <java-attributes>
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.openecomp.org.v10.InventoryResponseItems" />
+ </java-attributes>
+ </java-type>
+ <java-type name="InventoryResponseItems">
+ <xml-properties>
+ <xml-property name="description" value="Container for inventory items in response list" />
+ <xml-property name="container" value="response-list" />
+ </xml-properties>
+ <xml-root-element name="inventory-response-items" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryResponseItem" name="inventory-response-item" type="inventory.aai.openecomp.org.v10.InventoryResponseItem" />
+ </java-attributes>
+ </java-type>
+ <java-type name="InventoryResponseItem">
+ <xml-properties>
+ <xml-property name="description" value="Inventory item for response list" />
+ <xml-property name="container" value="inventory-response-items" />
+ </xml-properties>
+ <xml-root-element name="inventory-response-item" />
+ <java-attributes>
+ <xml-element java-attribute="modelName" name="model-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-any-element java-attribute="item" />
+ <xml-element java-attribute="extraProperties" name="extra-properties" type="inventory.aai.openecomp.org.v10.ExtraProperties" />
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.openecomp.org.v10.InventoryResponseItems" />
+ </java-attributes>
+ </java-type>
+ <java-type name="ExtraProperties">
+ <xml-properties>
+ <xml-property name="description" value="Extra properties for inventory item for response list" />
+ </xml-properties>
+ <xml-root-element name="extra-properties" />
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="extraProperty" name="extra-property" type="inventory.aai.openecomp.org.v10.ExtraProperty" />
+ </java-attributes>
+ </java-type>
+ <java-type name="ExtraProperty">
+ <xml-root-element name="extra-property" />
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-any-element java-attribute="propertyValue" lax="true" name="property-value" />
+ </java-attributes>
+ </java-type>
+ <java-type name="RouteTableReferences">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack route table references" />
+ </xml-properties>
+ <xml-root-element name="route-table-references" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routeTableReference" name="route-table-reference" type="inventory.aai.openecomp.org.v10.RouteTableReference" />
+ </java-attributes>
+ </java-type>
+ <java-type name="RouteTableReference">
+ <xml-root-element name="route-table-reference" />
+ <java-attributes>
+ <xml-element java-attribute="routeTableReferenceId" name="route-table-reference-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack route table reference." />
+ <xml-property name="nameProps" value="route-table-reference-fqdn" />
+ <xml-property name="uniqueProps" value="route-table-reference-id" />
+ <xml-property name="indexedProps" value="route-table-reference-id,route-table-reference-fqdn" />
+ <xml-property name="container" value="route-table-references" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+ <java-type name="InstanceGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack route table references" />
+ </xml-properties>
+ <xml-root-element name="instance-groups" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="instanceGroup" name="instance-group" type="inventory.aai.openecomp.org.v10.InstanceGroup" />
+ </java-attributes>
+ </java-type>
+ <java-type name="InstanceGroup">
+ <xml-root-element name="instance-group" />
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Instance Group ID, UUID assigned to this instance." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="General mechanism for grouping instances" />
+ <xml-property name="nameProps" value="description" />
+ <xml-property name="uniqueProps" value="id" />
+ <xml-property name="indexedProps" value="id,description,type,sub-type" />
+ <xml-property name="container" value="instance-groups" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+ <java-type name="SegmentationAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack segmentation assignments" />
+ </xml-properties>
+ <xml-root-element name="segmentation-assignments" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.openecomp.org.v10.SegmentationAssignment" />
+ </java-attributes>
+ </java-type>
+ <java-type name="SegmentationAssignment">
+ <xml-root-element name="segmentation-assignment" />
+ <java-attributes>
+ <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack segmentation assignment." />
+ <xml-property name="indexedProps" value="segmentation-id" />
+ <xml-property name="dependentOn" value="l3-network" />
+ <xml-property name="container" value="segmentation-assignments" />
+ </xml-properties>
+ </java-type>
+ <java-type name="AllottedResources">
+ <xml-properties>
+ <xml-property name="description" value="This object is used to store slices of services being offered" />
+ </xml-properties>
+ <xml-root-element name="allotted-resources" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="allottedResource" name="allotted-resource" type="inventory.aai.openecomp.org.v10.AllottedResource" />
+ </java-attributes>
+ </java-type>
+ <java-type name="AllottedResource">
+ <xml-root-element name="allotted-resource" />
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Allotted Resource id UUID assigned to this instance." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-invariant-id-local" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-version-id-local" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tunnelXconnects" name="tunnel-xconnects" type="inventory.aai.openecomp.org.v10.TunnelXconnects" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Represents a slice or partial piece of a resource that gets separately allotted" />
+ <xml-property name="nameProps" value="description" />
+ <xml-property name="uniqueProps" value="id" />
+ <xml-property name="indexedProps" value="id,model-invariant-id,model-version-id,type,role" />
+ <xml-property name="dependentOn" value="service-instance" />
+ <xml-property name="container" value="allotted-resources" />
+ <!-- <xml-property name="namespace" value="network" /> -->
+ </xml-properties>
+ </java-type>
+ <java-type name="TunnelXconnects">
+ <xml-properties>
+ <xml-property name="description" value="This object is used to store the specific tunnel cross connect aspects of an allotted resource" />
+ </xml-properties>
+ <xml-root-element name="tunnel-xconnects" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tunnelXconnect" name="tunnel-xconnect" type="inventory.aai.openecomp.org.v10.TunnelXconnect" />
+ </java-attributes>
+ </java-type>
+ <java-type name="TunnelXconnect">
+ <xml-root-element name="tunnel-xconnect" />
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Allotted Resource id UUID assigned to this instance." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted" />
+ <xml-property name="uniqueProps" value="id" />
+ <xml-property name="indexedProps" value="id" />
+ <xml-property name="dependentOn" value="allotted-resource" />
+ <xml-property name="container" value="tunnel-xconnects" />
+ <!-- <xml-property name="namespace" value="network" /> -->
+ </xml-properties>
+ </java-type>
+ <java-type name="Entitlements">
+ <xml-properties>
+ <xml-property name="description" value="Entitlements, keyed by group-uuid and resource-uuid, related to license management" />
+ </xml-properties>
+ <xml-root-element name="entitlements" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="entitlement" name="entitlement" type="inventory.aai.openecomp.org.v10.Entitlement" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Entitlement">
+ <xml-root-element name="entitlement" />
+ <java-attributes>
+ <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for the entitlement group the resource comes from, should be uuid." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Metadata for entitlement group." />
+ <xml-property name="indexedProps" value="group-uuid,resource-uuid" />
+ <xml-property name="dependentOn" value="generic-vnf,vce,vpe" />
+ <xml-property name="container" value="entitlements" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Licenses">
+ <xml-properties>
+ <xml-property name="description" value="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management" />
+ </xml-properties>
+ <xml-root-element name="licenses" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="license" name="license" type="inventory.aai.openecomp.org.v10.License" />
+ </java-attributes>
+ </java-type>
+ <java-type name="License">
+ <xml-root-element name="license" />
+ <java-attributes>
+ <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for the license group the resource belongs to, should be uuid." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Metadata for license group." />
+ <xml-property name="indexedProps" value="group-uuid,resource-uuid" />
+ <xml-property name="dependentOn" value="generic-vnf,vce,vpe" />
+ <xml-property name="container" value="licenses" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Vnf">
+ <xml-root-element name="vnf" />
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph." />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Abstract vnf class" />
+ <xml-property name="indexedProps" value="vnf-id" />
+ <xml-property name="uniqueProps" value="vnf-id" />
+ <xml-property name="inheritors" value="vce,vpe,generic-vnf" />
+ <xml-property name="abstract" value="true" />
+ </xml-properties>
+ </java-type>
+ <java-type name="Zones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of zones" />
+ </xml-properties>
+ <xml-root-element name="zones" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="zone" name="zone" type="inventory.aai.openecomp.org.v10.Zone" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Zone">
+ <xml-root-element name="zone" />
+ <java-attributes>
+ <xml-element java-attribute="zoneId" name="zone-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Code assigned by AIC to the zone" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="A zone is a grouping of assets in a location homing to the same connections into the CBB" />
+ <xml-property name="nameProps" value="zone-name" />
+ <xml-property name="indexedProps" value="zone-id,design-type,zone-context" />
+ <xml-property name="uniqueProps" value="zone-id" />
+ <xml-property name="container" value="zones" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+ <java-type name="RouteTargets">
+ <xml-properties>
+ <xml-property name="description" value="Collection of route target information" />
+ </xml-properties>
+ <xml-root-element name="route-targets" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routeTarget" name="route-target" type="inventory.aai.openecomp.org.v10.RouteTarget" />
+ </java-attributes>
+ </java-type>
+ <java-type name="RouteTarget">
+ <xml-root-element name="route-target" />
+ <java-attributes>
+ <xml-element java-attribute="globalRouteTarget" name="global-route-target" required="true" xml-key="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Number used to identify an RT, globally unique in the network" />
+ <xml-property name="sourceOfTruthType" value="aai" />
+ </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-property name="sourceOfTruthType" value="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-property name="sourceOfTruthType" value="aai" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Route target information" />
+ <xml-property name="container" value="route-targets" />
+ <xml-property name="dependentOn" value="vpn-binding" />
+ </xml-properties>
+ </java-type>
+ </java-types>
+</xml-bindings>
diff --git a/aai-core/src/test/resources/bundleconfig-local/etc/oxm/aai_oxm_v8.xml b/aai-core/src/test/resources/bundleconfig-local/etc/oxm/aai_oxm_v8.xml
new file mode 100644
index 00000000..3ed2ea53
--- /dev/null
+++ b/aai-core/src/test/resources/bundleconfig-local/etc/oxm/aai_oxm_v8.xml
@@ -0,0 +1,3076 @@
+<?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.openecomp.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.openecomp.org.v8.Search" />
+ <xml-element java-attribute="actions" name="actions" type="inventory.aai.openecomp.org.v8.Actions" />
+ <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.openecomp.org.v8.CloudInfrastructure" />
+ <xml-element java-attribute="business" name="business" type="inventory.aai.openecomp.org.v8.Business" />
+ <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.openecomp.org.v8.ServiceDesignAndCreation" />
+ <xml-element java-attribute="network" name="network" type="inventory.aai.openecomp.org.v8.Network" />
+ <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.openecomp.org.v8.AaiInternal" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Search">
+ <xml-root-element name="search" />
+ <java-attributes>
+ <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.openecomp.org.v8.SearchResults" />
+ </java-attributes>
+ </java-type>
+
+
+ <java-type name="TaggedInventoryItemList">
+ <xml-root-element name="tagged-inventory-item-list" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItem" name="inventory-item" type="inventory.aai.openecomp.org.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.openecomp.org.v8.InventoryItemData" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.openecomp.org.v8.TaggedInventoryItemList" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="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="StartNodeFilter">
+ <xml-root-element name="start-node-filter" />
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IncludeNodeFilter">
+ <xml-root-element name="include-node-filter" />
+ <java-attributes>
+ <xml-element java-attribute="includeNodeType" name="include-node-type" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilter">
+ <xml-root-element name="secondary-filter" />
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+ <xml-element java-attribute="filterType" name="filter-type" type="java.lang.String" />
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SearchResults">
+ <xml-root-element name="search-results" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="resultData" name="result-data" type="inventory.aai.openecomp.org.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 AAI 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="Actions">
+ <xml-properties>
+ <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)." />
+ </xml-properties>
+ <xml-root-element name="actions" />
+ <java-attributes>
+ <xml-element java-attribute="update" name="update" type="inventory.aai.openecomp.org.v8.Update" />
+ <xml-element java-attribute="notify" name="notify" type="inventory.aai.openecomp.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." />
+ </xml-properties>
+ <xml-root-element name="update" />
+ <java-attributes>
+ <xml-element java-attribute="updateNodeType" name="update-node-type" required="true" type="java.lang.String" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="updateNodeKey" name="update-node-key" type="inventory.aai.openecomp.org.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.openecomp.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.openecomp.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.openecomp.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="cloudRegions" name="cloud-regions" type="inventory.aai.openecomp.org.v8.CloudRegions" />
+ <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.openecomp.org.v8.Pservers" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CloudRegions">
+ <xml-root-element name="cloud-regions" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cloudRegion" name="cloud-region" type="inventory.aai.openecomp.org.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" />
+ </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.openecomp.org.v8.VolumeGroups" />
+ <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.openecomp.org.v8.Tenants" />
+ <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.openecomp.org.v8.Flavors" />
+ <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.openecomp.org.v8.GroupAssignments" />
+ <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.openecomp.org.v8.Snapshots" />
+ <xml-element java-attribute="images" name="images" type="inventory.aai.openecomp.org.v8.Images" />
+ <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.openecomp.org.v8.AvailabilityZones" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname." />
+ <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type" />
+ <xml-property name="nameProps" value="owner-defined-type" />
+ <xml-property name="container" value="cloud-regions" />
+ <xml-property name="namespace" value="cloud-infrastructure" />
+ </xml-properties>
+ </java-type>
+ <java-type name="VolumeGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of persistent block-level storage." />
+ </xml-properties>
+ <xml-root-element name="volume-groups" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volumeGroup" name="volume-group" type="inventory.aai.openecomp.org.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 SDC resource. This field has been overloaded and clients should expect changes to occur in the future to this field as SDC 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.openecomp.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-properties>
+ </java-type>
+
+ <java-type name="RelationshipList">
+ <xml-root-element name="relationship-list" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.openecomp.org.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 AAI to indicate type of node." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to the object in AAI." />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.openecomp.org.v8.RelationshipData" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.openecomp.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 AAI 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="Tenants">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack tenants." />
+ </xml-properties>
+ <xml-root-element name="tenants" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tenant" name="tenant" type="inventory.aai.openecomp.org.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.openecomp.org.v8.Vservers" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack 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-properties>
+ </java-type>
+
+ <java-type name="Vservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of virtual Servers, aka virtual machines or VMs." />
+ </xml-properties>
+ <xml-root-element name="vservers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vserver" name="vserver" type="inventory.aai.openecomp.org.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" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether closed loop function is enabled on this node" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumes" name="volumes" type="inventory.aai.openecomp.org.v8.Volumes" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v8.LInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="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-properties>
+ </java-type>
+
+ <java-type name="LInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical interfaces." />
+ </xml-properties>
+ <xml-root-element name="l-interfaces" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lInterface" name="l-interface" type="inventory.aai.openecomp.org.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 AAI 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.openecomp.org.v8.Vlans" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v8.L3InterfaceIpv4AddressList" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v8.L3InterfaceIpv6AddressList" />
+ </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,p-interface,vserver,lag-interface" />
+ <xml-property name="container" value="l-interfaces" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv4AddressList">
+ <xml-root-element name="l3-interface-ipv4-address-list" />
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv4Address" name="l3-interface-ipv4-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv4PrefixLength" name="l3-interface-ipv4-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 32 for single address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.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-properties>
+ </java-type>
+
+ <java-type name="Vlans">
+ <xml-root-element name="vlans" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vlan" name="vlan" type="inventory.aai.openecomp.org.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-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v8.L3InterfaceIpv4AddressList" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v8.L3InterfaceIpv6AddressList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Definition of vlan" />
+ <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-id" />
+ <xml-property name="uniqueProps" value="vpn-id" />
+ <xml-property name="dependentOn" value="l-interface" />
+ <xml-property name="container" value="vlans" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv6AddressList">
+ <xml-root-element name="l3-interface-ipv6-address-list" />
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv6Address" name="l3-interface-ipv6-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv6PrefixLength" name="l3-interface-ipv6-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 128 for single address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.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-properties>
+ </java-type>
+
+ <java-type name="Volumes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of ephemeral Block storage volumes." />
+ </xml-properties>
+ <xml-root-element name="volumes" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volume" name="volume" type="inventory.aai.openecomp.org.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.openecomp.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-properties>
+ </java-type>
+
+ <java-type name="Flavors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack flavors." />
+ </xml-properties>
+ <xml-root-element name="flavors" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="flavor" name="flavor" type="inventory.aai.openecomp.org.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.openecomp.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-properties>
+ </java-type>
+
+ <java-type name="Snapshots">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack snapshots" />
+ </xml-properties>
+ <xml-root-element name="snapshots" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="snapshot" name="snapshot" type="inventory.aai.openecomp.org.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.openecomp.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-properties>
+ </java-type>
+
+ <java-type name="GroupAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack group assignments" />
+ </xml-properties>
+ <xml-root-element name="group-assignments" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="groupAssignment" name="group-assignment" type="inventory.aai.openecomp.org.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.openecomp.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-properties>
+ </java-type>
+
+ <java-type name="Images">
+ <xml-properties>
+ <xml-property name="description" value="Collectio of Openstack images." />
+ </xml-properties>
+ <xml-root-element name="images" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="image" name="image" type="inventory.aai.openecomp.org.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.openecomp.org.v8.RelationshipList" />
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v8.Metadata" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack image." />
+ <xml-property name="nameProps" value="image-name" />
+ <xml-property name="indexedProps" value="application,image-name,application-vendor,image-id,application-version" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="images" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Metadata">
+ <xml-properties>
+ <xml-property name="description" value="Collection of metadatum (key/value pairs)" />
+ </xml-properties>
+ <xml-root-element name="metadata" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="metadatum" name="metadatum" type="inventory.aai.openecomp.org.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,model" />
+ <xml-property name="container" value="metadata" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of compute hosts." />
+ </xml-properties>
+ <xml-root-element name="pservers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pserver" name="pserver" type="inventory.aai.openecomp.org.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" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverName2" name="pserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="alternative pserver name" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="purpose of pserver" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v8.PInterfaces" />
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v8.LagInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="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-properties>
+ </java-type>
+
+ <java-type name="PInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical interfaces." />
+ </xml-properties>
+ <xml-root-element name="p-interfaces" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pInterface" name="p-interface" type="inventory.aai.openecomp.org.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.openecomp.org.v8.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v8.LInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Physical interface (e.g., nic)" />
+ <xml-property name="indexedProps" value="interface-name" />
+ <xml-property name="dependentOn" value="pserver,pnf" />
+ <xml-property name="container" value="p-interfaces" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LagInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregate interfaces." />
+ </xml-properties>
+ <xml-root-element name="lag-interfaces" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagInterface" name="lag-interface" type="inventory.aai.openecomp.org.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.openecomp.org.v8.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v8.LInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Link aggregate interface" />
+ <xml-property name="indexedProps" value="interface-name" />
+ <xml-property name="dependentOn" value="generic-vnf,pserver,pnf" />
+ <xml-property name="container" value="lag-interfaces" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="AvailabilityZones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of availability zones" />
+ </xml-properties>
+ <xml-root-element name="availability-zones" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.openecomp.org.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-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Availability zone, a collection of compute hosts/pservers" />
+ <xml-property name="indexedProps" value="availability-zone-name" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="availability-zones" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="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.openecomp.org.v8.Customers" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Customers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information." />
+ </xml-properties>
+ <xml-root-element name="customers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.openecomp.org.v8.Customer" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Customer">
+ <xml-root-element name="customer" />
+ <java-attributes>
+ <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Global customer id used across OpenECOMP to uniquely identify customer." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber name, an alternate way to retrieve a customer." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberType" name="subscriber-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber type, a way to provide VID with only the INFRA customers." />
+ <xml-property name="defaultValue" value="CUST" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSubscriptions" name="service-subscriptions" type="inventory.aai.openecomp.org.v8.ServiceSubscriptions" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.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,subscriber-name" />
+ <xml-property name="alternateKeys1" value="subscriber-name" />
+ <xml-property name="container" value="customers" />
+ <xml-property name="namespace" value="business" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceSubscriptions">
+ <xml-properties>
+ <xml-property name="description" value="Collection of objects that group service instances." />
+ </xml-properties>
+ <xml-root-element name="service-subscriptions" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceSubscription" name="service-subscription" type="inventory.aai.openecomp.org.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 OpenECOMP." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tempUbSubAccountId" name="temp-ub-sub-account-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This property will be deleted from AAI in the near future. Only stop gap solution." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstances" name="service-instances" type="inventory.aai.openecomp.org.v8.ServiceInstances">
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="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-properties>
+ </java-type>
+
+ <java-type name="ServiceInstances">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service instances" />
+ </xml-properties>
+ <xml-root-element name="service-instances" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceInstance" name="service-instance" type="inventory.aai.openecomp.org.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 SDC 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 SDC 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 SDC data dictionary widget model. This maps directly to the AAI widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget." />
+ </xml-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="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operational status of the service-instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstanceLocationId" name="service-instance-location-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="An identifier that customers assign to the location where this service is being used." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.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-properties>
+ </java-type>
+
+ <java-type name="ServiceDesignAndCreation">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for objects managed by SDC" />
+ </xml-properties>
+ <xml-root-element name="service-design-and-creation" />
+ <java-attributes>
+ <xml-element java-attribute="services" name="services" type="inventory.aai.openecomp.org.v8.Services" />
+ <xml-element java-attribute="models" name="models" type="inventory.aai.openecomp.org.v8.Models" />
+ <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.openecomp.org.v8.NamedQueries" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Network">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for network inventory resources." />
+ </xml-properties>
+ <xml-root-element name="network" />
+ <java-attributes>
+ <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.openecomp.org.v8.LogicalLinks" />
+ <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.openecomp.org.v8.Vnfcs" />
+ <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.openecomp.org.v8.L3Networks" />
+ <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.openecomp.org.v8.GenericVnfs" />
+ <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.openecomp.org.v8.Pnfs" />
+ <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.openecomp.org.v8.PhysicalLinks" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LogicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical connections" />
+ </xml-properties>
+ <xml-root-element name="logical-links" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.openecomp.org.v8.LogicalLink" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LogicalLink">
+ <xml-root-element name="logical-link" />
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of logical link, e.g., evc" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4, v6, or ds for dual stack (should be 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 SDC 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 SDC 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 SDC data dictionary widget model. This maps directly to the AAI widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of operational status of the logical link." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkRole" name="link-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of the network use of the logical link." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkName2" name="link-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alias or alternate name (CLCI or D1 name)." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkId" name="link-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the logical-link, SDNC generates this." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points" />
+ <xml-property name="indexedProps" value="link-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,link-id" />
+ <xml-property name="uniqueProps" value="link-id" />
+ <xml-property name="container" value="logical-links" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vnfcs">
+ <xml-properties>
+ <xml-property name="description" value="virtual network components associated with a vserver from application controller." />
+ </xml-properties>
+ <xml-root-element name="vnfcs" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfc" name="vnfc" type="inventory.aai.openecomp.org.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" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupNotation" name="group-notation" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group notation of VNFC" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.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-properties>
+ </java-type>
+
+ <java-type name="L3Networks">
+ <xml-root-element name="l3-networks" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3Network" name="l3-network" type="inventory.aai.openecomp.org.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 AAI." />
+ </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 SDC" />
+ </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 SDC 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 SDC 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 SDC data dictionary widget model. This maps directly to the AAI widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget." />
+ </xml-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.openecomp.org.v8.Subnets" />
+ <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.openecomp.org.v8.CtagAssignments" />
+ <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.openecomp.org.v8.SegmentationAssignments" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" >
+ <xml-properties>
+ <xml-property name="description" value="Relates to tenant (or is it a child of tenant)" />
+ </xml-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-properties>
+ </java-type>
+
+ <java-type name="CtagAssignments">
+ <xml-root-element name="ctag-assignments" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagAssignment" name="ctag-assignment" type="inventory.aai.openecomp.org.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.openecomp.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-properties>
+ </java-type>
+
+ <java-type name="Subnets">
+ <xml-root-element name="subnets" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="subnet" name="subnet" type="inventory.aai.openecomp.org.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" required="true" java-attribute="dhcpEnabled" name="dhcp-enabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="dhcp enabled" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpStart" name="dhcp-start" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the start address reserved for use by dhcp" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpEnd" name="dhcp-end" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the last address reserved for use by dhcp" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.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-properties>
+ </java-type>
+
+ <java-type name="GenericVnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VNFs" />
+ </xml-properties>
+ <xml-root-element name="generic-vnfs" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="genericVnf" name="generic-vnf" type="inventory.aai.openecomp.org.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 SDC resource. This field has been overloaded and clients should expect changes to occur in the future to this field as SDC matures." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service from SDC" />
+ </xml-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 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" 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" />
+ </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 SDC 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 SDC model version for this resource or service model." />
+ </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-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the SDC data dictionary widget model. This maps directly to the AAI widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget." />
+ </xml-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.openecomp.org.v8.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v8.LInterfaces" />
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v8.LagInterfaces" />
+ <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.openecomp.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-properties>
+ </java-type>
+
+ <java-type name="VfModules">
+ <xml-properties>
+ <xml-property name="description" value="Collection of vf-modules, a deployment unit of VNFCs" />
+ </xml-properties>
+ <xml-root-element name="vf-modules" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vfModule" name="vf-module" type="inventory.aai.openecomp.org.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" required="true" java-attribute="isBaseVfModule" name="is-base-vf-module" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is base vf module" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the SDC 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 SDC 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 SDC data dictionary widget model. This maps directly to the AAI widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the Contrail unique ID for a service-instance" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="a deployment unit of VNFCs" />
+ <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-service-instance-fqdn" />
+ <xml-property name="dependentOn" value="generic-vnf" />
+ <xml-property name="container" value="vf-modules" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Physical Network Functions." />
+ </xml-properties>
+ <xml-root-element name="pnfs" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pnf" name="pnf" type="inventory.aai.openecomp.org.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 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" 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="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v8.PInterfaces" />
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v8.LagInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="PNF represents a physical network function." />
+ <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-properties>
+ </java-type>
+
+ <java-type name="PhysicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
+ </xml-properties>
+ <xml-root-element name="physical-links" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="physicalLink" name="physical-link" type="inventory.aai.openecomp.org.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. AAI or 3rd party transport provider" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderName" name="service-provider-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the service Provider on this link." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.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-properties>
+ </java-type>
+
+ <java-type name="NotificationEvent">
+ <xml-root-element name="notification-event" />
+ <java-attributes>
+ <xml-element java-attribute="cambriaPartition" name="cambria.partition" type="java.lang.String" />
+ <xml-element java-attribute="eventHeader" name="event-header" type="inventory.aai.openecomp.org.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.openecomp.org.v8.ReservedPropNames" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.openecomp.org.v8.EdgePropNames" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ReservedPropNames">
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define some reserved properties of a vertex" />
+ <xml-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.String" />
+ <xml-element java-attribute="SVC-INFRA-REV" name="SVC-INFRA-REV" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Services">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service model definitions. Likely to be deprecated in favor of models from SDC."/>
+ </xml-properties>
+ <xml-root-element name="services" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.openecomp.org.v8.Service" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Service">
+ <xml-root-element name="service" />
+ <java-attributes>
+ <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description of the service" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="service version" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Stand-in for service model definitions. Likely to be deprecated in favor of models from SDC." />
+ <xml-property name="indexedProps" value="service-description,service-id" />
+ <xml-property name="container" value="services" />
+ <xml-property name="namespace" value="service-design-and-creation" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Models">
+ <xml-properties>
+ <xml-property name="description" value="Collection of subgraph definitions provided by SDC to describe the inventory assets and their connections related to SDC models" />
+ </xml-properties>
+ <xml-root-element name="models" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="model" name="model" type="inventory.aai.openecomp.org.v8.Model" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Model">
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by SDC to describe an inventory asset and its connections related to SDC models" />
+ <xml-property name="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-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 SDC" />
+ </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.openecomp.org.v8.ModelElements" />
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v8.Metadata" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.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.openecomp.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-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-point" type="java.lang.String">
+ <xml-element-wrapper name="linkage-points" />
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.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.openecomp.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.openecomp.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.openecomp.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-properties>
+ <xml-root-element name="model-constraint" />
+ <java-attributes>
+ <xml-element java-attribute="modelConstraintUuid" name="model-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constrainedElementSetUuidToReplace" name="constrained-element-set-uuid-to-replace" required="true" type="java.lang.String" />
+ <xml-element java-attribute="constrainedElementSets" name="constrained-element-sets" type="inventory.aai.openecomp.org.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.openecomp.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-properties>
+ <xml-root-element name="constrained-element-set" />
+ <java-attributes>
+ <xml-element java-attribute="constrainedElementSetUuid" name="constrained-element-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
+ <xml-element java-attribute="checkType" name="check-type" required="true" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+ <xml-element java-attribute="elementChoiceSets" name="element-choice-sets" type="inventory.aai.openecomp.org.v8.ElementChoiceSets" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.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.openecomp.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-properties>
+ <xml-root-element name="element-choice-set" />
+ <java-attributes>
+ <xml-element java-attribute="elementChoiceSetUuid" name="element-choice-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="elementChoiceSetName" name="element-choice-set-name" required="true" type="java.lang.String" />
+ <xml-element java-attribute="cardinality" name="cardinality" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v8.ModelElements" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.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.openecomp.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-properties>
+ <xml-root-element name="named-query" />
+ <java-attributes>
+ <xml-element java-attribute="namedQueryUuid" name="named-query-uuid" required="true" type="java.lang.String" xml-key="true" />
+ <xml-element java-attribute="namedQueryName" name="named-query-name" required="true" type="java.lang.String" />
+ <xml-element java-attribute="namedQueryVersion" name="named-query-version" required="true" type="java.lang.String" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="requiredInputParams" name="required-input-param" type="java.lang.String">
+ <xml-element-wrapper name="required-input-params" />
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v8.NamedQueryElements" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.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.openecomp.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-properties>
+ <xml-root-element name="named-query-element" />
+ <java-attributes>
+ <xml-element java-attribute="namedQueryElementUuid" name="named-query-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+ <xml-element java-attribute="propertyLimitDesc" name="property-limit-desc" type="java.lang.String" />
+ <xml-element java-attribute="doNotOutput" name="do-not-output" type="java.lang.String" />
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v8.NamedQueryElements" />
+ <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.openecomp.org.v8.RelatedLookups" />
+ <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.openecomp.org.v8.PropertyConstraints" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.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.openecomp.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-properties>
+ <xml-root-element name="related-lookup" />
+ <java-attributes>
+ <xml-element java-attribute="relatedLookupUuid" name="related-lookup-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceNodeType" name="source-node-type" required="true" type="java.lang.String" />
+ <xml-element java-attribute="sourceNodeProperty" name="source-node-property" required="true" type="java.lang.String" />
+ <xml-element java-attribute="targetNodeType" name="target-node-type" required="true" type="java.lang.String" />
+ <xml-element java-attribute="targetNodeProperty" name="target-node-property" required="true" type="java.lang.String" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.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.openecomp.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-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.openecomp.org.v8.QueryParameters" />
+ <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.openecomp.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.openecomp.org.v8.NamedQuery" />
+ <xml-element java-attribute="model" name="model" type="inventory.aai.openecomp.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.openecomp.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.openecomp.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.openecomp.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.openecomp.org.v8.ExtraProperties" />
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.openecomp.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.openecomp.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="SegmentationAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack segmentation assignments" />
+ </xml-properties>
+ <xml-root-element name="segmentation-assignments" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.openecomp.org.v8.SegmentationAssignment" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SegmentationAssignment">
+ <xml-root-element name="segmentation-assignment" />
+ <java-attributes>
+ <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack segmentation assignment." />
+ <xml-property name="indexedProps" value="segmentation-id" />
+ <xml-property name="dependentOn" value="l3-network" />
+ <xml-property name="container" value="segmentation-assignments" />
+ </xml-properties>
+ </java-type>
+
+ </java-types>
+</xml-bindings>
diff --git a/aai-core/src/test/resources/bundleconfig-local/etc/oxm/aai_oxm_v9.xml b/aai-core/src/test/resources/bundleconfig-local/etc/oxm/aai_oxm_v9.xml
new file mode 100644
index 00000000..dc04bdcd
--- /dev/null
+++ b/aai-core/src/test/resources/bundleconfig-local/etc/oxm/aai_oxm_v9.xml
@@ -0,0 +1,5453 @@
+<?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.openecomp.org.v9" xml-mapping-metadata-complete="true">
+ <xml-schema element-form-default="QUALIFIED">
+ <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v9" />
+ </xml-schema>
+ <java-types>
+ <java-type name="Inventory">
+ <xml-root-element name="inventory" />
+ <java-attributes>
+ <xml-element java-attribute="search" name="search" type="inventory.aai.openecomp.org.v9.Search" />
+ <xml-element java-attribute="actions" name="actions" type="inventory.aai.openecomp.org.v9.Actions" />
+ <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.openecomp.org.v9.CloudInfrastructure" />
+ <xml-element java-attribute="business" name="business" type="inventory.aai.openecomp.org.v9.Business" />
+ <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.openecomp.org.v9.ServiceDesignAndCreation" />
+ <xml-element java-attribute="network" name="network" type="inventory.aai.openecomp.org.v9.Network" />
+ <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.openecomp.org.v9.AaiInternal" />
+ <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.openecomp.org.v9.Nodes"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Nodes">
+ <xml-root-element name="nodes" />
+ </java-type>
+ <java-type name="Search">
+ <xml-root-element name="search" />
+ <java-attributes>
+ <xml-element java-attribute="edgeTagQueryResult" name="edge-tag-query-result" type="inventory.aai.openecomp.org.v9.EdgeTagQueryResult" />
+ <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.openecomp.org.v9.EdgeTagQueryRequest" />
+ <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.openecomp.org.v9.SearchResults" />
+ <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.openecomp.org.v9.SdnZoneResponse" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EdgeTagQueryResult">
+ <xml-root-element name="edge-tag-query-result" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.openecomp.org.v9.TaggedInventoryItemList" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="TaggedInventoryItemList">
+ <xml-root-element name="tagged-inventory-item-list" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItem" name="inventory-item" type="inventory.aai.openecomp.org.v9.InventoryItem" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryItem">
+ <xml-root-element name="inventory-item" />
+ <java-attributes>
+ <xml-element java-attribute="inventoryItemType" name="inventory-item-type" type="java.lang.String" />
+ <xml-element java-attribute="inventoryItemLink" name="inventory-item-link" type="java.lang.String" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItemData" name="inventory-item-data" type="inventory.aai.openecomp.org.v9.InventoryItemData" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.openecomp.org.v9.TaggedInventoryItemList" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryItemData">
+ <xml-root-element name="inventory-item-data" />
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EdgeTagQueryRequest">
+ <xml-root-element name="edge-tag-query-request" />
+ <java-attributes>
+ <xml-element java-attribute="edgeTag" name="edge-tag" type="java.lang.String" />
+ <xml-element java-attribute="resultDetail" name="result-detail" type="java.lang.String" />
+ <xml-element java-attribute="startNodeType" name="start-node-type" type="java.lang.String" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="startNodeFilter" name="start-node-filter" type="inventory.aai.openecomp.org.v9.StartNodeFilter" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.openecomp.org.v9.IncludeNodeFilter" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.openecomp.org.v9.SecondaryFilter" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="StartNodeFilter">
+ <xml-root-element name="start-node-filter" />
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IncludeNodeFilter">
+ <xml-root-element name="include-node-filter" />
+ <java-attributes>
+ <xml-element java-attribute="includeNodeType" name="include-node-type" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilter">
+ <xml-root-element name="secondary-filter" />
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+ <xml-element java-attribute="filterType" name="filter-type" type="java.lang.String" />
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SearchResults">
+ <xml-root-element name="search-results" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="resultData" name="result-data" type="inventory.aai.openecomp.org.v9.ResultData" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ResultData">
+ <xml-root-element name="result-data" />
+ <java-attributes>
+ <xml-element java-attribute="resourceType" name="resource-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The specific type of node in the A&amp;AI graph" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceLink" name="resource-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The URL to the specific resource" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SdnZoneResponse">
+ <xml-root-element name="sdn-zone-response" />
+ <java-attributes>
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.openecomp.org.v9.OamNetworks" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.openecomp.org.v9.AzAndDvsSwitches" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AzAndDvsSwitches">
+ <xml-root-element name="az-and-dvs-switches" />
+ <java-attributes>
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.openecomp.org.v9.DvsSwitches" />
+ <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.openecomp.org.v9.AvailabilityZone" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Actions">
+ <xml-properties>
+ <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)." />
+ </xml-properties>
+ <xml-root-element name="actions" />
+ <java-attributes>
+ <xml-element java-attribute="update" name="update" type="inventory.aai.openecomp.org.v9.Update" />
+ <xml-element java-attribute="notify" name="notify" type="inventory.aai.openecomp.org.v9.Notify" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Update">
+ <xml-properties>
+ <xml-property name="description" value="Serves a PATCH like function. Does not enforce concurrency control. Clear each usage with AAI team." />
+ </xml-properties>
+ <xml-root-element name="update" />
+ <java-attributes>
+ <xml-element java-attribute="updateNodeType" name="update-node-type" required="true" type="java.lang.String" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="updateNodeKey" name="update-node-key" type="inventory.aai.openecomp.org.v9.UpdateNodeKey" />
+ <xml-element java-attribute="updateNodeUri" name="update-node-uri" type="java.lang.String" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="action" name="action" type="inventory.aai.openecomp.org.v9.Action" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Action">
+ <xml-root-element name="action" />
+ <java-attributes>
+ <xml-element java-attribute="actionType" name="action-type" type="java.lang.String" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="actionData" name="action-data" type="inventory.aai.openecomp.org.v9.ActionData" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ActionData">
+ <xml-root-element name="action-data" />
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="UpdateNodeKey">
+ <xml-root-element name="update-node-key" />
+ <java-attributes>
+ <xml-element java-attribute="keyName" name="key-name" type="java.lang.String" />
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Notify">
+ <xml-root-element name="notify" />
+ <java-attributes>
+ <xml-element java-attribute="eventId" name="event-id" required="true" type="java.lang.String" />
+ <xml-element java-attribute="nodeType" name="node-type" type="java.lang.String" />
+ <xml-element java-attribute="eventTrigger" name="event-trigger" type="java.lang.String" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="keyData" name="key-data" type="inventory.aai.openecomp.org.v9.KeyData" />
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="KeyData">
+ <xml-root-element name="key-data" />
+ <java-attributes>
+ <xml-element java-attribute="keyName" name="key-name" type="java.lang.String" />
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CloudInfrastructure">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for cloud infrastructure." />
+ </xml-properties>
+ <xml-root-element name="cloud-infrastructure" />
+ <java-attributes>
+ <xml-element java-attribute="complexes" name="complexes" type="inventory.aai.openecomp.org.v9.Complexes" />
+ <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.openecomp.org.v9.CloudRegions" />
+ <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.openecomp.org.v9.NetworkProfiles" />
+ <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.openecomp.org.v9.Pservers" />
+ <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.openecomp.org.v9.VirtualDataCenters" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CloudRegions">
+ <xml-root-element name="cloud-regions" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cloudRegion" name="cloud-region" type="inventory.aai.openecomp.org.v9.CloudRegion" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CloudRegion">
+ <xml-root-element name="cloud-region" />
+ <java-attributes>
+ <xml-element java-attribute="cloudOwner" name="cloud-owner" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifies the vendor and cloud name. First part of composite key should be formatted as vendor-cloudname" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudRegionId" name="cloud-region-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite key" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudType" name="cloud-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the cloud (e.g., openstack)" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ownerDefinedType" name="owner-defined-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Cloud-owner defined type indicator (e.g., dcp, lcp)" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudRegionVersion" name="cloud-region-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Software version employed at the site. NOTE - THIS FIELD IS NOT KEPT UP TO DATE." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL of the keystone identity service" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudZone" name="cloud-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Zone where the cloud is homed. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="complex name for cloud-region instance. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeGroups" name="volume-groups" type="inventory.aai.openecomp.org.v9.VolumeGroups" />
+ <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.openecomp.org.v9.Tenants" />
+ <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.openecomp.org.v9.Flavors" />
+ <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.openecomp.org.v9.GroupAssignments" />
+ <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.openecomp.org.v9.Snapshots" />
+ <xml-element java-attribute="images" name="images" type="inventory.aai.openecomp.org.v9.Images" />
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.openecomp.org.v9.DvsSwitches" />
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.openecomp.org.v9.OamNetworks" />
+ <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.openecomp.org.v9.AvailabilityZones" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation. In AT&amp;Ts AIC cloud, this could be an LCP or DCP. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname and we will use att-aic for AT&amp;T's AIC." />
+ <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type" />
+ <xml-property name="nameProps" value="owner-defined-type" />
+ <xml-property name="container" value="cloud-regions" />
+ <xml-property name="namespace" value="cloud-infrastructure" />
+ </xml-properties>
+ </java-type>
+ <java-type name="VolumeGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of persistent block-level storage." />
+ </xml-properties>
+ <xml-root-element name="volume-groups" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volumeGroup" name="volume-group" type="inventory.aai.openecomp.org.v9.VolumeGroup" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VolumeGroup">
+ <xml-root-element name="volume-group" />
+ <java-attributes>
+ <xml-element java-attribute="volumeGroupId" name="volume-group-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of volume-group." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeGroupName" name="volume-group-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the volume group." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this volume-group" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this volume-group" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
+ <xml-property name="dbAlias" value="model-customization-id" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfModulePersonaModelCustomizationId" name="vf-module-persona-model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="helps relate the volume group to the vf-module whose components will require the volume group" />
+ <xml-property name="dbAlias" value="vf-module-model-customization-id" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persistent block-level storage." />
+ <xml-property name="indexedProps" value="volume-group-name,vnf-type,heat-stack-id,volume-group-id" />
+ <xml-property name="searchable" value="volume-group-id,volume-group-name" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="volume-groups" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="RelationshipList">
+ <xml-root-element name="relationship-list" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.openecomp.org.v9.Relationship" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Relationship">
+ <xml-root-element name="relationship" />
+ <java-attributes>
+ <xml-element java-attribute="relatedTo" name="related-to" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate type of node." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to the object in A&amp;AI." />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.openecomp.org.v9.RelationshipData" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.openecomp.org.v9.RelatedToProperty" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedToProperty">
+ <xml-root-element name="related-to-property" />
+ <java-attributes>
+ <xml-element java-attribute="propertyKey" name="property-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Key part of a key/value pair" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value part of a key/value pair" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelationshipData">
+ <xml-root-element name="relationship-data" />
+ <java-attributes>
+ <xml-element java-attribute="relationshipKey" name="relationship-key" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate an attribute." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipValue" name="relationship-value" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value of the attribute." />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Complexes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
+ </xml-properties>
+ <xml-root-element name="complexes" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="complex" name="complex" type="inventory.aai.openecomp.org.v9.Complex" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Complex">
+ <xml-root-element name="complex" />
+ <java-attributes>
+ <xml-element java-attribute="physicalLocationId" name="physical-location-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for physical location, e.g., CLLI" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dataCenterCode" name="data-center-code" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Data center code which can be an alternate way to identify a complex" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Gamma complex name for LCP instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL of the keystone identity service" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="physicalLocationType" name="physical-location-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type, e.g., central office, data center." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="street1" name="street1" required="true" type="java.lang.String" />
+ <xml-element java-attribute="street2" name="street2" type="java.lang.String" />
+ <xml-element java-attribute="city" name="city" required="true" type="java.lang.String" />
+ <xml-element java-attribute="state" name="state" type="java.lang.String" />
+ <xml-element java-attribute="postalCode" name="postal-code" required="true" type="java.lang.String" />
+ <xml-element java-attribute="country" name="country" required="true" type="java.lang.String" />
+ <xml-element java-attribute="region" name="region" required="true" type="java.lang.String" />
+ <xml-element java-attribute="latitude" name="latitude" type="java.lang.String" />
+ <xml-element java-attribute="longitude" name="longitude" type="java.lang.String" />
+ <xml-element java-attribute="elevation" name="elevation" type="java.lang.String" />
+ <xml-element java-attribute="lata" name="lata" type="java.lang.String" />
+ <xml-element java-attribute="ctagPools" name="ctag-pools" type="inventory.aai.openecomp.org.v9.CtagPools" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
+ <xml-property name="indexedProps" value="identity-url,data-center-code,complex-name,physical-location-id" />
+ <xml-property name="searchable" value="physical-location-id,data-center-code,complex-name,street1,street2,postal-code" />
+ <xml-property name="uniqueProps" value="physical-location-id" />
+ <xml-property name="container" value="complexes" />
+ <xml-property name="namespace" value="cloud-infrastructure" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CtagPools">
+ <xml-root-element name="ctag-pools" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagPool" name="ctag-pool" type="inventory.aai.openecomp.org.v9.CtagPool" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CtagPool">
+ <xml-root-element name="ctag-pool" />
+ <java-attributes>
+ <xml-element java-attribute="targetPe" name="target-pe" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="The Target provider edge router" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the availability zone" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ctagPoolPurpose" name="ctag-pool-purpose" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Describes what the intended purpose of this pool is." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ctagValues" name="ctag-values" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Comma separated list of ctags" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="A collection of C tags (vlan tags) grouped for a specific purpose." />
+ <xml-property name="indexedProps" value="availability-zone-name" />
+ <xml-property name="dependentOn" value="complex" />
+ <xml-property name="container" value="ctag-pools" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Tenants">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack tenants." />
+ </xml-properties>
+ <xml-root-element name="tenants" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tenant" name="tenant" type="inventory.aai.openecomp.org.v9.Tenant" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Tenant">
+ <xml-root-element name="tenant" />
+ <java-attributes>
+ <xml-element java-attribute="tenantId" name="tenant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id relative to the cloud-region." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tenantName" name="tenant-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Readable name of tenant" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vservers" name="vservers" type="inventory.aai.openecomp.org.v9.Vservers" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack tenant" />
+ <xml-property name="nameProps" value="tenant-name" />
+ <xml-property name="indexedProps" value="tenant-name,tenant-id" />
+ <xml-property name="searchable" value="tenant-id,tenant-name" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="tenants" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of virtual Servers, aka virtual machines or VMs." />
+ </xml-properties>
+ <xml-root-element name="vservers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vserver" name="vserver" type="inventory.aai.openecomp.org.v9.Vserver" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vserver">
+ <xml-root-element name="vserver" />
+ <java-attributes>
+ <xml-element java-attribute="vserverId" name="vserver-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for this vserver relative to its tenant" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverName" name="vserver-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of vserver" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverName2" name="vserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternative name of vserver" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverSelflink" name="vserver-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether closed loop function is enabled on this node" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumes" name="volumes" type="inventory.aai.openecomp.org.v9.Volumes" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Servers, aka virtual machine or VM." />
+ <xml-property name="nameProps" value="vserver-name" />
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2" />
+ <xml-property name="searchable" value="vserver-id,vserver-name,vserver-name2" />
+ <xml-property name="dependentOn" value="tenant" />
+ <xml-property name="container" value="vservers" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical interfaces." />
+ </xml-properties>
+ <xml-root-element name="l-interfaces" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lInterface" name="l-interface" type="inventory.aai.openecomp.org.v9.LInterface" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LInterface">
+ <xml-root-element name="l-interface" />
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name given to the interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="E.g., CUSTOMER, UPLINK, etc." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v6WanLinkIp" name="v6-wan-link-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="macaddr" name="macaddr" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="MAC address for the interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether A&amp;AI should be managing this interface of not. Could have value like CUSTOMER" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Human friendly text regarding this interface." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.openecomp.org.v9.Vlans" />
+ <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.openecomp.org.v9.SriovVfs" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v9.L3InterfaceIpv4AddressList" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v9.L3InterfaceIpv6AddressList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical interfaces, e.g., a vnic." />
+ <xml-property name="indexedProps" value="macaddr,interface-id,interface-name,network-name" />
+ <xml-property name="dependentOn" value="generic-vnf,newvce,vpe,p-interface,vserver,lag-interface" />
+ <xml-property name="container" value="l-interfaces" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SriovVfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of SR-IOV Virtual Functions." />
+ </xml-properties>
+ <xml-root-element name="sriov-vfs" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sriovVf" name="sriov-vf" type="inventory.aai.openecomp.org.v9.SriovVf" />
+ </java-attributes>
+ </java-type>
+ <java-type name="SriovVf">
+ <xml-root-element name="sriov-vf" />
+ <java-attributes>
+ <xml-element java-attribute="pciId" name="pci-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="PCI ID used to identify the sriov-vf" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanFilter" name="vf-vlan-filter" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This metadata provides option to specify list of VLAN filters applied on VF to pass the traffic to VM." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMacFilter" name="vf-mac-filter" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="When MAC filters are specified, VF-agent service configures VFs to do MAC level filtering before the traffic is passed to VM." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanStrip" name="vf-vlan-strip" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="When this field is set to true, VF will configured to strip the outer TAG before the traffic is passed to VM." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanAntiSpoofCheck" name="vf-vlan-anti-spoof-check" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option ensures anti VLAN spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMacAntiSpoofCheck" name="vf-mac-anti-spoof-check" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option ensures anti MAC spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMirrors" name="vf-mirrors" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This option defines the set of Mirror objects which essentially mirrors the traffic from source to set of collector VNF Ports." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfBroadcastAllow" name="vf-broadcast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows all broadcast traffic to reach the VM" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfUnknownMulticastAllow" name="vf-unknown-multicast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown multicast traffic to reach the VM" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfUnknownUnicastAllow" name="vf-unknown-unicast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown unicast traffic to reach the VM" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfInsertStag" name="vf-insert-stag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, instructs to insert outer tag after traffic comes out of VM." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfLinkStatus" name="vf-link-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This option is used to set the link status. Valid values as of 1607 are on, off, and auto." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="SR-IOV Virtual Function (not to be confused with virtual network function)" />
+ <xml-property name="indexedProps" value="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id" />
+ <xml-property name="dependentOn" value="l-interface" />
+ <xml-property name="container" value="sriov-vfs" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv4AddressList">
+ <xml-root-element name="l3-interface-ipv4-address-list" />
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv4Address" name="l3-interface-ipv4-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv4PrefixLength" name="l3-interface-ipv4-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 32 for single address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv4 Address Range" />
+ <xml-property name="indexedProps" value="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
+ <xml-property name="dependentOn" value="vlan,l-interface" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vlans">
+ <xml-root-element name="vlans" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vlan" name="vlan" type="inventory.aai.openecomp.org.v9.Vlan" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vlan">
+ <xml-root-element name="vlan" />
+ <java-attributes>
+ <xml-element java-attribute="vlanInterface" name="vlan-interface" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="String that identifies the interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanDescription" name="vlan-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to describe (the service associated with) the vlan" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="backdoorConnection" name="backdoor-connection" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether customer is going to use this VLAN for backdoor connection to another customer premise device." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnId" name="vpn-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan" />
+ <xml-property name="dbAlias" value="vpn-id-local" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v9.L3InterfaceIpv4AddressList" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v9.L3InterfaceIpv6AddressList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Definition of vlan" />
+ <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-id" />
+ <xml-property name="uniqueProps" value="vpn-id" />
+ <xml-property name="dependentOn" value="l-interface" />
+ <xml-property name="container" value="vlans" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv6AddressList">
+ <xml-root-element name="l3-interface-ipv6-address-list" />
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv6Address" name="l3-interface-ipv6-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv6PrefixLength" name="l3-interface-ipv6-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 128 for single address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv6 Address Range" />
+ <xml-property name="indexedProps" value="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
+ <xml-property name="dependentOn" value="vlan,l-interface" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Volumes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of ephemeral Block storage volumes." />
+ </xml-properties>
+ <xml-root-element name="volumes" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volume" name="volume" type="inventory.aai.openecomp.org.v9.Volume" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Volume">
+ <xml-root-element name="volume" />
+ <java-attributes>
+ <xml-element java-attribute="volumeId" name="volume-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of block storage volume relative to the vserver." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeSelflink" name="volume-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Ephemeral Block storage volume." />
+ <xml-property name="indexedProps" value="volume-id" />
+ <xml-property name="dependentOn" value="vserver" />
+ <xml-property name="container" value="volumes" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Flavors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack flavors." />
+ </xml-properties>
+ <xml-root-element name="flavors" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="flavor" name="flavor" type="inventory.aai.openecomp.org.v9.Flavor" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Flavor">
+ <xml-root-element name="flavor" />
+ <java-attributes>
+ <xml-element java-attribute="flavorId" name="flavor-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Flavor id, expected to be unique across cloud-region." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorName" name="flavor-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Flavor name" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorVcpus" name="flavor-vcpus" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Number of CPUs" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorRam" name="flavor-ram" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Amount of memory" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorDisk" name="flavor-disk" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Disk space" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorEphemeral" name="flavor-ephemeral" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Amount of ephemeral disk space" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorSwap" name="flavor-swap" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="amount of swap space allocation" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorIsPublic" name="flavor-is-public" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="whether flavor is available to all users or private to the tenant it was created in." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorSelflink" name="flavor-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorDisabled" name="flavor-disabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Boolean as to whether this flavor is no longer enabled" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack flavor." />
+ <xml-property name="nameProps" value="flavor-name" />
+ <xml-property name="indexedProps" value="flavor-name,flavor-id" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="flavors" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Snapshots">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack snapshots" />
+ </xml-properties>
+ <xml-root-element name="snapshots" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="snapshot" name="snapshot" type="inventory.aai.openecomp.org.v9.Snapshot" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Snapshot">
+ <xml-root-element name="snapshot" />
+ <java-attributes>
+ <xml-element java-attribute="snapshotId" name="snapshot-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Snapshot id, this is the key UUID assoc associated in glance with the snapshots." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotName" name="snapshot-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Snapshot name" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotArchitecture" name="snapshot-architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operating system architecture" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotOsDistro" name="snapshot-os-distro" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The common name of the operating system distribution in lowercase" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotOsVersion" name="snapshot-os-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The operating system version as specified by the distributor." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotSelflink" name="snapshot-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="prevSnapshotId" name="prev-snapshot-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field contains the UUID of the previous snapshot (if any)." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack snapshot" />
+ <xml-property name="nameProps" value="snapshot-name" />
+ <xml-property name="uniqueProps" value="snapshot-id" />
+ <xml-property name="indexedProps" value="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="snapshots" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GroupAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack group assignments" />
+ </xml-properties>
+ <xml-root-element name="group-assignments" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="groupAssignment" name="group-assignment" type="inventory.aai.openecomp.org.v9.GroupAssignment" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="GroupAssignment">
+ <xml-root-element name="group-assignment" />
+ <java-attributes>
+ <xml-element java-attribute="groupId" name="group-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Group id, expected to be unique across cloud-region." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupType" name="group-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group type - the type of group this instance refers to" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupName" name="group-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group name - name assigned to the group" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupDescription" name="group-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group description - description of the group" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack group-assignment used to store exclusivity groups (EG)." />
+ <xml-property name="nameProps" value="group-name" />
+ <xml-property name="indexedProps" value="group-id,group-type,group-name" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="group-assignments" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Images">
+ <xml-properties>
+ <xml-property name="description" value="Collectio of Openstack images." />
+ </xml-properties>
+ <xml-root-element name="images" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="image" name="image" type="inventory.aai.openecomp.org.v9.Image" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Image">
+ <xml-root-element name="image" />
+ <java-attributes>
+ <xml-element java-attribute="imageId" name="image-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Image id, expected to be unique across cloud region" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageName" name="image-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Image name" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageArchitecture" name="image-architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operating system architecture." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageOsDistro" name="image-os-distro" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The common name of the operating system distribution in lowercase" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageOsVersion" name="image-os-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The operating system version as specified by the distributor." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageSelflink" name="image-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v9.Metadata" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack image." />
+ <xml-property name="nameProps" value="image-name" />
+ <xml-property name="indexedProps" value="application,image-name,application-vendor,image-id,application-version" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="images" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Metadata">
+ <xml-properties>
+ <xml-property name="description" value="Collection of metadatum (key/value pairs)" />
+ </xml-properties>
+ <xml-root-element name="metadata" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="metadatum" name="metadatum" type="inventory.aai.openecomp.org.v9.Metadatum" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Metadatum">
+ <xml-root-element name="metadatum" />
+ <java-attributes>
+ <xml-element java-attribute="metaname" name="metaname" required="true" type="java.lang.String" xml-key="true" />
+ <xml-element java-attribute="metaval" name="metaval" required="true" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Key/value pairs" />
+ <xml-property name="indexedProps" value="metaname" />
+ <xml-property name="dependentOn" value="tenant,image,service-instance,connector,model" />
+ <xml-property name="container" value="metadata" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="DvsSwitches">
+ <xml-properties>
+ <xml-property name="description" value="Collection of digital virtual switch metadata used for vmWare VCEs and VPEs." />
+ </xml-properties>
+ <xml-root-element name="dvs-switches" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="dvsSwitch" name="dvs-switch" type="inventory.aai.openecomp.org.v9.DvsSwitch" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="DvsSwitch">
+ <xml-root-element name="dvs-switch" />
+ <java-attributes>
+ <xml-element java-attribute="switchName" name="switch-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="DVS switch name" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcenterUrl" name="vcenter-url" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL used to reach the vcenter" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Digital virtual switch metadata, used by SDN-C to configure VCEs. A&amp;AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&amp;AI. " />
+ <xml-property name="indexedProps" value="vcenter-url,switch-name" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="dvs-switches" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="NetworkProfiles">
+ <xml-properties>
+ <xml-property name="description" value="Collection of network profiles" />
+ </xml-properties>
+ <xml-root-element name="network-profiles" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkProfile" name="network-profile" type="inventory.aai.openecomp.org.v9.NetworkProfile" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NetworkProfile">
+ <xml-root-element name="network-profile" />
+ <java-attributes>
+ <xml-element java-attribute="nmProfileName" name="nm-profile-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique name of network profile." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="communityString" name="community-string" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encrypted SNMP community string" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Network profile populated by SDN-GP for SNMP" />
+ <xml-property name="indexedProps" value="nm-profile-name" />
+ <xml-property name="container" value="network-profiles" />
+ <xml-property name="namespace" value="cloud-infrastructure" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of compute hosts." />
+ </xml-properties>
+ <xml-root-element name="pservers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pserver" name="pserver" type="inventory.aai.openecomp.org.v9.Pserver" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pserver">
+ <xml-root-element name="pserver" />
+ <java-attributes>
+ <xml-element java-attribute="hostname" name="hostname" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value from executing hostname on the compute node." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ptniiEquipName" name="ptnii-equip-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="PTNII name" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="numberOfCpus" name="number-of-cpus" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Number of cpus" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="diskInGigabytes" name="disk-in-gigabytes" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Disk size, in GBs" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ramInMegabytes" name="ram-in-megabytes" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="RAM size, in MBs" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment type. Source of truth should define valid values." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment vendor. Source of truth should define valid values." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment model. Source of truth should define valid values." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="fqdn" name="fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Fully-qualified domain name" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverSelflink" name="pserver-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to configure device, also used for troubleshooting and is IP used for traps generated by device." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Serial number, may be queried" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 Loopback 0 address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 Loopback 0 address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 AIM address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 AIM address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 OAM address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CANOPI's inventory status. Only set with values exactly as defined by CANOPI." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverId" name="pserver-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of Pserver" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="internetTopology" name="internet-topology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="internet topology of Pserver" />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverName2" name="pserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="alternative pserver name" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="purpose of pserver" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v9.PInterfaces" />
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v9.LagInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver." />
+ <xml-property name="nameProps" value="pserver-name2" />
+ <xml-property name="indexedProps" value="hostname,in-maint,pserver-id,pserver-name2,inv-status" />
+ <xml-property name="searchable" value="hostname,pserver-name2,pserver-id,ipv4-oam-address" />
+ <xml-property name="container" value="pservers" />
+ <xml-property name="namespace" value="cloud-infrastructure" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical interfaces." />
+ </xml-properties>
+ <xml-root-element name="p-interfaces" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pInterface" name="p-interface" type="inventory.aai.openecomp.org.v9.PInterface" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PInterface">
+ <xml-root-element name="p-interface" />
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the physical interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portDescription" name="port-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Nature of the services and connectivity on this port." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentIdentifier" name="equipment-identifier" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CLEI or other specification for p-interface hardware." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role specification for p-interface hardware." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceType" name="interface-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the physical properties of the interface." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Physical interface (e.g., nic)" />
+ <xml-property name="indexedProps" value="interface-name,prov-status" />
+ <xml-property name="nameProps" value="prov-status" />
+ <xml-property name="dependentOn" value="vpls-pe,pserver,pnf" />
+ <xml-property name="container" value="p-interfaces" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LagInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregate interfaces." />
+ </xml-properties>
+ <xml-root-element name="lag-interfaces" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagInterface" name="lag-interface" type="inventory.aai.openecomp.org.v9.LagInterface" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LagInterface">
+ <xml-root-element name="lag-interface" />
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the link aggregate interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Human friendly text regarding this interface." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Link aggregate interface" />
+ <xml-property name="indexedProps" value="interface-name,interface-id,interface-role" />
+ <xml-property name="dependentOn" value="generic-vnf,pserver,vpe,vpls-pe,pnf" />
+ <xml-property name="container" value="lag-interfaces" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="OamNetworks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of OAM networks, to be deprecated shortly. Do not use for new purposes. " />
+ </xml-properties>
+ <xml-root-element name="oam-networks" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="oamNetwork" name="oam-network" type="inventory.aai.openecomp.org.v9.OamNetwork" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OamNetwork">
+ <xml-root-element name="oam-network" />
+ <java-attributes>
+ <xml-element java-attribute="networkUuid" name="network-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the network. Unique across a cloud-region" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="cvlan-id" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="OAM network, to be deprecated shortly. Do not use for new purposes. " />
+ <xml-property name="nameProps" value="network-name" />
+ <xml-property name="indexedProps" value="cvlan-tag,network-uuid,network-name" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="oam-networks" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="AvailabilityZones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of availability zones" />
+ </xml-properties>
+ <xml-root-element name="availability-zones" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.openecomp.org.v9.AvailabilityZone" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AvailabilityZone">
+ <xml-root-element name="availability-zone" />
+ <java-attributes>
+ <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the availability zone. Unique across a cloud region" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hypervisorType" name="hypervisor-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of hypervisor. Source of truth should define valid values." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="State that indicates whether the availability zone should be used, etc. Source of truth should define valid values." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Availability zone, a collection of compute hosts/pservers" />
+ <xml-property name="indexedProps" value="availability-zone-name" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="availability-zones" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VirtualDataCenters">
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
+ </xml-properties>
+ <xml-root-element name="virtual-data-centers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="virtualDataCenter" name="virtual-data-center" type="inventory.aai.openecomp.org.v9.VirtualDataCenter" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VirtualDataCenter">
+ <xml-root-element name="virtual-data-center" />
+ <java-attributes>
+ <xml-element java-attribute="vdcId" name="vdc-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the vdc" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdcName" name="vdc-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the virtual data center" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
+ <xml-property name="nameProps" value="vdc-name" />
+ <xml-property name="indexedProps" value="vdc-name,vdc-id" />
+ <xml-property name="container" value="virtual-data-centers" />
+ <xml-property name="namespace" value="cloud-infrastructure" />
+ </xml-properties>
+ </java-type>
+
+
+
+
+ <java-type name="Business">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for business related constructs" />
+ </xml-properties>
+ <xml-root-element name="business" />
+ <java-attributes>
+ <xml-element java-attribute="connectors" name="connectors" type="inventory.aai.openecomp.org.v9.Connectors" />
+ <xml-element java-attribute="customers" name="customers" type="inventory.aai.openecomp.org.v9.Customers" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Connectors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
+ </xml-properties>
+ <xml-root-element name="connectors" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="connector" name="connector" type="inventory.aai.openecomp.org.v9.Connector" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Connector">
+ <xml-root-element name="connector" />
+ <java-attributes>
+ <xml-element java-attribute="resourceInstanceId" name="resource-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of resource instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model." />
+ <xml-property name="dbAlias" value="model-invariant-id-local" />
+ <xml-property name="visibility" value="deployment" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="internal" />
+ <xml-property name="dbAlias" value="model-version-id-local" />
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v9.Metadata" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
+ <xml-property name="indexedProps" value="resource-instance-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version" />
+ <xml-property name="container" value="connectors" />
+ <xml-property name="namespace" value="business" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Customers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information." />
+ </xml-properties>
+ <xml-root-element name="customers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.openecomp.org.v9.Customer" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Customer">
+ <xml-root-element name="customer" />
+ <java-attributes>
+ <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Global customer id used across ECOMP to uniquely identify customer." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber name, an alternate way to retrieve a customer." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberType" name="subscriber-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber type, a way to provide VID with only the INFRA customers." />
+ <xml-property name="defaultValue" value="CUST" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSubscriptions" name="service-subscriptions" type="inventory.aai.openecomp.org.v9.ServiceSubscriptions" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="customer identifiers to provide linkage back to BSS information." />
+ <xml-property name="nameProps" value="subscriber-name" />
+ <xml-property name="indexedProps" value="subscriber-name,global-customer-id,subscriber-type" />
+ <xml-property name="searchable" value="global-customer-id,subscriber-name" />
+ <xml-property name="uniqueProps" value="global-customer-id" />
+ <xml-property name="container" value="customers" />
+ <xml-property name="namespace" value="business" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceSubscriptions">
+ <xml-properties>
+ <xml-property name="description" value="Collection of objects that group service instances." />
+ </xml-properties>
+ <xml-root-element name="service-subscriptions" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceSubscription" name="service-subscription" type="inventory.aai.openecomp.org.v9.ServiceSubscription" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceSubscription">
+ <xml-root-element name="service-subscription" />
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value defined by orchestration to identify this service across ECOMP." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tempUbSubAccountId" name="temp-ub-sub-account-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This property will be deleted from A&amp;AI in the near future. Only stop gap solution." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstances" name="service-instances" type="inventory.aai.openecomp.org.v9.ServiceInstances">
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Object that group service instances." />
+ <xml-property name="indexedProps" value="service-type" />
+ <xml-property name="dependentOn" value="customer" />
+ <xml-property name="container" value="service-subscriptions" />
+ <xml-property name="crossEntityReference" value="service-instance,service-type" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceInstances">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service instances" />
+ </xml-properties>
+ <xml-root-element name="service-instances" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceInstance" name="service-instance" type="inventory.aai.openecomp.org.v9.ServiceInstance" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceInstance">
+ <xml-root-element name="service-instance" />
+ <java-attributes>
+ <xml-element java-attribute="serviceInstanceId" name="service-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Uniquely identifies this instance of a service" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstanceName" name="service-instance-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field will store a name assigned to the service-instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model." />
+ <xml-property name="dbAlias" value="model-invariant-id-local" />
+ <xml-property name="visibility" value="deployment" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="internal" />
+ <xml-property name="dbAlias" value="model-version-id-local" />
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthTotal" name="bandwidth-total" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the total bandwidth to be used for this service." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN1 port of the physical device." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN1 port of the physical device." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN2 port of the physical device." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN2 port of the physical device." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vhnPortalUrl" name="vhn-portal-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL customers will use to access the vHN Portal." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operational status of the service-instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstanceLocationId" name="service-instance-location-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="An identifier that customers assign to the location where this service is being used." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this service." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v9.Metadata" />
+ <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.openecomp.org.v9.AllottedResources" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Instance of a service" />
+ <xml-property name="indexedProps" value="service-instance-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status" />
+ <xml-property name="nameProps" value="service-instance-name" />
+ <xml-property name="searchable" value="service-instance-id,service-instance-name" />
+ <xml-property name="uniqueProps" value="service-instance-id" />
+ <xml-property name="dependentOn" value="service-subscription" />
+ <xml-property name="container" value="service-instances" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceDesignAndCreation">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for objects managed by ASDC" />
+ </xml-properties>
+ <xml-root-element name="service-design-and-creation" />
+ <java-attributes>
+ <xml-element java-attribute="vnfImages" name="vnf-images" type="inventory.aai.openecomp.org.v9.VnfImages" />
+ <xml-element java-attribute="services" name="services" type="inventory.aai.openecomp.org.v9.Services" />
+ <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.openecomp.org.v9.ServiceCapabilities" />
+ <xml-element java-attribute="models" name="models" type="inventory.aai.openecomp.org.v9.Models" />
+ <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.openecomp.org.v9.NamedQueries" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VnfImages">
+ <xml-properties>
+ <xml-property name="description" value="Collection of image objects that pertain to a VNF that doesn't have associated vservers. This is a kludge." />
+ </xml-properties>
+ <xml-root-element name="vnf-images" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfImage" name="vnf-image" type="inventory.aai.openecomp.org.v9.VnfImage" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VnfImage">
+ <xml-root-element name="vnf-image" />
+ <java-attributes>
+ <xml-element java-attribute="vnfImageUuid" name="vnf-image-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of this asset" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Image object that pertain to a VNF that doesn't have associated vservers. This is a kludge." />
+ <xml-property name="indexedProps" value="application,vnf-image-uuid,application-vendor,application-version" />
+ <xml-property name="uniqueProps" value="vnf-image-uuid" />
+ <xml-property name="container" value="vnf-images" />
+ <xml-property name="namespace" value="service-design-and-creation" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Services">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service model definitions. Likely to be deprecated in favor of models from ASDC." />
+ </xml-properties>
+ <xml-root-element name="services" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.openecomp.org.v9.Service" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Service">
+ <xml-root-element name="service" />
+ <java-attributes>
+ <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description of the service" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="service version" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Stand-in for service model definitions. Likely to be deprecated in favor of models from ASDC. Does not strictly map to ASDC services." />
+ <xml-property name="indexedProps" value="service-description,service-id" />
+ <xml-property name="container" value="services" />
+ <xml-property name="namespace" value="service-design-and-creation" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceCapabilities">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service capabilities." />
+ </xml-properties>
+ <xml-root-element name="service-capabilities" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceCapability" name="service-capability" type="inventory.aai.openecomp.org.v9.ServiceCapability" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceCapability">
+ <xml-root-element name="service-capability" />
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Early definition of server/resource pairings, likely to be replaced by models. No new use should be made of this." />
+ <xml-property name="indexedProps" value="service-type,vnf-type" />
+ <xml-property name="container" value="service-capabilities" />
+ <xml-property name="namespace" value="service-design-and-creation" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Network">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for network inventory resources." />
+ </xml-properties>
+ <xml-root-element name="network" />
+ <java-attributes>
+ <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.openecomp.org.v9.LogicalLinks" />
+ <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.openecomp.org.v9.SitePairSets" />
+ <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.openecomp.org.v9.VpnBindings" />
+ <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.openecomp.org.v9.VplsPes" />
+ <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.openecomp.org.v9.MulticastConfigurations" />
+ <xml-element java-attribute="vces" name="vces" type="inventory.aai.openecomp.org.v9.Vces" />
+ <xml-element java-attribute="vpes" name="vpes" type="inventory.aai.openecomp.org.v9.Vpes" />
+ <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.openecomp.org.v9.Vnfcs" />
+ <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.openecomp.org.v9.L3Networks" />
+ <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.openecomp.org.v9.NetworkPolicies" />
+ <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.openecomp.org.v9.GenericVnfs" />
+ <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.openecomp.org.v9.LagLinks" />
+ <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.openecomp.org.v9.Newvces" />
+ <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.openecomp.org.v9.Pnfs" />
+ <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.openecomp.org.v9.PhysicalLinks" />
+ <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.openecomp.org.v9.IpsecConfigurations" />
+ <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.openecomp.org.v9.RouteTableReferences" />
+ <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.openecomp.org.v9.InstanceGroups" />
+ <xml-element java-attribute="zones" name="zones" type="inventory.aai.openecomp.org.v9.Zones" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LogicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical connections" />
+ </xml-properties>
+ <xml-root-element name="logical-links" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.openecomp.org.v9.LogicalLink" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LogicalLink">
+ <xml-root-element name="logical-link" />
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of logical link, e.g., evc" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4, v6, or ds for dual stack" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routingProtocol" name="routing-protocol" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="For example, static or BGP" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model." />
+ <xml-property name="dbAlias" value="model-invariant-id-local" />
+ <xml-property name="visibility" value="deployment" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="internal" />
+ <xml-property name="dbAlias" value="model-version-id-local" />
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of operational status of the logical link." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkRole" name="link-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of the network use of the logical link." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkName2" name="link-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alias or alternate name (CLCI or D1 name)." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkId" name="link-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the logical-link, SDNC generates this." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Circuit id" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Reason for this entity, role it is playing" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points" />
+ <xml-property name="indexedProps" value="link-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose" />
+ <xml-property name="uniqueProps" value="link-id" />
+ <xml-property name="container" value="logical-links" />
+ <xml-property name="namespace" value="network" />
+ <xml-property name="searchable" value="link-name" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SitePairSets">
+ <xml-properties>
+ <xml-property name="description" value="Collection of sets of instances for probes related to generic-vnf" />
+ </xml-properties>
+ <xml-root-element name="site-pair-sets" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePairSet" name="site-pair-set" type="inventory.aai.openecomp.org.v9.SitePairSet" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SitePairSet">
+ <xml-root-element name="site-pair-set" />
+ <java-attributes>
+ <xml-element java-attribute="sitePairSetId" name="site-pair-set-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of site pair set." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routingInstances" name="routing-instances" type="inventory.aai.openecomp.org.v9.RoutingInstances" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Set of instances for probes used to measure service level agreements" />
+ <xml-property name="indexedProps" value="site-pair-set-id" />
+ <xml-property name="uniqueProps" value="site-pair-set-id" />
+ <xml-property name="container" value="site-pair-sets" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="RoutingInstances">
+ <xml-properties>
+ <xml-property name="description" value="set of probes related to generic-vnf routing instance" />
+ </xml-properties>
+ <xml-root-element name="routing-instances" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routingInstance" name="routing-instance" type="inventory.aai.openecomp.org.v9.RoutingInstance" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RoutingInstance">
+ <xml-root-element name="routing-instance" />
+ <java-attributes>
+ <xml-element java-attribute="routingInstanceId" name="routing-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of routing instance" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="rpmOwner" name="rpm-owner" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="rpm owner" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sitePairs" name="site-pairs" type="inventory.aai.openecomp.org.v9.SitePairs" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="routing-instance-id" />
+ <xml-property name="uniqueProps" value="routing-instance-id" />
+ <xml-property name="dependentOn" value="site-pair-set" />
+ <xml-property name="container" value="routing-instances" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SitePairs">
+ <xml-properties>
+ <xml-property name="description" value="probe within a set" />
+ </xml-properties>
+ <xml-root-element name="site-pairs" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePair" name="site-pair" type="inventory.aai.openecomp.org.v9.SitePair" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SitePair">
+ <xml-root-element name="site-pair" />
+ <java-attributes>
+ <xml-element java-attribute="sitePairId" name="site-pair-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceIp" name="source-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prefix address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationIp" name="destination-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prefix address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip version, v4, v6" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationHostname" name="destination-hostname" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Hostname of the destination equipment to which SLAs are measured against." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationEquipType" name="destination-equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The type of destinatination equipment. Could be Router, etc." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="classesOfService" name="classes-of-service" type="inventory.aai.openecomp.org.v9.ClassesOfService" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="site-pair-id" />
+ <xml-property name="uniqueProps" value="site-pair-id" />
+ <xml-property name="dependentOn" value="routing-instance" />
+ <xml-property name="container" value="site-pairs" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ClassesOfService">
+ <xml-properties>
+ <xml-property name="description" value="class-of-service of probe" />
+ </xml-properties>
+ <xml-root-element name="classes-of-service" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="classOfService" name="class-of-service" type="inventory.aai.openecomp.org.v9.ClassOfService" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ClassOfService">
+ <xml-root-element name="class-of-service" />
+ <java-attributes>
+ <xml-element java-attribute="cos" name="cos" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="probeId" name="probe-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of probe" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="probeType" name="probe-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="type of probe" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="cos" />
+ <xml-property name="dependentOn" value="site-pair" />
+ <xml-property name="container" value="classes-of-service" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VpnBindings">
+ <xml-root-element name="vpn-bindings" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vpnBinding" name="vpn-binding" type="inventory.aai.openecomp.org.v9.VpnBinding" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VpnBinding">
+ <xml-root-element name="vpn-binding" />
+ <java-attributes>
+ <xml-element java-attribute="vpnId" name="vpn-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="VPN ID, globally unique within A&amp;AI" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnName" name="vpn-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="VPN Name" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="globalRouteTarget" name="global-route-target" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Number used to identify a VPN, globally unique in the network" />
+ <xml-property name="dataLink" value="./route-targets/route-target/{global-route-target}/{route-target-role}" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnPlatform" name="vpn-platform" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the platform associated with the VPN example AVPN, Mobility" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnType" name="vpn-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the vpn, should be taken from enumerated/valid values" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeDistinguisher" name="route-distinguisher" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTargetRole" name="route-target-role" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this route target" />
+ <xml-property name="dataLink" value="./route-targets/route-target/{global-route-target}/{route-target-role}" />
+ <xml-property name="defaultValue" value="BOTH" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList">
+ <xml-properties>
+ <xml-property name="description" value="l3-networks relate to vpn-bindings" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPN binding" />
+ <xml-property name="nameProps" value="vpn-name,vpn-type" />
+ <xml-property name="indexedProps" value="vpn-name,vpn-id,global-route-target,vpn-type" />
+ <xml-property name="searchable" value="vpn-id,vpn-name" />
+ <xml-property name="uniqueProps" value="vpn-id" />
+ <xml-property name="container" value="vpn-bindings" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VplsPes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VPLS Provider Edge routers" />
+ </xml-properties>
+ <xml-root-element name="vpls-pes" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vplsPe" name="vpls-pe" type="inventory.aai.openecomp.org.v9.VplsPe" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VplsPe">
+ <xml-root-element name="vpls-pe" />
+ <java-attributes>
+ <xml-element java-attribute="equipmentName" name="equipment-name" required="true" type="java.lang.String" xml-key="true" />
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value, e.g., VPLS-PE." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Temporary location for stag to get to VCE" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v9.PInterfaces" />
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v9.LagInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPLS Provider Edge routers." />
+ <xml-property name="indexedProps" value="prov-status,equipment-name" />
+ <xml-property name="container" value="vpls-pes" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="MulticastConfigurations">
+ <xml-properties>
+ <xml-property name="description" value="multicast configuration of generic-vnf ip-address" />
+ </xml-properties>
+ <xml-root-element name="multicast-configurations" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="multicastConfiguration" name="multicast-configuration" type="inventory.aai.openecomp.org.v9.MulticastConfiguration" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="MulticastConfiguration">
+ <xml-root-element name="multicast-configuration" />
+ <java-attributes>
+ <xml-element java-attribute="multicastConfigurationId" name="multicast-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of multicast configuration." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="multicastProtocol" name="multicast-protocol" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="protocol of multicast configuration" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="rpType" name="rp-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="rp type of multicast configuration" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="multicast-configuration-id" />
+ <xml-property name="uniqueProps" value="multicast-configuration-id" />
+ <xml-property name="container" value="multicast-configurations" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Virtual Customer Edge Routers, used specifically for Gamma. This object is deprecated." />
+ </xml-properties>
+ <xml-root-element name="vces" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vce" name="vce" type="inventory.aai.openecomp.org.v9.Vce" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vce">
+ <xml-root-element name="vce" />
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network role being played by this VNF" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpeId" name="vpe-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of VPE connected to this VCE." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v6VceWanAddress" name="v6-vce-wan-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Valid v6 IP address for the WAN Link on this router. Implied length of /64." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure vce, also used for troubleshooting and is IP used for traps generated by VCE." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Loopback0 address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - see child relationships" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroups" name="port-groups" type="inventory.aai.openecomp.org.v9.PortGroups" />
+ <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v9.Licenses" />
+ <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v9.Entitlements" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Customer Edge Router, used specifically for Gamma. This object is deprecated." />
+ <xml-property name="nameProps" value="vnf-name" />
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id" />
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
+ <xml-property name="uniqueProps" value="vnf-id" />
+ <xml-property name="container" value="vces" />
+ <xml-property name="namespace" value="network" />
+ <xml-property name="extends" value="vnf" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PortGroups">
+ <xml-root-element name="port-groups" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="portGroup" name="port-group" type="inventory.aai.openecomp.org.v9.PortGroup" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PortGroup">
+ <xml-root-element name="port-group" />
+ <java-attributes>
+ <xml-element java-attribute="interfaceId" name="interface-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of this Interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkName" name="neutron-network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network name of this Interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupId" name="port-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for port group in vmware" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupName" name="port-group-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Likely to duplicate value of neutron network name" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="switchName" name="switch-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="DVS or standard switch name (should be non-null for port groups associated with DVS)" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlanTags" name="cvlan-tags" type="inventory.aai.openecomp.org.v9.CvlanTags" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Used to capture the network interfaces of this VCE" />
+ <xml-property name="nameProps" value="port-group-name" />
+ <xml-property name="indexedProps" value="port-group-id,heat-stack-id,interface-id,interface-name,switch-name" />
+ <xml-property name="dependentOn" value="vce" />
+ <xml-property name="container" value="port-groups" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CvlanTags">
+ <xml-root-element name="cvlan-tags" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cvlanTagEntry" name="cvlan-tag-entry" type="inventory.aai.openecomp.org.v9.CvlanTagEntry" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CvlanTagEntry">
+ <xml-root-element name="cvlan-tag-entry" />
+ <java-attributes>
+ <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="See mis-na-virtualization-platform.yang" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="dependentOn" value="port-group" />
+ <xml-property name="indexedProps" value="cvlan-tag" />
+ <xml-property name="container" value="cvlan-tags" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vpes">
+ <xml-properties>
+ <xml-property name="description" value="Virtual provider edge router. In 1504, A&amp;AI will populate this object through an M&amp;P and tool provided to operations." />
+ </xml-properties>
+ <xml-root-element name="vpes" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vpe" name="vpe" type="inventory.aai.openecomp.org.v9.Vpe" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vpe">
+ <xml-root-element name="vpe" />
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service. Does not map strictly to ASDC services. SOON TO BE DEPRECATED" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use. See child relationships." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length for oam-address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Gateway address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v4Loopback0IpAddress" name="v4-loopback0-ip-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Loopback0 address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Temporary location for stag to get to VCE" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="as-number of the VPE" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="details regarding the vpe operation, PLEASE DISCONTINUE USE OF THIS FIELD." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether vpe access uses SSH" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v9.LagInterfaces" />
+ <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v9.Licenses" />
+ <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v9.Entitlements" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Relationship-list must include related to info for complex." />
+ <xml-property name="nameProps" value="vnf-name" />
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,regional-resource-zone,prov-status,service-id" />
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
+ <xml-property name="uniqueProps" value="vnf-id" />
+ <xml-property name="container" value="vpes" />
+ <xml-property name="namespace" value="network" />
+ <xml-property name="extends" value="vnf" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vnfcs">
+ <xml-properties>
+ <xml-property name="description" value="virtual network components associated with a vserver from application controller." />
+ </xml-properties>
+ <xml-root-element name="vnfcs" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfc" name="vnfc" type="inventory.aai.openecomp.org.v9.Vnfc" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vnfc">
+ <xml-root-element name="vnfc" />
+ <java-attributes>
+ <xml-element java-attribute="vnfcName" name="vnfc-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vnfc." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfcFunctionCode" name="vnfc-function-code" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="function code" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfcType" name="vnfc-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="type" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="prov status of this vnfc" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by APP-C" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4OamVip" name="ipaddress-v4-oam-vip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Oam V4 vip address of this vnfc" />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupNotation" name="group-notation" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group notation of VNFC" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vnfc-name,prov-status,vnfc-type,vnfc-function-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation" />
+ <xml-property name="searchable" value="vnfc-name" />
+ <xml-property name="container" value="vnfcs" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3Networks">
+ <xml-root-element name="l3-networks" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3Network" name="l3-network" type="inventory.aai.openecomp.org.v9.L3Network" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="L3Network">
+ <xml-root-element name="l3-network" />
+ <java-attributes>
+ <xml-element java-attribute="networkId" name="network-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Network ID, should be uuid. Unique across A&amp;AI." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network, governed by some naming convention.." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkType" name="network-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the network - who defines these values?" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkRole" name="network-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role the network plans - who defines these values?" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkTechnology" name="network-technology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network technology - who defines these values?" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of this Interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="isBoundToVpn" name="is-bound-to-vpn" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Set to true if bound to VPN" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service from ASDC. Does not strictly map to ASDC services. SOON TO BE DEPRECATED" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkRoleInstance" name="network-role-instance" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="network role instance" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailNetworkFqdn" name="contrail-network-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contrail FQDN for the network" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model." />
+ <xml-property name="dbAlias" value="model-invariant-id-local" />
+ <xml-property name="visibility" value="deployment" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="internal" />
+ <xml-property name="dbAlias" value="model-version-id-local" />
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
+ <xml-property name="dbAlias" value="model-customization-id" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="physicalNetworkName" name="physical-network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name associated with the physical network." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isProviderNetwork" name="is-provider-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is a provider network." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isSharedNetwork" name="is-shared-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is a shared network." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isExternalNetwork" name="is-external-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is an external network." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnets" name="subnets" type="inventory.aai.openecomp.org.v9.Subnets" />
+ <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.openecomp.org.v9.CtagAssignments" />
+ <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.openecomp.org.v9.SegmentationAssignments" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" >
+ <xml-properties>
+ <xml-property name="description" value="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Generic network definition" />
+ <xml-property name="nameProps" value="network-name" />
+ <xml-property name="indexedProps" value="heat-stack-id,network-uuid,service-id,network-id,network-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-network-fqdn,network-role" />
+ <xml-property name="searchable" value="network-id,network-name" />
+ <xml-property name="uniqueProps" value="network-id" />
+ <xml-property name="container" value="l3-networks" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+ <java-type name="NetworkPolicies">
+ <xml-root-element name="network-policies" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkPolicy" name="network-policy" type="inventory.aai.openecomp.org.v9.NetworkPolicy" />
+ </java-attributes>
+ </java-type>
+ <java-type name="NetworkPolicy">
+ <xml-root-element name="network-policy" />
+ <java-attributes>
+ <xml-element java-attribute="networkPolicyId" name="network-policy-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID representing unique key to this instance" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkPolicyFqdn" name="network-policy-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contrail FQDN for the policy" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID for the openStack Heat instance" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="nameProps" value="network-policy-fqdn" />
+ <xml-property name="indexedProps" value="network-policy-id,network-policy-fqdn" />
+ <xml-property name="searchable" value="network-policy-id,network-policy-fqdn" />
+ <xml-property name="uniqueProps" value="network-policy-id" />
+ <xml-property name="container" value="network-policies" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+ <java-type name="CtagAssignments">
+ <xml-root-element name="ctag-assignments" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagAssignment" name="ctag-assignment" type="inventory.aai.openecomp.org.v9.CtagAssignment" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CtagAssignment">
+ <xml-root-element name="ctag-assignment" />
+ <java-attributes>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="id." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vlan-id-inner" />
+ <xml-property name="dependentOn" value="l3-network" />
+ <xml-property name="container" value="ctag-assignments" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Subnets">
+ <xml-root-element name="subnets" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="subnet" name="subnet" type="inventory.aai.openecomp.org.v9.Subnet" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Subnet">
+ <xml-root-element name="subnet" />
+ <java-attributes>
+ <xml-element java-attribute="subnetId" name="subnet-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Subnet ID, should be UUID." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnetName" name="subnet-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name associated with the subnet." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of this subnet" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="gatewayAddress" name="gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="gateway ip address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkStartAddress" name="network-start-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="network start address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cidrMask" name="cidr-mask" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="cidr mask" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip version" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="dhcpEnabled" name="dhcp-enabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="dhcp enabled" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpStart" name="dhcp-start" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the start address reserved for use by dhcp" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpEnd" name="dhcp-end" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the last address reserved for use by dhcp" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="subnet-id,subnet-name" />
+ <xml-property name="nameProps" value="subnet-name" />
+ <xml-property name="uniqueProps" value="subnet-id" />
+ <xml-property name="dependentOn" value="l3-network" />
+ <xml-property name="container" value="subnets" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GenericVnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VNFs" />
+ </xml-properties>
+ <xml-root-element name="generic-vnfs" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="genericVnf" name="generic-vnf" type="inventory.aai.openecomp.org.v9.GenericVnf" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GenericVnf">
+ <xml-root-element name="generic-vnf" />
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service, does not necessarily map to ASDC service models. SOON TO BE DEPRECATED" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational. Valid values are in-service-path and out-of-service-path." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, used by MSO." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of managed by company or customer" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nmLanV6Address" name="nm-lan-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 Loopback address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementV6Address" name="management-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 management address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpu" name="vcpu" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpuUnits" name="vcpu-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemory" name="vmemory" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemoryUnits" name="vmemory-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdisk" name="vdisk" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdiskUnits" name="vdisk-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether generic-vnf access uses SSH" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model." />
+ <xml-property name="dbAlias" value="model-invariant-id-local" />
+ <xml-property name="visibility" value="deployment" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="internal" />
+ <xml-property name="dbAlias" value="model-version-id-local" />
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
+ <xml-property name="dbAlias" value="model-customization-id" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="as-number of the VNF" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceSubzone" name="regional-resource-subzone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="represents sub zone of the rr plane" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v9.LagInterfaces" />
+ <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.openecomp.org.v9.VfModules" />
+ <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v9.Licenses" />
+ <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v9.Entitlements" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="General purpose VNF" />
+ <xml-property name="nameProps" value="vnf-name" />
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version" />
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
+ <xml-property name="uniqueProps" value="vnf-id" />
+ <xml-property name="container" value="generic-vnfs" />
+ <xml-property name="namespace" value="network" />
+ <xml-property name="extends" value="vnf" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VfModules">
+ <xml-properties>
+ <xml-property name="description" value="Collection of vf-modules, a deployment unit of VNFCs" />
+ </xml-properties>
+ <xml-root-element name="vf-modules" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vfModule" name="vf-module" type="inventory.aai.openecomp.org.v9.VfModule" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VfModule">
+ <xml-root-element name="vf-module" />
+ <java-attributes>
+ <xml-element java-attribute="vfModuleId" name="vf-module-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vf-module." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfModuleName" name="vf-module-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of vf-module" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="orchestration status of this vf-module, mastered by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="isBaseVfModule" name="is-base-vf-module" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is base vf module" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model." />
+ <xml-property name="dbAlias" value="model-invariant-id-local" />
+ <xml-property name="visibility" value="deployment" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="internal" />
+ <xml-property name="dbAlias" value="model-version-id-local" />
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
+ <xml-property name="dbAlias" value="model-customization-id" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the Contrail unique ID for a service-instance" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="moduleIndex" name="module-index" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="the index will track the number of modules of a given type that have been deployed in a VNF, starting with 0, and always choosing the lowest available digit" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="a deployment unit of VNFCs" />
+ <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-service-instance-fqdn" />
+ <xml-property name="searchable" value="vf-module-id,vf-module-name" />
+ <xml-property name="dependentOn" value="generic-vnf" />
+ <xml-property name="container" value="vf-modules" />
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="LagLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregation connections" />
+ </xml-properties>
+ <xml-root-element name="lag-links" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagLink" name="lag-link" type="inventory.aai.openecomp.org.v9.LagLink" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LagLink">
+ <xml-root-element name="lag-link" />
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Alphabetical concatenation of lag-interface names" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="LAG links can connect lag-interfaces" />
+ <xml-property name="indexedProps" value="link-name" />
+ <xml-property name="container" value="lag-links" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Newvces">
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce." />
+ </xml-properties>
+ <xml-root-element name="newvces" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="newvce" name="newvce" type="inventory.aai.openecomp.org.v9.Newvce" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Newvce">
+ <xml-root-element name="newvce" />
+ <java-attributes>
+ <xml-element java-attribute="vnfId2" name="vnf-id2" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF, can't use same attribute name right now until we promote this new object" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value, e.g., VPE." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce." />
+ <xml-property name="nameProps" value="vnf-name" />
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2" />
+ <xml-property name="searchable" value="vnf-id2,vnf-name,vnf-name2" />
+ <xml-property name="uniqueProps" value="vnf-id2" />
+ <xml-property name="container" value="newvces" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Physical Network Functions." />
+ </xml-properties>
+ <xml-root-element name="pnfs" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pnf" name="pnf" type="inventory.aai.openecomp.org.v9.Pnf" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pnf">
+ <xml-root-element name="pnf" />
+ <java-attributes>
+ <xml-element java-attribute="pnfName" name="pnf-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique name of Physical Network Function." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfName2" name="pnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="name of Physical Network Function." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfName2Source" name="pnf-name2-source" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="source of name2" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfId" name="pnf-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="id of pnf" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment type. Source of truth should define valid values." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment vendor. Source of truth should define valid values." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment model. Source of truth should define valid values." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of managed by company or customer" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Oam" name="ipaddress-v4-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ipv4-oam-address with new naming convention for IP addresses" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="swVersion" name="sw-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="sw-version is the version of SW for the hosted application on the PNF." />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="frameId" name="frame-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of the physical frame (relay rack) where pnf is installed." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Serial number of the device" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 Loopback 0 address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 Loopback 0 address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 AIM address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 AIM address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 OAM address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CANOPI's inventory status. Only set with values exactly as defined by CANOPI." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Nf Role is the role performed by this instance in the network." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v9.PInterfaces" />
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v9.LagInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world." />
+ <xml-property name="indexedProps" value="pnf-name,orchestration-status,inv-status" />
+ <xml-property name="searchable" value="pnf-name" />
+ <xml-property name="uniqueProps" value="pnf-name" />
+ <xml-property name="container" value="pnfs" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PhysicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
+ </xml-properties>
+ <xml-root-element name="physical-links" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="physicalLink" name="physical-link" type="inventory.aai.openecomp.org.v9.PhysicalLink" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PhysicalLink">
+ <xml-root-element name="physical-link" />
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Circuit it" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dualMode" name="dual-mode" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Dual access mode (e.g., primary, secondary" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="To provide information on who manages this circuit. A&amp;AI or 3rd party transport provider" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderName" name="service-provider-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the service Provider on this link." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
+ <xml-property name="indexedProps" value="circuit-id,link-name" />
+ <xml-property name="alternateKeys1" value="circuit-id" />
+ <xml-property name="container" value="physical-links" />
+ <xml-property name="namespace" value="network" />
+ <xml-property name="searchable" value="link-name,circuit-id" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VigServers">
+ <xml-root-element name="vig-servers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vigServer" name="vig-server" type="inventory.aai.openecomp.org.v9.VigServer" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VigServer">
+ <xml-root-element name="vig-server" />
+ <java-attributes>
+ <xml-element java-attribute="vigAddressType" name="vig-address-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether the VIG is for AVPN or INTERNET" />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV4Vig" name="ipaddress-v4-vig" type="java.lang.String" >
+ <xml-properties>
+ <xml-property name="description" value="v4 IP of the vig server" />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV6Vig" name="ipaddress-v6-vig" type="java.lang.String" >
+ <xml-properties>
+ <xml-property name="description" value="v6 IP of the vig server" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607" />
+ <xml-property name="indexedProps" value="vig-address-type" />
+ <xml-property name="dependentOn" value="ipsec-configuration" />
+ <xml-property name="container" value="vig-servers" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="IpsecConfigurations">
+ <xml-root-element name="ipsec-configurations" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipsecConfiguration" name="ipsec-configuration" type="inventory.aai.openecomp.org.v9.IpsecConfiguration" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IpsecConfiguration">
+ <xml-root-element name="ipsec-configuration" />
+ <java-attributes>
+ <xml-element java-attribute="ipsecConfigurationId" name="ipsec-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of this configuration" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedVigAddressType" name="requested-vig-address-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicate the type of VIG server like AVPN, INTERNET, BOTH" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedEncryptionStrength" name="requested-encryption-strength" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encryption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedDmzType" name="requested-dmz-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="can offer a shared DMZ or a DMZ specific to a customer" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sharedDmzNetworkAddress" name="shared-dmz-network-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network address of shared DMZ" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedCustomerName" name="requested-customer-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="If the DMZ is a custom DMZ, this field will indicate the customer information" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikeVersion" name="ike-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="can be 1 or 2" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1Authentication" name="ikev1-authentication" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contains values like md5, sha1, sha256, sha384" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1Encryption" name="ikev1-encryption" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1DhGroup" name="ikev1-dh-group" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Diffie-Hellman group like DH-GROUP2, DH-GROUP5, DH-GROUP14" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1AmGroupId" name="ikev1-am-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group name defined in VIG for clients using aggressive mode" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1AmPassword" name="ikev1-am-password" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="pre-shared key for the above group name " />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1SaLifetime" name="ikev1-sa-lifetime" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Lifetime for IKEv1 SA" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecAuthentication" name="ipsec-authentication" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="md5, sha1, sha256, sha384" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecEncryption" name="ipsec-encryption" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecSaLifetime" name="ipsec-sa-lifetime" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Life time for IPSec SA" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecPfs" name="ipsec-pfs" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="enable PFS or not" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="xauthUserId" name="xauth-userid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="user ID for xAuth, sm-user, nmteHostName" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="xauthUserPassword" name="xauth-user-password" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encrypted using the Juniper $9$ algorithm" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dpdInterval" name="dpd-interval" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The time between DPD probe" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dpdFrequency" name="dpd-frequency" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Maximum number of DPD before claiming the tunnel is down" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.openecomp.org.v9.VigServers" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C" />
+ <xml-property name="indexedProps" value="ipsec-configuration-id" />
+ <xml-property name="uniqueProps" value="ipsec-configuration-id" />
+ <xml-property name="container" value="ipsec-configurations" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="NotificationEvent">
+ <xml-root-element name="notification-event" />
+ <java-attributes>
+ <xml-element java-attribute="cambriaPartition" name="cambria.partition" type="java.lang.String" />
+ <xml-element java-attribute="eventHeader" name="event-header" type="inventory.aai.openecomp.org.v9.NotificationEventHeader" />
+ <xml-any-element java-attribute="entity" />
+ </java-attributes>
+ </java-type>
+ <java-type name="NotificationEventHeader">
+ <xml-root-element name="notification-event-header" />
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" type="java.lang.String" />
+ <xml-element java-attribute="timestamp" name="timestamp" type="java.lang.String" />
+ <xml-element java-attribute="sourceName" name="source-name" type="java.lang.String" />
+ <xml-element java-attribute="domain" name="domain" type="java.lang.String" />
+ <xml-element java-attribute="sequenceNumber" name="sequence-number" type="java.lang.String" />
+ <xml-element java-attribute="severity" name="severity" type="java.lang.String" />
+ <xml-element java-attribute="eventType" name="event-type" type="java.lang.String" />
+ <xml-element java-attribute="version" name="version" type="java.lang.String" />
+ <xml-element java-attribute="action" name="action" type="java.lang.String" />
+ <xml-element java-attribute="entityType" name="entity-type" type="java.lang.String" />
+ <xml-element java-attribute="topEntityType" name="top-entity-type" type="java.lang.String" />
+ <xml-element java-attribute="entityLink" name="entity-link" type="java.lang.String" />
+ <xml-element java-attribute="status" name="status" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+ <java-type name="AaiInternal">
+ <xml-root-element name="aai-internal" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="reservedPropNames" name="reserved-prop-names" type="inventory.aai.openecomp.org.v9.ReservedPropNames" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.openecomp.org.v9.EdgePropNames" />
+ </java-attributes>
+ </java-type>
+ <java-type name="ReservedPropNames">
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define some reserved properties of a vertex" />
+ <xml-property name="uniqueProps" value="aai-unique-key" />
+ <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type,aai-uri" />
+ </xml-properties>
+ <xml-root-element name="reserved-prop-names" />
+ <java-attributes>
+ <xml-element java-attribute="lastModSourceOfTruth" name="last-mod-source-of-truth" type="java.lang.String" />
+ <xml-element java-attribute="aaiNodeType" name="aai-node-type" type="java.lang.String" />
+ <xml-element java-attribute="aaiCreatedTs" name="aai-created-ts" type="java.lang.Long" />
+ <xml-element java-attribute="aaiUniqueKey" name="aai-unique-key" type="java.lang.String" />
+ <xml-element java-attribute="aaiLastModTs" name="aai-last-mod-ts" type="java.lang.Long" />
+ <xml-element java-attribute="sourceOfTruth" name="source-of-truth" type="java.lang.String" />
+ <xml-element java-attribute="aaiUri" name="aai-uri" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+ <java-type name="EdgePropNames">
+ <!-- NOTE that the names of these properties are not consistent and are in mixed case and hyphen case for now -->
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define the properties of an edge and interpret the map EdgeRules" />
+ <xml-property name="edgeInfo" value="edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV" />
+ </xml-properties>
+ <xml-root-element name="edge-prop-names" />
+ <java-attributes>
+ <xml-element java-attribute="edgeLabel" name="edgeLabel" type="java.lang.String" />
+ <xml-element java-attribute="direction" name="direction" type="java.lang.String" />
+ <xml-element java-attribute="multiplicityRule" name="multiplicityRule" type="java.lang.String" />
+ <xml-element java-attribute="isParent" name="isParent" type="java.lang.Boolean" />
+ <xml-element java-attribute="usesResource" name="usesResource" type="java.lang.Boolean" />
+ <xml-element java-attribute="hasDelTarget" name="hasDelTarget" type="java.lang.Boolean" />
+ <xml-element java-attribute="SVC-INFRA" name="SVC-INFRA" type="java.lang.Boolean" />
+ <xml-element java-attribute="SVC-INFRA-REV" name="SVC-INFRA-REV" type="java.lang.Boolean" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Models">
+ <xml-properties>
+ <xml-property name="description" value="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models" />
+ </xml-properties>
+ <xml-root-element name="models" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="model" name="model" type="inventory.aai.openecomp.org.v9.Model" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Model">
+ <xml-root-element name="model" />
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version" />
+ <xml-property name="nameProps" value="model-type" />
+ <xml-property name="indexedProps" value="model-invariant-id,model-type" />
+ <xml-property name="uniqueProps" value="model-invariant-id" />
+ <xml-property name="container" value="models" />
+ <xml-property name="namespace" value="service-design-and-creation" />
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.openecomp.org.v9.ModelVers" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ </java-type>
+
+
+ <java-type name="ModelVers">
+ <xml-root-element name="model-vers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelVer" name="model-ver" type="inventory.aai.openecomp.org.v9.ModelVer" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelVer">
+ <xml-root-element name="model-ver" />
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models" />
+ <xml-property name="nameProps" value="model-name" />
+ <xml-property name="indexedProps" value="model-version-id,model-name,model-version" />
+ <xml-property name="uniqueProps" value="model-version-id" />
+ <xml-property name="container" value="model-vers" />
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the model, which can change from version to version." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Version" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v9.ModelElements" />
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v9.Metadata" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelElements">
+ <xml-root-element name="model-elements" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelElement" name="model-element" type="inventory.aai.openecomp.org.v9.ModelElement" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelElement">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model." />
+ <xml-property name="uniqueProps" value="model-element-uuid" />
+ <xml-property name="indexedProps" value="model-element-uuid" />
+ <xml-property name="allowDirectRead" value="true" />
+ <xml-property name="allowDirectWrite" value="false" />
+ <xml-property name="container" value="model-elements" />
+ </xml-properties>
+ <xml-root-element name="model-element" />
+ <java-attributes>
+ <xml-element java-attribute="modelElementUuid" name="model-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="newDataDelFlag" name="new-data-del-flag" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates whether this element was created as part of instantiation from this model" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cardinality" name="cardinality" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="How many of this type of element are required/allowed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="linkagePoints" name="linkage-points" type="java.lang.String" >
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v9.ModelElements">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelConstraints" name="model-constraints" type="inventory.aai.openecomp.org.v9.ModelConstraints">
+ <xml-properties>
+ <xml-property name="description" value="Describes new constraints on this model element that are not part of that model's definition" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelConstraints">
+ <xml-root-element name="model-constraints" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelConstraint" name="model-constraint" type="inventory.aai.openecomp.org.v9.ModelConstraint" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelConstraint">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
+ <xml-property name="uniqueProps" value="model-constraint-uuid" />
+ <xml-property name="indexedProps" value="model-constraint-uuid" />
+ <xml-property name="allowDirectRead" value="true" />
+ <xml-property name="allowDirectWrite" value="false" />
+ <xml-property name="container" value="model-constraints" />
+ </xml-properties>
+ <xml-root-element name="model-constraint" />
+ <java-attributes>
+ <xml-element java-attribute="modelConstraintUuid" name="model-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constrainedElementSetUuidToReplace" name="constrained-element-set-uuid-to-replace" required="true" type="java.lang.String" />
+ <xml-element java-attribute="constrainedElementSets" name="constrained-element-sets" type="inventory.aai.openecomp.org.v9.ConstrainedElementSets" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ConstrainedElementSets">
+ <xml-root-element name="constrained-element-sets" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="constrainedElementSet" name="constrained-element-set" type="inventory.aai.openecomp.org.v9.ConstrainedElementSet" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ConstrainedElementSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
+ <xml-property name="uniqueProps" value="constrained-element-set-uuid" />
+ <xml-property name="indexedProps" value="constrained-element-set-uuid" />
+ <xml-property name="allowDirectRead" value="true" />
+ <xml-property name="allowDirectWrite" value="false" />
+ <xml-property name="container" value="constrained-element-sets" />
+ </xml-properties>
+ <xml-root-element name="constrained-element-set" />
+ <java-attributes>
+ <xml-element java-attribute="constrainedElementSetUuid" name="constrained-element-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
+ <xml-element java-attribute="checkType" name="check-type" required="true" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+ <xml-element java-attribute="elementChoiceSets" name="element-choice-sets" type="inventory.aai.openecomp.org.v9.ElementChoiceSets" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ElementChoiceSets">
+ <xml-root-element name="element-choice-sets" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="elementChoiceSet" name="element-choice-set" type="inventory.aai.openecomp.org.v9.ElementChoiceSet" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ElementChoiceSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
+ <xml-property name="uniqueProps" value="element-choice-set-uuid" />
+ <xml-property name="indexedProps" value="element-choice-set-uuid" />
+ <xml-property name="allowDirectRead" value="true" />
+ <xml-property name="allowDirectWrite" value="false" />
+ <xml-property name="container" value="element-choice-sets" />
+ </xml-properties>
+ <xml-root-element name="element-choice-set" />
+ <java-attributes>
+ <xml-element java-attribute="elementChoiceSetUuid" name="element-choice-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="elementChoiceSetName" name="element-choice-set-name" required="true" type="java.lang.String" />
+ <xml-element java-attribute="cardinality" name="cardinality" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v9.ModelElements" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueries">
+ <xml-root-element name="named-queries" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQuery" name="named-query" type="inventory.aai.openecomp.org.v9.NamedQuery" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQuery">
+ <xml-properties>
+ <xml-property name="description" value="TBD" />
+ <xml-property name="nameProps" value="named-query-name" />
+ <xml-property name="uniqueProps" value="named-query-uuid" />
+ <xml-property name="indexedProps" value="named-query-uuid,named-query-name" />
+ <xml-property name="container" value="named-queries" />
+ <xml-property name="namespace" value="service-design-and-creation" />
+ </xml-properties>
+ <xml-root-element name="named-query" />
+ <java-attributes>
+ <xml-element java-attribute="namedQueryUuid" name="named-query-uuid" required="true" type="java.lang.String" xml-key="true" />
+ <xml-element java-attribute="namedQueryName" name="named-query-name" required="true" type="java.lang.String" />
+ <xml-element java-attribute="namedQueryVersion" name="named-query-version" required="true" type="java.lang.String" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="requiredInputParams" name="required-input-param" type="java.lang.String" >
+ <xml-element-wrapper name="required-input-params" />
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v9.NamedQueryElements" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueryElements">
+ <xml-root-element name="named-query-elements" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQueryElement" name="named-query-element" type="inventory.aai.openecomp.org.v9.NamedQueryElement" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueryElement">
+ <xml-properties>
+ <xml-property name="description" value="TBD" />
+ <xml-property name="uniqueProps" value="named-query-element-uuid" />
+ <xml-property name="indexedProps" value="named-query-element-uuid" />
+ <xml-property name="allowDirectRead" value="true" />
+ <xml-property name="allowDirectWrite" value="false" />
+ <xml-property name="container" value="named-query-elements" />
+ </xml-properties>
+ <xml-root-element name="named-query-element" />
+ <java-attributes>
+ <xml-element java-attribute="namedQueryElementUuid" name="named-query-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+ <xml-element java-attribute="propertyLimitDesc" name="property-limit-desc" type="java.lang.String" />
+ <xml-element java-attribute="doNotOutput" name="do-not-output" type="java.lang.String" />
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v9.NamedQueryElements" />
+ <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.openecomp.org.v9.RelatedLookups" />
+ <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.openecomp.org.v9.PropertyConstraints" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedLookups">
+ <xml-root-element name="related-lookups" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedLookup" name="related-lookup" type="inventory.aai.openecomp.org.v9.RelatedLookup" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedLookup">
+ <xml-properties>
+ <xml-property name="description" value="TBD" />
+ <xml-property name="uniqueProps" value="related-lookup-uuid" />
+ <xml-property name="indexedProps" value="related-lookup-uuid" />
+ <xml-property name="allowDirectRead" value="true" />
+ <xml-property name="allowDirectWrite" value="false" />
+ <xml-property name="container" value="related-lookups" />
+ </xml-properties>
+ <xml-root-element name="related-lookup" />
+ <java-attributes>
+ <xml-element java-attribute="relatedLookupUuid" name="related-lookup-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceNodeType" name="source-node-type" required="true" type="java.lang.String" />
+ <xml-element java-attribute="sourceNodeProperty" name="source-node-property" required="true" type="java.lang.String" />
+ <xml-element java-attribute="targetNodeType" name="target-node-type" required="true" type="java.lang.String" />
+ <xml-element java-attribute="targetNodeProperty" name="target-node-property" required="true" type="java.lang.String" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PropertyConstraints">
+ <xml-root-element name="property-constraints" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyConstraint" name="property-constraint" type="inventory.aai.openecomp.org.v9.PropertyConstraint" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PropertyConstraint">
+ <xml-properties>
+ <xml-property name="description" value="TBD" />
+ <xml-property name="uniqueProps" value="property-constraint-uuid" />
+ <xml-property name="indexedProps" value="property-constraint-uuid" />
+ <xml-property name="allowDirectRead" value="true" />
+ <xml-property name="allowDirectWrite" value="false" />
+ <xml-property name="container" value="property-constraints" />
+ </xml-properties>
+ <xml-root-element name="property-constraint" />
+ <java-attributes>
+ <xml-element java-attribute="propertyConstraintUuid" name="property-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
+ <xml-element java-attribute="propertyName" name="property-name" required="true" type="java.lang.String" />
+ <xml-element java-attribute="propertyValue" name="property-value" required="true" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelAndNamedQuerySearch">
+ <xml-properties>
+ <xml-property name="description" value="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query" />
+ </xml-properties>
+ <xml-root-element name="model-and-named-query-search" />
+ <java-attributes>
+ <xml-element java-attribute="queryParameters" name="query-parameters" type="inventory.aai.openecomp.org.v9.QueryParameters" />
+ <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.openecomp.org.v9.InstanceFilters" />
+ <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.openecomp.org.v9.SecondaryFilts" />
+ <xml-element java-attribute="topNodeType" name="top-node-type" type="java.lang.String" />
+ <xml-element java-attribute="secondaryFilterCutPoint" name="secondary-filter-cut-point" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="QueryParameters">
+ <xml-properties>
+ <xml-property name="description" value="QueryParameters for performing a named-query or model query" />
+ </xml-properties>
+ <xml-root-element name="query-parameters" />
+ <java-attributes>
+ <xml-element java-attribute="namedQuery" name="named-query" type="inventory.aai.openecomp.org.v9.NamedQuery" />
+ <xml-element java-attribute="model" name="model" type="inventory.aai.openecomp.org.v9.OverloadedModel" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OverloadedModel">
+ <xml-root-element name="overloaded-model" />
+ <xml-properties>
+ <xml-property name="description" value="Allows for legacy POST of old-style and new-style models" />
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelNameVersionId" name="model-name-version-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the model, which can change from version to version." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelId" name="model-id" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Invariant unique ID which does not change from version to version" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Version" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.openecomp.org.v9.ModelVers" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceFilters">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilters for performing a named-query or model query" />
+ </xml-properties>
+ <xml-root-element name="instance-filters" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="instanceFilter" name="instance-filter" type="inventory.aai.openecomp.org.v9.InstanceFilter" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceFilter">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilter for performing a named-query or model query" />
+ <xml-property name="container" value="instance-filters" />
+ </xml-properties>
+ <xml-root-element name="instance-filter" />
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilts">
+ <xml-properties>
+ <xml-property name="description" value="SecondaryFilts for performing a named-query or model query" />
+ </xml-properties>
+ <xml-root-element name="secondary-filts" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilt" name="secondary-filt" type="inventory.aai.openecomp.org.v9.SecondaryFilt" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilt">
+ <xml-properties>
+ <xml-property name="description" value="SecondaryFilt for performing a named-query or model query" />
+ </xml-properties>
+ <xml-root-element name="secondary-filt" />
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Properties">
+ <xml-properties>
+ <xml-property name="description" value="Property holder for query properties or instance properties" />
+ </xml-properties>
+ <xml-root-element name="properties" />
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ResponseList">
+ <xml-properties>
+ <xml-property name="description" value="Response container for the results of a named-query or model query" />
+ </xml-properties>
+ <xml-root-element name="response-list" />
+ <java-attributes>
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.openecomp.org.v9.InventoryResponseItems" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryResponseItems">
+ <xml-properties>
+ <xml-property name="description" value="Container for inventory items in response list" />
+ <xml-property name="container" value="response-list" />
+ </xml-properties>
+ <xml-root-element name="inventory-response-items" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryResponseItem" name="inventory-response-item" type="inventory.aai.openecomp.org.v9.InventoryResponseItem" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryResponseItem">
+ <xml-properties>
+ <xml-property name="description" value="Inventory item for response list" />
+ <xml-property name="container" value="inventory-response-items" />
+ </xml-properties>
+ <xml-root-element name="inventory-response-item" />
+ <java-attributes>
+ <xml-element java-attribute="modelName" name="model-name" type="java.lang.String" />
+ <xml-any-element java-attribute="item" />
+ <xml-element java-attribute="extraProperties" name="extra-properties" type="inventory.aai.openecomp.org.v9.ExtraProperties" />
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.openecomp.org.v9.InventoryResponseItems" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExtraProperties">
+ <xml-properties>
+ <xml-property name="description" value="Extra properties for inventory item for response list" />
+ </xml-properties>
+ <xml-root-element name="extra-properties" />
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="extraProperty" name="extra-property" type="inventory.aai.openecomp.org.v9.ExtraProperty" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExtraProperty">
+ <xml-root-element name="extra-property" />
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+ <xml-any-element java-attribute="propertyValue" lax="true" name="property-value" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RouteTableReferences">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack route table references" />
+ </xml-properties>
+ <xml-root-element name="route-table-references" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routeTableReference" name="route-table-reference" type="inventory.aai.openecomp.org.v9.RouteTableReference" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RouteTableReference">
+ <xml-root-element name="route-table-reference" />
+ <java-attributes>
+ <xml-element java-attribute="routeTableReferenceId" name="route-table-reference-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTableReferenceFqdn" name="route-table-reference-fqdn" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="FQDN entry in the route table." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Openstack route table reference." />
+ <xml-property name="nameProps" value="route-table-reference-fqdn" />
+ <xml-property name="uniqueProps" value="route-table-reference-id" />
+ <xml-property name="indexedProps" value="route-table-reference-id,route-table-reference-fqdn" />
+ <xml-property name="container" value="route-table-references" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="InstanceGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack route table references" />
+ </xml-properties>
+ <xml-root-element name="instance-groups" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="instanceGroup" name="instance-group" type="inventory.aai.openecomp.org.v9.InstanceGroup" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceGroup">
+ <xml-root-element name="instance-group" />
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Instance Group ID, UUID assigned to this instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Descriptive text to help identify the usage of this instance-group" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="type" name="type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Only valid value today is lower case ha for high availability" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subType" name="sub-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Valid values for ha type are [geo-activeactive, geo-activestandby, local-activeactive, local-activestandby]" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="General mechanism for grouping instances" />
+ <xml-property name="nameProps" value="description" />
+ <xml-property name="uniqueProps" value="id" />
+ <xml-property name="indexedProps" value="id,description,type,sub-type" />
+ <xml-property name="container" value="instance-groups" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="SegmentationAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack segmentation assignments" />
+ </xml-properties>
+ <xml-root-element name="segmentation-assignments" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.openecomp.org.v9.SegmentationAssignment" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SegmentationAssignment">
+ <xml-root-element name="segmentation-assignment" />
+ <java-attributes>
+ <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack segmentation assignment." />
+ <xml-property name="indexedProps" value="segmentation-id" />
+ <xml-property name="dependentOn" value="l3-network" />
+ <xml-property name="container" value="segmentation-assignments" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="AllottedResources">
+ <xml-properties>
+ <xml-property name="description" value="This object is used to store slices of services being offered" />
+ </xml-properties>
+ <xml-root-element name="allotted-resources" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="allottedResource" name="allotted-resource" type="inventory.aai.openecomp.org.v9.AllottedResource" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AllottedResource">
+ <xml-root-element name="allotted-resource" />
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Allotted Resource id UUID assigned to this instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The descriptive information assigned to this allotted resource instance" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Link back to more information in the controller" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model." />
+ <xml-property name="dbAlias" value="model-invariant-id-local" />
+ <xml-property name="visibility" value="deployment" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="internal" />
+ <xml-property name="dbAlias" value="model-version-id-local" />
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
+ <xml-property name="dbAlias" value="model-customization-id" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tunnelXconnects" name="tunnel-xconnects" type="inventory.aai.openecomp.org.v9.TunnelXconnects" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Represents a slice or partial piece of a resource that gets separately allotted" />
+ <xml-property name="nameProps" value="description" />
+ <xml-property name="uniqueProps" value="id" />
+ <xml-property name="indexedProps" value="id,persona-model-id,persona-model-version" />
+ <xml-property name="dependentOn" value="service-instance" />
+ <xml-property name="container" value="allotted-resources" />
+ <!-- <xml-property name="namespace" value="network" /> -->
+ </xml-properties>
+ </java-type>
+
+ <java-type name="TunnelXconnects">
+ <xml-properties>
+ <xml-property name="description" value="This object is used to store the specific tunnel cross connect aspects of an allotted resource" />
+ </xml-properties>
+ <xml-root-element name="tunnel-xconnects" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tunnelXconnect" name="tunnel-xconnect" type="inventory.aai.openecomp.org.v9.TunnelXconnect" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="TunnelXconnect">
+ <xml-root-element name="tunnel-xconnect" />
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Allotted Resource id UUID assigned to this instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN uplink bandwidth for WAN1" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN downlink bandwidth for WAN1" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN uplink bandwidth for WAN2" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN downlink bandwidth for WAN2" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted" />
+ <xml-property name="uniqueProps" value="id" />
+ <xml-property name="indexedProps" value="id" />
+ <xml-property name="dependentOn" value="allotted-resource" />
+ <xml-property name="container" value="tunnel-xconnects" />
+ <!-- <xml-property name="namespace" value="network" /> -->
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Entitlements">
+ <xml-properties>
+ <xml-property name="description" value="Entitlements, keyed by group-uuid and resource-uuid, related to license management" />
+ </xml-properties>
+ <xml-root-element name="entitlements" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="entitlement" name="entitlement" type="inventory.aai.openecomp.org.v9.Entitlement" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Entitlement">
+ <xml-root-element name="entitlement" />
+ <java-attributes>
+ <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for the entitlement group the resource comes from, should be uuid." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of an entitlement resource. " />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Metadata for entitlement group." />
+ <xml-property name="indexedProps" value="group-uuid,resource-uuid" />
+ <xml-property name="dependentOn" value="generic-vnf,vce,vpe" />
+ <xml-property name="container" value="entitlements" />
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="Licenses">
+ <xml-properties>
+ <xml-property name="description" value="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management" />
+ </xml-properties>
+ <xml-root-element name="licenses" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="license" name="license" type="inventory.aai.openecomp.org.v9.License" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="License">
+ <xml-root-element name="license" />
+ <java-attributes>
+ <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for the license group the resource belongs to, should be uuid." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of a license resource. " />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Metadata for license group." />
+ <xml-property name="indexedProps" value="group-uuid,resource-uuid" />
+ <xml-property name="dependentOn" value="generic-vnf,vce,vpe" />
+ <xml-property name="container" value="licenses" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vnf">
+ <xml-root-element name="vnf"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph." />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Abstract vnf class" />
+ <xml-property name="indexedProps" value="vnf-id" />
+ <xml-property name="uniqueProps" value="vnf-id" />
+ <xml-property name="inheritors" value="vce,vpe,generic-vnf" />
+ <xml-property name="abstract" value="true" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Zones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of zones" />
+ </xml-properties>
+ <xml-root-element name="zones" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="zone" name="zone" type="inventory.aai.openecomp.org.v9.Zone" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Zone">
+ <xml-root-element name="zone" />
+ <java-attributes>
+ <xml-element java-attribute="zoneId" name="zone-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Code assigned by AIC to the zone" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="zoneName" name="zone-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="English name associated with the zone" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="designType" name="design-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Design of zone [Medium/Large…]" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="zoneContext" name="zone-context" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Context of zone [production/test]" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="status" name="status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Status of a zone." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="A zone is a grouping of assets in a location homing to the same connections into the CBB" />
+ <xml-property name="nameProps" value="zone-name" />
+ <xml-property name="indexedProps" value="zone-id,design-type,zone-context" />
+ <xml-property name="uniqueProps" value="zone-id" />
+ <xml-property name="container" value="zones" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+ </java-types>
+</xml-bindings>
diff --git a/aai-core/src/test/resources/org/openecomp/aai/introspection/aai_oxm_v10.xml b/aai-core/src/test/resources/org/openecomp/aai/introspection/aai_oxm_v10.xml
new file mode 100644
index 00000000..e63d273f
--- /dev/null
+++ b/aai-core/src/test/resources/org/openecomp/aai/introspection/aai_oxm_v10.xml
@@ -0,0 +1,5933 @@
+<?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.openecomp.org.v10" xml-mapping-metadata-complete="true">
+ <xml-schema element-form-default="QUALIFIED">
+ <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v10" />
+ </xml-schema>
+ <java-types>
+ <java-type name="Inventory">
+ <xml-root-element name="inventory" />
+ <java-attributes>
+ <xml-element java-attribute="search" name="search" type="inventory.aai.openecomp.org.v10.Search" />
+ <xml-element java-attribute="actions" name="actions" type="inventory.aai.openecomp.org.v10.Actions" />
+ <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.openecomp.org.v10.CloudInfrastructure" />
+ <xml-element java-attribute="business" name="business" type="inventory.aai.openecomp.org.v10.Business" />
+ <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.openecomp.org.v10.ServiceDesignAndCreation" />
+ <xml-element java-attribute="network" name="network" type="inventory.aai.openecomp.org.v10.Network" />
+ <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.openecomp.org.v10.AaiInternal" />
+ <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.openecomp.org.v10.Nodes"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Nodes">
+ <xml-root-element name="nodes" />
+ </java-type>
+ <java-type name="Search">
+ <xml-root-element name="search" />
+ <java-attributes>
+ <xml-element java-attribute="edgeTagQueryResult" name="edge-tag-query-result" type="inventory.aai.openecomp.org.v10.EdgeTagQueryResult" />
+ <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.openecomp.org.v10.EdgeTagQueryRequest" />
+ <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.openecomp.org.v10.SearchResults" />
+ <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.openecomp.org.v10.SdnZoneResponse" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EdgeTagQueryResult">
+ <xml-root-element name="edge-tag-query-result" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.openecomp.org.v10.TaggedInventoryItemList" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="TaggedInventoryItemList">
+ <xml-root-element name="tagged-inventory-item-list" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItem" name="inventory-item" type="inventory.aai.openecomp.org.v10.InventoryItem" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryItem">
+ <xml-root-element name="inventory-item" />
+ <java-attributes>
+ <xml-element java-attribute="inventoryItemType" name="inventory-item-type" type="java.lang.String" />
+ <xml-element java-attribute="inventoryItemLink" name="inventory-item-link" type="java.lang.String" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItemData" name="inventory-item-data" type="inventory.aai.openecomp.org.v10.InventoryItemData" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.openecomp.org.v10.TaggedInventoryItemList" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryItemData">
+ <xml-root-element name="inventory-item-data" />
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EdgeTagQueryRequest">
+ <xml-root-element name="edge-tag-query-request" />
+ <java-attributes>
+ <xml-element java-attribute="edgeTag" name="edge-tag" type="java.lang.String" />
+ <xml-element java-attribute="resultDetail" name="result-detail" type="java.lang.String" />
+ <xml-element java-attribute="startNodeType" name="start-node-type" type="java.lang.String" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="startNodeFilter" name="start-node-filter" type="inventory.aai.openecomp.org.v10.StartNodeFilter" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.openecomp.org.v10.IncludeNodeFilter" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.openecomp.org.v10.SecondaryFilter" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="StartNodeFilter">
+ <xml-root-element name="start-node-filter" />
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IncludeNodeFilter">
+ <xml-root-element name="include-node-filter" />
+ <java-attributes>
+ <xml-element java-attribute="includeNodeType" name="include-node-type" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilter">
+ <xml-root-element name="secondary-filter" />
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+ <xml-element java-attribute="filterType" name="filter-type" type="java.lang.String" />
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SearchResults">
+ <xml-root-element name="search-results" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="resultData" name="result-data" type="inventory.aai.openecomp.org.v10.ResultData" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ResultData">
+ <xml-root-element name="result-data" />
+ <java-attributes>
+ <xml-element java-attribute="resourceType" name="resource-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The specific type of node in the A&amp;AI graph" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceLink" name="resource-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The URL to the specific resource" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SdnZoneResponse">
+ <xml-root-element name="sdn-zone-response" />
+ <java-attributes>
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.openecomp.org.v10.OamNetworks" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.openecomp.org.v10.AzAndDvsSwitches" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AzAndDvsSwitches">
+ <xml-root-element name="az-and-dvs-switches" />
+ <java-attributes>
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.openecomp.org.v10.DvsSwitches" />
+ <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.openecomp.org.v10.AvailabilityZone" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Actions">
+ <xml-properties>
+ <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)." />
+ </xml-properties>
+ <xml-root-element name="actions" />
+ <java-attributes>
+ <xml-element java-attribute="update" name="update" type="inventory.aai.openecomp.org.v10.Update" />
+ <xml-element java-attribute="notify" name="notify" type="inventory.aai.openecomp.org.v10.Notify" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Update">
+ <xml-properties>
+ <xml-property name="description" value="Serves a PATCH like function. Does not enforce concurrency control. Clear each usage with AAI team." />
+ </xml-properties>
+ <xml-root-element name="update" />
+ <java-attributes>
+ <xml-element java-attribute="updateNodeType" name="update-node-type" required="true" type="java.lang.String" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="updateNodeKey" name="update-node-key" type="inventory.aai.openecomp.org.v10.UpdateNodeKey" />
+ <xml-element java-attribute="updateNodeUri" name="update-node-uri" type="java.lang.String" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="action" name="action" type="inventory.aai.openecomp.org.v10.Action" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Action">
+ <xml-root-element name="action" />
+ <java-attributes>
+ <xml-element java-attribute="actionType" name="action-type" type="java.lang.String" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="actionData" name="action-data" type="inventory.aai.openecomp.org.v10.ActionData" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ActionData">
+ <xml-root-element name="action-data" />
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="UpdateNodeKey">
+ <xml-root-element name="update-node-key" />
+ <java-attributes>
+ <xml-element java-attribute="keyName" name="key-name" type="java.lang.String" />
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Notify">
+ <xml-root-element name="notify" />
+ <java-attributes>
+ <xml-element java-attribute="eventId" name="event-id" required="true" type="java.lang.String" />
+ <xml-element java-attribute="nodeType" name="node-type" type="java.lang.String" />
+ <xml-element java-attribute="eventTrigger" name="event-trigger" type="java.lang.String" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="keyData" name="key-data" type="inventory.aai.openecomp.org.v10.KeyData" />
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="KeyData">
+ <xml-root-element name="key-data" />
+ <java-attributes>
+ <xml-element java-attribute="keyName" name="key-name" type="java.lang.String" />
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CloudInfrastructure">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for cloud infrastructure." />
+ </xml-properties>
+ <xml-root-element name="cloud-infrastructure" />
+ <java-attributes>
+ <xml-element java-attribute="complexes" name="complexes" type="inventory.aai.openecomp.org.v10.Complexes" />
+ <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.openecomp.org.v10.CloudRegions" />
+ <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.openecomp.org.v10.NetworkProfiles" />
+ <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.openecomp.org.v10.Pservers" />
+ <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.openecomp.org.v10.VirtualDataCenters" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CloudRegions">
+ <xml-root-element name="cloud-regions" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cloudRegion" name="cloud-region" type="inventory.aai.openecomp.org.v10.CloudRegion" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CloudRegion">
+ <xml-root-element name="cloud-region" />
+ <java-attributes>
+ <xml-element java-attribute="cloudOwner" name="cloud-owner" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifies the vendor and cloud name. First part of composite key should be formatted as vendor-cloudname" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudRegionId" name="cloud-region-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite key" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudType" name="cloud-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the cloud (e.g., openstack)" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ownerDefinedType" name="owner-defined-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Cloud-owner defined type indicator (e.g., dcp, lcp)" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudRegionVersion" name="cloud-region-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Software version employed at the site. NOTE - THIS FIELD IS NOT KEPT UP TO DATE." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL of the keystone identity service" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudZone" name="cloud-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Zone where the cloud is homed. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="complex name for cloud-region instance. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeGroups" name="volume-groups" type="inventory.aai.openecomp.org.v10.VolumeGroups" />
+ <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.openecomp.org.v10.Tenants" />
+ <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.openecomp.org.v10.Flavors" />
+ <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.openecomp.org.v10.GroupAssignments" />
+ <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.openecomp.org.v10.Snapshots" />
+ <xml-element java-attribute="images" name="images" type="inventory.aai.openecomp.org.v10.Images" />
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.openecomp.org.v10.DvsSwitches" />
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.openecomp.org.v10.OamNetworks" />
+ <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.openecomp.org.v10.AvailabilityZones" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation. In AT&amp;Ts AIC cloud, this could be an LCP or DCP. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname and we will use att-aic for AT&amp;T's AIC." />
+ <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type" />
+ <xml-property name="nameProps" value="owner-defined-type" />
+ <xml-property name="container" value="cloud-regions" />
+ <xml-property name="namespace" value="cloud-infrastructure" />
+ </xml-properties>
+ </java-type>
+ <java-type name="VolumeGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of persistent block-level storage." />
+ </xml-properties>
+ <xml-root-element name="volume-groups" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volumeGroup" name="volume-group" type="inventory.aai.openecomp.org.v10.VolumeGroup" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VolumeGroup">
+ <xml-root-element name="volume-group" />
+ <java-attributes>
+ <xml-element java-attribute="volumeGroupId" name="volume-group-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of volume-group." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeGroupName" name="volume-group-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the volume group." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this volume-group" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this volume-group" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfModuleModelCustomizationId" name="vf-module-model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="helps relate the volume group to the vf-module whose components will require the volume group" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persistent block-level storage." />
+ <xml-property name="indexedProps" value="volume-group-name,vnf-type,heat-stack-id,volume-group-id" />
+ <xml-property name="searchable" value="volume-group-id,volume-group-name" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="volume-groups" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="RelationshipList">
+ <xml-root-element name="relationship-list" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.openecomp.org.v10.Relationship" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Relationship">
+ <xml-root-element name="relationship" />
+ <java-attributes>
+ <xml-element java-attribute="relatedTo" name="related-to" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate type of node." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to the object in A&amp;AI." />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.openecomp.org.v10.RelationshipData" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.openecomp.org.v10.RelatedToProperty" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedToProperty">
+ <xml-root-element name="related-to-property" />
+ <java-attributes>
+ <xml-element java-attribute="propertyKey" name="property-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Key part of a key/value pair" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value part of a key/value pair" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelationshipData">
+ <xml-root-element name="relationship-data" />
+ <java-attributes>
+ <xml-element java-attribute="relationshipKey" name="relationship-key" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate an attribute." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipValue" name="relationship-value" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value of the attribute." />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Complexes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
+ </xml-properties>
+ <xml-root-element name="complexes" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="complex" name="complex" type="inventory.aai.openecomp.org.v10.Complex" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Complex">
+ <xml-root-element name="complex" />
+ <java-attributes>
+ <xml-element java-attribute="physicalLocationId" name="physical-location-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for physical location, e.g., CLLI" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dataCenterCode" name="data-center-code" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Data center code which can be an alternate way to identify a complex" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Gamma complex name for LCP instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL of the keystone identity service" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="physicalLocationType" name="physical-location-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type, e.g., central office, data center." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="street1" name="street1" required="true" type="java.lang.String" />
+ <xml-element java-attribute="street2" name="street2" type="java.lang.String" />
+ <xml-element java-attribute="city" name="city" required="true" type="java.lang.String" />
+ <xml-element java-attribute="state" name="state" type="java.lang.String" />
+ <xml-element java-attribute="postalCode" name="postal-code" required="true" type="java.lang.String" />
+ <xml-element java-attribute="country" name="country" required="true" type="java.lang.String" />
+ <xml-element java-attribute="region" name="region" required="true" type="java.lang.String" />
+ <xml-element java-attribute="latitude" name="latitude" type="java.lang.String" />
+ <xml-element java-attribute="longitude" name="longitude" type="java.lang.String" />
+ <xml-element java-attribute="elevation" name="elevation" type="java.lang.String" />
+ <xml-element java-attribute="lata" name="lata" type="java.lang.String" />
+ <xml-element java-attribute="ctagPools" name="ctag-pools" type="inventory.aai.openecomp.org.v10.CtagPools" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
+ <xml-property name="indexedProps" value="identity-url,data-center-code,complex-name,physical-location-id" />
+ <xml-property name="searchable" value="physical-location-id,data-center-code,complex-name,street1,street2,postal-code" />
+ <xml-property name="uniqueProps" value="physical-location-id" />
+ <xml-property name="container" value="complexes" />
+ <xml-property name="namespace" value="cloud-infrastructure" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CtagPools">
+ <xml-root-element name="ctag-pools" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagPool" name="ctag-pool" type="inventory.aai.openecomp.org.v10.CtagPool" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CtagPool">
+ <xml-root-element name="ctag-pool" />
+ <java-attributes>
+ <xml-element java-attribute="targetPe" name="target-pe" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="The Target provider edge router" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the availability zone" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ctagPoolPurpose" name="ctag-pool-purpose" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Describes what the intended purpose of this pool is." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ctagValues" name="ctag-values" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Comma separated list of ctags" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="A collection of C tags (vlan tags) grouped for a specific purpose." />
+ <xml-property name="indexedProps" value="availability-zone-name" />
+ <xml-property name="dependentOn" value="complex" />
+ <xml-property name="container" value="ctag-pools" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Tenants">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack tenants." />
+ </xml-properties>
+ <xml-root-element name="tenants" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tenant" name="tenant" type="inventory.aai.openecomp.org.v10.Tenant" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Tenant">
+ <xml-root-element name="tenant" />
+ <java-attributes>
+ <xml-element java-attribute="tenantId" name="tenant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id relative to the cloud-region." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tenantName" name="tenant-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Readable name of tenant" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vservers" name="vservers" type="inventory.aai.openecomp.org.v10.Vservers" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack tenant" />
+ <xml-property name="nameProps" value="tenant-name" />
+ <xml-property name="indexedProps" value="tenant-name,tenant-id" />
+ <xml-property name="searchable" value="tenant-id,tenant-name" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="tenants" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of virtual Servers, aka virtual machines or VMs." />
+ </xml-properties>
+ <xml-root-element name="vservers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vserver" name="vserver" type="inventory.aai.openecomp.org.v10.Vserver" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vserver">
+ <xml-root-element name="vserver" />
+ <java-attributes>
+ <xml-element java-attribute="vserverId" name="vserver-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for this vserver relative to its tenant" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverName" name="vserver-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of vserver" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverName2" name="vserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternative name of vserver" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverSelflink" name="vserver-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether closed loop function is enabled on this node" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumes" name="volumes" type="inventory.aai.openecomp.org.v10.Volumes" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Servers, aka virtual machine or VM." />
+ <xml-property name="nameProps" value="vserver-name" />
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2" />
+ <xml-property name="searchable" value="vserver-id,vserver-name,vserver-name2" />
+ <xml-property name="dependentOn" value="tenant" />
+ <xml-property name="container" value="vservers" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical interfaces." />
+ </xml-properties>
+ <xml-root-element name="l-interfaces" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lInterface" name="l-interface" type="inventory.aai.openecomp.org.v10.LInterface" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LInterface">
+ <xml-root-element name="l-interface" />
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name given to the interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="E.g., CUSTOMER, UPLINK, etc." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v6WanLinkIp" name="v6-wan-link-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="macaddr" name="macaddr" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="MAC address for the interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether A&amp;AI should be managing this interface of not. Could have value like CUSTOMER" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Human friendly text regarding this interface." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isPortMirrored" name="is-port-mirrored" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not port is a mirrored." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.openecomp.org.v10.Vlans" />
+ <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.openecomp.org.v10.SriovVfs" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v10.L3InterfaceIpv4AddressList" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v10.L3InterfaceIpv6AddressList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical interfaces, e.g., a vnic." />
+ <xml-property name="indexedProps" value="macaddr,interface-id,interface-name,network-name" />
+ <xml-property name="dependentOn" value="generic-vnf,newvce,vpe,p-interface,vserver,lag-interface" />
+ <xml-property name="container" value="l-interfaces" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SriovVfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of SR-IOV Virtual Functions." />
+ </xml-properties>
+ <xml-root-element name="sriov-vfs" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sriovVf" name="sriov-vf" type="inventory.aai.openecomp.org.v10.SriovVf" />
+ </java-attributes>
+ </java-type>
+ <java-type name="SriovVf">
+ <xml-root-element name="sriov-vf" />
+ <java-attributes>
+ <xml-element java-attribute="pciId" name="pci-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="PCI ID used to identify the sriov-vf" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanFilter" name="vf-vlan-filter" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This metadata provides option to specify list of VLAN filters applied on VF to pass the traffic to VM." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMacFilter" name="vf-mac-filter" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="When MAC filters are specified, VF-agent service configures VFs to do MAC level filtering before the traffic is passed to VM." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanStrip" name="vf-vlan-strip" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="When this field is set to true, VF will configured to strip the outer TAG before the traffic is passed to VM." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanAntiSpoofCheck" name="vf-vlan-anti-spoof-check" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option ensures anti VLAN spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMacAntiSpoofCheck" name="vf-mac-anti-spoof-check" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option ensures anti MAC spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMirrors" name="vf-mirrors" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This option defines the set of Mirror objects which essentially mirrors the traffic from source to set of collector VNF Ports." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfBroadcastAllow" name="vf-broadcast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows all broadcast traffic to reach the VM" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfUnknownMulticastAllow" name="vf-unknown-multicast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown multicast traffic to reach the VM" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfUnknownUnicastAllow" name="vf-unknown-unicast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown unicast traffic to reach the VM" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfInsertStag" name="vf-insert-stag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, instructs to insert outer tag after traffic comes out of VM." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfLinkStatus" name="vf-link-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This option is used to set the link status. Valid values as of 1607 are on, off, and auto." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="SR-IOV Virtual Function (not to be confused with virtual network function)" />
+ <xml-property name="indexedProps" value="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id" />
+ <xml-property name="dependentOn" value="l-interface" />
+ <xml-property name="container" value="sriov-vfs" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv4AddressList">
+ <xml-root-element name="l3-interface-ipv4-address-list" />
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv4Address" name="l3-interface-ipv4-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv4PrefixLength" name="l3-interface-ipv4-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 32 for single address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv4 Address Range" />
+ <xml-property name="indexedProps" value="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
+ <xml-property name="dependentOn" value="vlan,l-interface" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vlans">
+ <xml-root-element name="vlans" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vlan" name="vlan" type="inventory.aai.openecomp.org.v10.Vlan" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vlan">
+ <xml-root-element name="vlan" />
+ <java-attributes>
+ <xml-element java-attribute="vlanInterface" name="vlan-interface" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="String that identifies the interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanDescription" name="vlan-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to describe (the service associated with) the vlan" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="backdoorConnection" name="backdoor-connection" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether customer is going to use this VLAN for backdoor connection to another customer premise device." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnId" name="vpn-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C." />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v10.L3InterfaceIpv4AddressList" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v10.L3InterfaceIpv6AddressList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Definition of vlan" />
+ <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-id" />
+ <xml-property name="uniqueProps" value="vpn-id" />
+ <xml-property name="dependentOn" value="l-interface" />
+ <xml-property name="container" value="vlans" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv6AddressList">
+ <xml-root-element name="l3-interface-ipv6-address-list" />
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv6Address" name="l3-interface-ipv6-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv6PrefixLength" name="l3-interface-ipv6-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 128 for single address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv6 Address Range" />
+ <xml-property name="indexedProps" value="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
+ <xml-property name="dependentOn" value="vlan,l-interface" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Volumes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of ephemeral Block storage volumes." />
+ </xml-properties>
+ <xml-root-element name="volumes" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volume" name="volume" type="inventory.aai.openecomp.org.v10.Volume" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Volume">
+ <xml-root-element name="volume" />
+ <java-attributes>
+ <xml-element java-attribute="volumeId" name="volume-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of block storage volume relative to the vserver." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeSelflink" name="volume-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Ephemeral Block storage volume." />
+ <xml-property name="indexedProps" value="volume-id" />
+ <xml-property name="dependentOn" value="vserver" />
+ <xml-property name="container" value="volumes" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Flavors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack flavors." />
+ </xml-properties>
+ <xml-root-element name="flavors" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="flavor" name="flavor" type="inventory.aai.openecomp.org.v10.Flavor" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Flavor">
+ <xml-root-element name="flavor" />
+ <java-attributes>
+ <xml-element java-attribute="flavorId" name="flavor-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Flavor id, expected to be unique across cloud-region." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorName" name="flavor-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Flavor name" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorVcpus" name="flavor-vcpus" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Number of CPUs" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorRam" name="flavor-ram" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Amount of memory" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorDisk" name="flavor-disk" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Disk space" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorEphemeral" name="flavor-ephemeral" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Amount of ephemeral disk space" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorSwap" name="flavor-swap" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="amount of swap space allocation" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorIsPublic" name="flavor-is-public" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="whether flavor is available to all users or private to the tenant it was created in." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorSelflink" name="flavor-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorDisabled" name="flavor-disabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Boolean as to whether this flavor is no longer enabled" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack flavor." />
+ <xml-property name="nameProps" value="flavor-name" />
+ <xml-property name="indexedProps" value="flavor-name,flavor-id" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="flavors" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Snapshots">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack snapshots" />
+ </xml-properties>
+ <xml-root-element name="snapshots" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="snapshot" name="snapshot" type="inventory.aai.openecomp.org.v10.Snapshot" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Snapshot">
+ <xml-root-element name="snapshot" />
+ <java-attributes>
+ <xml-element java-attribute="snapshotId" name="snapshot-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Snapshot id, this is the key UUID assoc associated in glance with the snapshots." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotName" name="snapshot-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Snapshot name" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotArchitecture" name="snapshot-architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operating system architecture" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotOsDistro" name="snapshot-os-distro" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The common name of the operating system distribution in lowercase" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotOsVersion" name="snapshot-os-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The operating system version as specified by the distributor." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotSelflink" name="snapshot-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="prevSnapshotId" name="prev-snapshot-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field contains the UUID of the previous snapshot (if any)." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack snapshot" />
+ <xml-property name="nameProps" value="snapshot-name" />
+ <xml-property name="uniqueProps" value="snapshot-id" />
+ <xml-property name="indexedProps" value="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="snapshots" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GroupAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack group assignments" />
+ </xml-properties>
+ <xml-root-element name="group-assignments" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="groupAssignment" name="group-assignment" type="inventory.aai.openecomp.org.v10.GroupAssignment" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="GroupAssignment">
+ <xml-root-element name="group-assignment" />
+ <java-attributes>
+ <xml-element java-attribute="groupId" name="group-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Group id, expected to be unique across cloud-region." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupType" name="group-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group type - the type of group this instance refers to" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupName" name="group-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group name - name assigned to the group" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupDescription" name="group-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group description - description of the group" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack group-assignment used to store exclusivity groups (EG)." />
+ <xml-property name="nameProps" value="group-name" />
+ <xml-property name="indexedProps" value="group-id,group-type,group-name" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="group-assignments" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Images">
+ <xml-properties>
+ <xml-property name="description" value="Collectio of Openstack images." />
+ </xml-properties>
+ <xml-root-element name="images" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="image" name="image" type="inventory.aai.openecomp.org.v10.Image" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Image">
+ <xml-root-element name="image" />
+ <java-attributes>
+ <xml-element java-attribute="imageId" name="image-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Image id, expected to be unique across cloud region" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageName" name="image-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Image name" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageArchitecture" name="image-architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operating system architecture." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageOsDistro" name="image-os-distro" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The common name of the operating system distribution in lowercase" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageOsVersion" name="image-os-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The operating system version as specified by the distributor." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageSelflink" name="image-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v10.Metadata" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack image." />
+ <xml-property name="nameProps" value="image-name" />
+ <xml-property name="indexedProps" value="application,image-name,application-vendor,image-id,application-version" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="images" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Metadata">
+ <xml-properties>
+ <xml-property name="description" value="Collection of metadatum (key/value pairs)" />
+ </xml-properties>
+ <xml-root-element name="metadata" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="metadatum" name="metadatum" type="inventory.aai.openecomp.org.v10.Metadatum" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Metadatum">
+ <xml-root-element name="metadatum" />
+ <java-attributes>
+ <xml-element java-attribute="metaname" name="metaname" required="true" type="java.lang.String" xml-key="true" />
+ <xml-element java-attribute="metaval" name="metaval" required="true" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Key/value pairs" />
+ <xml-property name="indexedProps" value="metaname" />
+ <xml-property name="dependentOn" value="tenant,image,service-instance,connector,model" />
+ <xml-property name="container" value="metadata" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="DvsSwitches">
+ <xml-properties>
+ <xml-property name="description" value="Collection of digital virtual switch metadata used for vmWare VCEs and VPEs." />
+ </xml-properties>
+ <xml-root-element name="dvs-switches" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="dvsSwitch" name="dvs-switch" type="inventory.aai.openecomp.org.v10.DvsSwitch" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="DvsSwitch">
+ <xml-root-element name="dvs-switch" />
+ <java-attributes>
+ <xml-element java-attribute="switchName" name="switch-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="DVS switch name" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcenterUrl" name="vcenter-url" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL used to reach the vcenter" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Digital virtual switch metadata, used by SDN-C to configure VCEs. A&amp;AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&amp;AI. " />
+ <xml-property name="indexedProps" value="vcenter-url,switch-name" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="dvs-switches" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="NetworkProfiles">
+ <xml-properties>
+ <xml-property name="description" value="Collection of network profiles" />
+ </xml-properties>
+ <xml-root-element name="network-profiles" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkProfile" name="network-profile" type="inventory.aai.openecomp.org.v10.NetworkProfile" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NetworkProfile">
+ <xml-root-element name="network-profile" />
+ <java-attributes>
+ <xml-element java-attribute="nmProfileName" name="nm-profile-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique name of network profile." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="communityString" name="community-string" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encrypted SNMP community string" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Network profile populated by SDN-GP for SNMP" />
+ <xml-property name="indexedProps" value="nm-profile-name" />
+ <xml-property name="container" value="network-profiles" />
+ <xml-property name="namespace" value="cloud-infrastructure" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of compute hosts." />
+ </xml-properties>
+ <xml-root-element name="pservers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pserver" name="pserver" type="inventory.aai.openecomp.org.v10.Pserver" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pserver">
+ <xml-root-element name="pserver" />
+ <java-attributes>
+ <xml-element java-attribute="hostname" name="hostname" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value from executing hostname on the compute node." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ptniiEquipName" name="ptnii-equip-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="PTNII name" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="numberOfCpus" name="number-of-cpus" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Number of cpus" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="diskInGigabytes" name="disk-in-gigabytes" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Disk size, in GBs" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ramInMegabytes" name="ram-in-megabytes" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="RAM size, in MBs" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment type. Source of truth should define valid values." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment vendor. Source of truth should define valid values." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment model. Source of truth should define valid values." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="fqdn" name="fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Fully-qualified domain name" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverSelflink" name="pserver-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to configure device, also used for troubleshooting and is IP used for traps generated by device." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Serial number, may be queried" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 Loopback 0 address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 Loopback 0 address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 AIM address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 AIM address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 OAM address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CANOPI's inventory status. Only set with values exactly as defined by CANOPI." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverId" name="pserver-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of Pserver" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="internetTopology" name="internet-topology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="internet topology of Pserver" />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverName2" name="pserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="alternative pserver name" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="purpose of pserver" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v10.PInterfaces" />
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver." />
+ <xml-property name="nameProps" value="pserver-name2" />
+ <xml-property name="indexedProps" value="hostname,in-maint,pserver-id,pserver-name2,inv-status" />
+ <xml-property name="searchable" value="hostname,pserver-name2,pserver-id,ipv4-oam-address" />
+ <xml-property name="container" value="pservers" />
+ <xml-property name="namespace" value="cloud-infrastructure" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical interfaces." />
+ </xml-properties>
+ <xml-root-element name="p-interfaces" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pInterface" name="p-interface" type="inventory.aai.openecomp.org.v10.PInterface" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PInterface">
+ <xml-root-element name="p-interface" />
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the physical interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portDescription" name="port-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Nature of the services and connectivity on this port." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentIdentifier" name="equipment-identifier" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CLEI or other specification for p-interface hardware." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role specification for p-interface hardware." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceType" name="interface-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the physical properties of the interface." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Physical interface (e.g., nic)" />
+ <xml-property name="indexedProps" value="interface-name,prov-status" />
+ <xml-property name="nameProps" value="prov-status" />
+ <xml-property name="dependentOn" value="vpls-pe,pserver,pnf" />
+ <xml-property name="container" value="p-interfaces" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LagInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregate interfaces." />
+ </xml-properties>
+ <xml-root-element name="lag-interfaces" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagInterface" name="lag-interface" type="inventory.aai.openecomp.org.v10.LagInterface" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LagInterface">
+ <xml-root-element name="lag-interface" />
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the link aggregate interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Human friendly text regarding this interface." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Link aggregate interface" />
+ <xml-property name="indexedProps" value="interface-name,interface-id,interface-role" />
+ <xml-property name="dependentOn" value="generic-vnf,pserver,vpe,vpls-pe,pnf" />
+ <xml-property name="container" value="lag-interfaces" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="OamNetworks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of OAM networks, to be deprecated shortly. Do not use for new purposes. " />
+ </xml-properties>
+ <xml-root-element name="oam-networks" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="oamNetwork" name="oam-network" type="inventory.aai.openecomp.org.v10.OamNetwork" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OamNetwork">
+ <xml-root-element name="oam-network" />
+ <java-attributes>
+ <xml-element java-attribute="networkUuid" name="network-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the network. Unique across a cloud-region" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="cvlan-id" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="OAM network, to be deprecated shortly. Do not use for new purposes. " />
+ <xml-property name="nameProps" value="network-name" />
+ <xml-property name="indexedProps" value="cvlan-tag,network-uuid,network-name" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="oam-networks" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="AvailabilityZones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of availability zones" />
+ </xml-properties>
+ <xml-root-element name="availability-zones" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.openecomp.org.v10.AvailabilityZone" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AvailabilityZone">
+ <xml-root-element name="availability-zone" />
+ <java-attributes>
+ <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the availability zone. Unique across a cloud region" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hypervisorType" name="hypervisor-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of hypervisor. Source of truth should define valid values." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="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.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Availability zone, a collection of compute hosts/pservers" />
+ <xml-property name="indexedProps" value="availability-zone-name" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="availability-zones" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VirtualDataCenters">
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
+ </xml-properties>
+ <xml-root-element name="virtual-data-centers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="virtualDataCenter" name="virtual-data-center" type="inventory.aai.openecomp.org.v10.VirtualDataCenter" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VirtualDataCenter">
+ <xml-root-element name="virtual-data-center" />
+ <java-attributes>
+ <xml-element java-attribute="vdcId" name="vdc-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the vdc" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdcName" name="vdc-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the virtual data center" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
+ <xml-property name="nameProps" value="vdc-name" />
+ <xml-property name="indexedProps" value="vdc-name,vdc-id" />
+ <xml-property name="container" value="virtual-data-centers" />
+ <xml-property name="namespace" value="cloud-infrastructure" />
+ </xml-properties>
+ </java-type>
+
+
+
+
+ <java-type name="Business">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for business related constructs" />
+ </xml-properties>
+ <xml-root-element name="business" />
+ <java-attributes>
+ <xml-element java-attribute="connectors" name="connectors" type="inventory.aai.openecomp.org.v10.Connectors" />
+ <xml-element java-attribute="customers" name="customers" type="inventory.aai.openecomp.org.v10.Customers" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Connectors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
+ </xml-properties>
+ <xml-root-element name="connectors" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="connector" name="connector" type="inventory.aai.openecomp.org.v10.Connector" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Connector">
+ <xml-root-element name="connector" />
+ <java-attributes>
+ <xml-element java-attribute="resourceInstanceId" name="resource-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of resource instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-invariant-id-local" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-version-id-local" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="internal" />
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v10.Metadata" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
+ <xml-property name="indexedProps" value="resource-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version" />
+ <xml-property name="container" value="connectors" />
+ <xml-property name="namespace" value="business" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Customers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information." />
+ </xml-properties>
+ <xml-root-element name="customers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.openecomp.org.v10.Customer" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Customer">
+ <xml-root-element name="customer" />
+ <java-attributes>
+ <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Global customer id used across ECOMP to uniquely identify customer." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber name, an alternate way to retrieve a customer." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberType" name="subscriber-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber type, a way to provide VID with only the INFRA customers." />
+ <xml-property name="defaultValue" value="CUST" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSubscriptions" name="service-subscriptions" type="inventory.aai.openecomp.org.v10.ServiceSubscriptions" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="customer identifiers to provide linkage back to BSS information." />
+ <xml-property name="nameProps" value="subscriber-name" />
+ <xml-property name="indexedProps" value="subscriber-name,global-customer-id,subscriber-type" />
+ <xml-property name="searchable" value="global-customer-id,subscriber-name" />
+ <xml-property name="uniqueProps" value="global-customer-id" />
+ <xml-property name="container" value="customers" />
+ <xml-property name="namespace" value="business" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceSubscriptions">
+ <xml-properties>
+ <xml-property name="description" value="Collection of objects that group service instances." />
+ </xml-properties>
+ <xml-root-element name="service-subscriptions" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceSubscription" name="service-subscription" type="inventory.aai.openecomp.org.v10.ServiceSubscription" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceSubscription">
+ <xml-root-element name="service-subscription" />
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value defined by orchestration to identify this service across ECOMP." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tempUbSubAccountId" name="temp-ub-sub-account-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This property will be deleted from A&amp;AI in the near future. Only stop gap solution." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstances" name="service-instances" type="inventory.aai.openecomp.org.v10.ServiceInstances">
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Object that group service instances." />
+ <xml-property name="indexedProps" value="service-type" />
+ <xml-property name="dependentOn" value="customer" />
+ <xml-property name="container" value="service-subscriptions" />
+ <xml-property name="crossEntityReference" value="service-instance,service-type" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceInstances">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service instances" />
+ </xml-properties>
+ <xml-root-element name="service-instances" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceInstance" name="service-instance" type="inventory.aai.openecomp.org.v10.ServiceInstance" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceInstance">
+ <xml-root-element name="service-instance" />
+ <java-attributes>
+ <xml-element java-attribute="serviceInstanceId" name="service-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Uniquely identifies this instance of a service" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstanceName" name="service-instance-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field will store a name assigned to the service-instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-invariant-id-local" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-version-id-local" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="internal" />
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthTotal" name="bandwidth-total" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the total bandwidth to be used for this service." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN1 port of the physical device." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN1 port of the physical device." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN2 port of the physical device." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN2 port of the physical device." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vhnPortalUrl" name="vhn-portal-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL customers will use to access the vHN Portal." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operational status of the service-instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstanceLocationId" name="service-instance-location-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="An identifier that customers assign to the location where this service is being used." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this service." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v10.Metadata" />
+ <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.openecomp.org.v10.AllottedResources" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Instance of a service" />
+ <xml-property name="indexedProps" value="service-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status" />
+ <xml-property name="nameProps" value="service-instance-name" />
+ <xml-property name="searchable" value="service-instance-id,service-instance-name" />
+ <xml-property name="uniqueProps" value="service-instance-id" />
+ <xml-property name="dependentOn" value="service-subscription" />
+ <xml-property name="container" value="service-instances" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceDesignAndCreation">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for objects managed by ASDC" />
+ </xml-properties>
+ <xml-root-element name="service-design-and-creation" />
+ <java-attributes>
+ <xml-element java-attribute="vnfImages" name="vnf-images" type="inventory.aai.openecomp.org.v10.VnfImages" />
+ <xml-element java-attribute="services" name="services" type="inventory.aai.openecomp.org.v10.Services" />
+ <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.openecomp.org.v10.ServiceCapabilities" />
+ <xml-element java-attribute="models" name="models" type="inventory.aai.openecomp.org.v10.Models" />
+ <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.openecomp.org.v10.NamedQueries" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VnfImages">
+ <xml-properties>
+ <xml-property name="description" value="Collection of image objects that pertain to a VNF that doesn't have associated vservers. This is a kludge." />
+ </xml-properties>
+ <xml-root-element name="vnf-images" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfImage" name="vnf-image" type="inventory.aai.openecomp.org.v10.VnfImage" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VnfImage">
+ <xml-root-element name="vnf-image" />
+ <java-attributes>
+ <xml-element java-attribute="vnfImageUuid" name="vnf-image-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of this asset" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Image object that pertain to a VNF that doesn't have associated vservers. This is a kludge." />
+ <xml-property name="indexedProps" value="application,vnf-image-uuid,application-vendor,application-version" />
+ <xml-property name="uniqueProps" value="vnf-image-uuid" />
+ <xml-property name="container" value="vnf-images" />
+ <xml-property name="namespace" value="service-design-and-creation" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Services">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service model definitions. Likely to be deprecated in favor of models from ASDC." />
+ </xml-properties>
+ <xml-root-element name="services" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.openecomp.org.v10.Service" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Service">
+ <xml-root-element name="service" />
+ <java-attributes>
+ <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description of the service" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="service version" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Stand-in for service model definitions. Likely to be deprecated in favor of models from ASDC. Does not strictly map to ASDC services." />
+ <xml-property name="indexedProps" value="service-description,service-id" />
+ <xml-property name="container" value="services" />
+ <xml-property name="namespace" value="service-design-and-creation" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceCapabilities">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service capabilities." />
+ </xml-properties>
+ <xml-root-element name="service-capabilities" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceCapability" name="service-capability" type="inventory.aai.openecomp.org.v10.ServiceCapability" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceCapability">
+ <xml-root-element name="service-capability" />
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Early definition of server/resource pairings, likely to be replaced by models. No new use should be made of this." />
+ <xml-property name="indexedProps" value="service-type,vnf-type" />
+ <xml-property name="container" value="service-capabilities" />
+ <xml-property name="namespace" value="service-design-and-creation" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Network">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for network inventory resources." />
+ </xml-properties>
+ <xml-root-element name="network" />
+ <java-attributes>
+ <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.openecomp.org.v10.LogicalLinks" />
+ <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.openecomp.org.v10.SitePairSets" />
+ <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.openecomp.org.v10.VpnBindings" />
+ <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.openecomp.org.v10.VplsPes" />
+ <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.openecomp.org.v10.MulticastConfigurations" />
+ <xml-element java-attribute="vces" name="vces" type="inventory.aai.openecomp.org.v10.Vces" />
+ <xml-element java-attribute="vpes" name="vpes" type="inventory.aai.openecomp.org.v10.Vpes" />
+ <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.openecomp.org.v10.Vnfcs" />
+ <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.openecomp.org.v10.L3Networks" />
+ <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.openecomp.org.v10.NetworkPolicies" />
+ <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.openecomp.org.v10.GenericVnfs" />
+ <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.openecomp.org.v10.LagLinks" />
+ <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.openecomp.org.v10.Newvces" />
+ <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.openecomp.org.v10.Pnfs" />
+ <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.openecomp.org.v10.PhysicalLinks" />
+ <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.openecomp.org.v10.IpsecConfigurations" />
+ <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.openecomp.org.v10.RouteTableReferences" />
+ <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.openecomp.org.v10.InstanceGroups" />
+ <xml-element java-attribute="zones" name="zones" type="inventory.aai.openecomp.org.v10.Zones" />
+ <xml-element java-attribute="testObjects" name="test-objects"
+ type="inventory.aai.openecomp.org.v10.TestObjects" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LogicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical connections" />
+ </xml-properties>
+ <xml-root-element name="logical-links" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.openecomp.org.v10.LogicalLink" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LogicalLink">
+ <xml-root-element name="logical-link" />
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of logical link, e.g., evc" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4, v6, or ds for dual stack" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routingProtocol" name="routing-protocol" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="For example, static or BGP" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-invariant-id-local" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-version-id-local" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="internal" />
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of operational status of the logical link." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkRole" name="link-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of the network use of the logical link." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkName2" name="link-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alias or alternate name (CLCI or D1 name)." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkId" name="link-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the logical-link, SDNC generates this." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Circuit id" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Reason for this entity, role it is playing" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points" />
+ <xml-property name="indexedProps" value="link-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose" />
+ <xml-property name="uniqueProps" value="link-id" />
+ <xml-property name="container" value="logical-links" />
+ <xml-property name="namespace" value="network" />
+ <xml-property name="searchable" value="link-name" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SitePairSets">
+ <xml-properties>
+ <xml-property name="description" value="Collection of sets of instances for probes related to generic-vnf" />
+ </xml-properties>
+ <xml-root-element name="site-pair-sets" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePairSet" name="site-pair-set" type="inventory.aai.openecomp.org.v10.SitePairSet" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SitePairSet">
+ <xml-root-element name="site-pair-set" />
+ <java-attributes>
+ <xml-element java-attribute="sitePairSetId" name="site-pair-set-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of site pair set." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routingInstances" name="routing-instances" type="inventory.aai.openecomp.org.v10.RoutingInstances" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Set of instances for probes used to measure service level agreements" />
+ <xml-property name="indexedProps" value="site-pair-set-id" />
+ <xml-property name="uniqueProps" value="site-pair-set-id" />
+ <xml-property name="container" value="site-pair-sets" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="RoutingInstances">
+ <xml-properties>
+ <xml-property name="description" value="set of probes related to generic-vnf routing instance" />
+ </xml-properties>
+ <xml-root-element name="routing-instances" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routingInstance" name="routing-instance" type="inventory.aai.openecomp.org.v10.RoutingInstance" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RoutingInstance">
+ <xml-root-element name="routing-instance" />
+ <java-attributes>
+ <xml-element java-attribute="routingInstanceId" name="routing-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of routing instance" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="rpmOwner" name="rpm-owner" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="rpm owner" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sitePairs" name="site-pairs" type="inventory.aai.openecomp.org.v10.SitePairs" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="routing-instance-id" />
+ <xml-property name="uniqueProps" value="routing-instance-id" />
+ <xml-property name="dependentOn" value="site-pair-set" />
+ <xml-property name="container" value="routing-instances" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SitePairs">
+ <xml-properties>
+ <xml-property name="description" value="probe within a set" />
+ </xml-properties>
+ <xml-root-element name="site-pairs" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePair" name="site-pair" type="inventory.aai.openecomp.org.v10.SitePair" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SitePair">
+ <xml-root-element name="site-pair" />
+ <java-attributes>
+ <xml-element java-attribute="sitePairId" name="site-pair-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceIp" name="source-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prefix address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationIp" name="destination-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prefix address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip version, v4, v6" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationHostname" name="destination-hostname" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Hostname of the destination equipment to which SLAs are measured against." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationEquipType" name="destination-equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The type of destinatination equipment. Could be Router, etc." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="classesOfService" name="classes-of-service" type="inventory.aai.openecomp.org.v10.ClassesOfService" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="site-pair-id" />
+ <xml-property name="uniqueProps" value="site-pair-id" />
+ <xml-property name="dependentOn" value="routing-instance" />
+ <xml-property name="container" value="site-pairs" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ClassesOfService">
+ <xml-properties>
+ <xml-property name="description" value="class-of-service of probe" />
+ </xml-properties>
+ <xml-root-element name="classes-of-service" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="classOfService" name="class-of-service" type="inventory.aai.openecomp.org.v10.ClassOfService" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ClassOfService">
+ <xml-root-element name="class-of-service" />
+ <java-attributes>
+ <xml-element java-attribute="cos" name="cos" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="probeId" name="probe-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of probe" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="probeType" name="probe-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="type of probe" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="cos" />
+ <xml-property name="dependentOn" value="site-pair" />
+ <xml-property name="container" value="classes-of-service" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VpnBindings">
+ <xml-root-element name="vpn-bindings" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vpnBinding" name="vpn-binding" type="inventory.aai.openecomp.org.v10.VpnBinding" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VpnBinding">
+ <xml-root-element name="vpn-binding" />
+ <java-attributes>
+ <xml-element java-attribute="vpnId" name="vpn-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="VPN ID, globally unique within A&amp;AI" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnName" name="vpn-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="VPN Name" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="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="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" 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="routeTargets" name="route-targets" type="inventory.aai.openecomp.org.v10.RouteTargets" />
+
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList">
+ <xml-properties>
+ <xml-property name="description" value="l3-networks relate to vpn-bindings" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPN binding" />
+ <xml-property name="nameProps" value="vpn-name,vpn-type" />
+ <xml-property name="indexedProps" value="vpn-name,vpn-id,global-route-target,vpn-type" />
+ <xml-property name="searchable" value="vpn-id,vpn-name" />
+ <xml-property name="uniqueProps" value="vpn-id" />
+ <xml-property name="container" value="vpn-bindings" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+ <java-type name="RouteTargets">
+ <xml-properties>
+ <xml-property name="description" value="Collection of route target information" />
+ </xml-properties>
+ <xml-root-element name="route-targets" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routeTarget" name="route-target" type="inventory.aai.openecomp.org.v10.RouteTarget" />
+ </java-attributes>
+ </java-type>
+ <java-type name="RouteTarget">
+ <xml-root-element name="route-target" />
+ <java-attributes>
+ <xml-element java-attribute="globalRouteTarget" name="global-route-target" required="true" xml-key="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Number used to identify an RT, globally unique in the network" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTargetRole" name="route-target-role" required="true" xml-key="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this route target" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Route target information" />
+ <xml-property name="container" value="route-targets" />
+ <xml-property name="canBeLinked" value="true" />
+ </xml-properties>
+ </java-type>
+ <java-type name="VplsPes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VPLS Provider Edge routers" />
+ </xml-properties>
+ <xml-root-element name="vpls-pes" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vplsPe" name="vpls-pe" type="inventory.aai.openecomp.org.v10.VplsPe" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VplsPe">
+ <xml-root-element name="vpls-pe" />
+ <java-attributes>
+ <xml-element java-attribute="equipmentName" name="equipment-name" required="true" type="java.lang.String" xml-key="true" />
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value, e.g., VPLS-PE." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Temporary location for stag to get to VCE" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v10.PInterfaces" />
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPLS Provider Edge routers." />
+ <xml-property name="indexedProps" value="prov-status,equipment-name" />
+ <xml-property name="container" value="vpls-pes" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="MulticastConfigurations">
+ <xml-properties>
+ <xml-property name="description" value="multicast configuration of generic-vnf ip-address" />
+ </xml-properties>
+ <xml-root-element name="multicast-configurations" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="multicastConfiguration" name="multicast-configuration" type="inventory.aai.openecomp.org.v10.MulticastConfiguration" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="MulticastConfiguration">
+ <xml-root-element name="multicast-configuration" />
+ <java-attributes>
+ <xml-element java-attribute="multicastConfigurationId" name="multicast-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of multicast configuration." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="multicastProtocol" name="multicast-protocol" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="protocol of multicast configuration" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="rpType" name="rp-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="rp type of multicast configuration" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="multicast-configuration-id" />
+ <xml-property name="uniqueProps" value="multicast-configuration-id" />
+ <xml-property name="container" value="multicast-configurations" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Virtual Customer Edge Routers, used specifically for Gamma. This object is deprecated." />
+ </xml-properties>
+ <xml-root-element name="vces" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vce" name="vce" type="inventory.aai.openecomp.org.v10.Vce" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vce">
+ <xml-root-element name="vce" />
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="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="OBSOLETE - do not use" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network role being played by this VNF" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpeId" name="vpe-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of VPE connected to this VCE." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v6VceWanAddress" name="v6-vce-wan-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Valid v6 IP address for the WAN Link on this router. Implied length of /64." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure vce, also used for troubleshooting and is IP used for traps generated by VCE." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Loopback0 address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - see child relationships" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroups" name="port-groups" type="inventory.aai.openecomp.org.v10.PortGroups" />
+ <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v10.Licenses" />
+ <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v10.Entitlements" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Customer Edge Router, used specifically for Gamma. This object is deprecated." />
+ <xml-property name="nameProps" value="vnf-name" />
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id" />
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
+ <xml-property name="uniqueProps" value="vnf-id" />
+ <xml-property name="container" value="vces" />
+ <xml-property name="namespace" value="network" />
+ <xml-property name="extends" value="vnf" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PortGroups">
+ <xml-root-element name="port-groups" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="portGroup" name="port-group" type="inventory.aai.openecomp.org.v10.PortGroup" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PortGroup">
+ <xml-root-element name="port-group" />
+ <java-attributes>
+ <xml-element java-attribute="interfaceId" name="interface-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of this Interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkName" name="neutron-network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network name of this Interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupId" name="port-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for port group in vmware" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupName" name="port-group-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Likely to duplicate value of neutron network name" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="switchName" name="switch-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="DVS or standard switch name (should be non-null for port groups associated with DVS)" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlanTags" name="cvlan-tags" type="inventory.aai.openecomp.org.v10.CvlanTags" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Used to capture the network interfaces of this VCE" />
+ <xml-property name="nameProps" value="port-group-name" />
+ <xml-property name="indexedProps" value="port-group-id,heat-stack-id,interface-id,interface-name,switch-name" />
+ <xml-property name="dependentOn" value="vce" />
+ <xml-property name="container" value="port-groups" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CvlanTags">
+ <xml-root-element name="cvlan-tags" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cvlanTagEntry" name="cvlan-tag-entry" type="inventory.aai.openecomp.org.v10.CvlanTagEntry" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CvlanTagEntry">
+ <xml-root-element name="cvlan-tag-entry" />
+ <java-attributes>
+ <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="See mis-na-virtualization-platform.yang" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="dependentOn" value="port-group" />
+ <xml-property name="indexedProps" value="cvlan-tag" />
+ <xml-property name="container" value="cvlan-tags" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vpes">
+ <xml-properties>
+ <xml-property name="description" value="Virtual provider edge router. In 1504, A&amp;AI will populate this object through an M&amp;P and tool provided to operations." />
+ </xml-properties>
+ <xml-root-element name="vpes" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vpe" name="vpe" type="inventory.aai.openecomp.org.v10.Vpe" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vpe">
+ <xml-root-element name="vpe" />
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service. Does not map strictly to ASDC services. SOON TO BE DEPRECATED" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="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="OBSOLETE - do not use. See child relationships." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length for oam-address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Gateway address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v4Loopback0IpAddress" name="v4-loopback0-ip-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Loopback0 address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Temporary location for stag to get to VCE" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="as-number of the VPE" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="details regarding the vpe operation, PLEASE DISCONTINUE USE OF THIS FIELD." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether vpe access uses SSH" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
+ <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v10.Licenses" />
+ <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v10.Entitlements" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Relationship-list must include related to info for complex." />
+ <xml-property name="nameProps" value="vnf-name" />
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,regional-resource-zone,prov-status,service-id" />
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
+ <xml-property name="uniqueProps" value="vnf-id" />
+ <xml-property name="container" value="vpes" />
+ <xml-property name="namespace" value="network" />
+ <xml-property name="extends" value="vnf" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vnfcs">
+ <xml-properties>
+ <xml-property name="description" value="virtual network components associated with a vserver from application controller." />
+ </xml-properties>
+ <xml-root-element name="vnfcs" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfc" name="vnfc" type="inventory.aai.openecomp.org.v10.Vnfc" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vnfc">
+ <xml-root-element name="vnfc" />
+ <java-attributes>
+ <xml-element java-attribute="vnfcName" name="vnfc-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vnfc." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfcFunctionCode" name="vnfc-function-code" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="function code" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfcType" name="vnfc-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="type" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="prov status of this vnfc" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by APP-C" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4OamVip" name="ipaddress-v4-oam-vip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Oam V4 vip address of this vnfc" />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupNotation" name="group-notation" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group notation of VNFC" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vnfc-name,prov-status,vnfc-type,vnfc-function-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation" />
+ <xml-property name="searchable" value="vnfc-name" />
+ <xml-property name="container" value="vnfcs" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3Networks">
+ <xml-root-element name="l3-networks" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3Network" name="l3-network" type="inventory.aai.openecomp.org.v10.L3Network" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="L3Network">
+ <xml-root-element name="l3-network" />
+ <java-attributes>
+ <xml-element java-attribute="networkId" name="network-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Network ID, should be uuid. Unique across A&amp;AI." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network, governed by some naming convention.." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkType" name="network-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the network - who defines these values?" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkRole" name="network-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role the network plans - who defines these values?" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkTechnology" name="network-technology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network technology - who defines these values?" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of this Interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="isBoundToVpn" name="is-bound-to-vpn" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Set to true if bound to VPN" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service from ASDC. Does not strictly map to ASDC services. SOON TO BE DEPRECATED" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkRoleInstance" name="network-role-instance" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="network role instance" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailNetworkFqdn" name="contrail-network-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contrail FQDN for the network" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-invariant-id-local" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-version-id-local" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="internal" />
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="physicalNetworkName" name="physical-network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name associated with the physical network." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isProviderNetwork" name="is-provider-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is a provider network." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isSharedNetwork" name="is-shared-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is a shared network." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isExternalNetwork" name="is-external-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is an external network." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnets" name="subnets" type="inventory.aai.openecomp.org.v10.Subnets" />
+ <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.openecomp.org.v10.CtagAssignments" />
+ <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.openecomp.org.v10.SegmentationAssignments" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" >
+ <xml-properties>
+ <xml-property name="description" value="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Generic network definition" />
+ <xml-property name="nameProps" value="network-name" />
+ <xml-property name="indexedProps" value="heat-stack-id,network-uuid,service-id,network-id,network-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-network-fqdn,network-role" />
+ <xml-property name="searchable" value="network-id,network-name" />
+ <xml-property name="uniqueProps" value="network-id" />
+ <xml-property name="container" value="l3-networks" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+ <java-type name="NetworkPolicies">
+ <xml-root-element name="network-policies" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkPolicy" name="network-policy" type="inventory.aai.openecomp.org.v10.NetworkPolicy" />
+ </java-attributes>
+ </java-type>
+ <java-type name="NetworkPolicy">
+ <xml-root-element name="network-policy" />
+ <java-attributes>
+ <xml-element java-attribute="networkPolicyId" name="network-policy-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID representing unique key to this instance" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkPolicyFqdn" name="network-policy-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contrail FQDN for the policy" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID for the openStack Heat instance" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="nameProps" value="network-policy-fqdn" />
+ <xml-property name="indexedProps" value="network-policy-id,network-policy-fqdn" />
+ <xml-property name="searchable" value="network-policy-id,network-policy-fqdn" />
+ <xml-property name="uniqueProps" value="network-policy-id" />
+ <xml-property name="container" value="network-policies" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+ <java-type name="CtagAssignments">
+ <xml-root-element name="ctag-assignments" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagAssignment" name="ctag-assignment" type="inventory.aai.openecomp.org.v10.CtagAssignment" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CtagAssignment">
+ <xml-root-element name="ctag-assignment" />
+ <java-attributes>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="id." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vlan-id-inner" />
+ <xml-property name="dependentOn" value="l3-network" />
+ <xml-property name="container" value="ctag-assignments" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Subnets">
+ <xml-root-element name="subnets" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="subnet" name="subnet" type="inventory.aai.openecomp.org.v10.Subnet" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Subnet">
+ <xml-root-element name="subnet" />
+ <java-attributes>
+ <xml-element java-attribute="subnetId" name="subnet-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Subnet ID, should be UUID." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnetName" name="subnet-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name associated with the subnet." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of this subnet" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="gatewayAddress" name="gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="gateway ip address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkStartAddress" name="network-start-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="network start address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cidrMask" name="cidr-mask" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="cidr mask" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip version" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="dhcpEnabled" name="dhcp-enabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="dhcp enabled" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpStart" name="dhcp-start" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the start address reserved for use by dhcp" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpEnd" name="dhcp-end" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the last address reserved for use by dhcp" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="subnet-id,subnet-name" />
+ <xml-property name="nameProps" value="subnet-name" />
+ <xml-property name="uniqueProps" value="subnet-id" />
+ <xml-property name="dependentOn" value="l3-network" />
+ <xml-property name="container" value="subnets" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GenericVnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VNFs" />
+ </xml-properties>
+ <xml-root-element name="generic-vnfs" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="genericVnf" name="generic-vnf" type="inventory.aai.openecomp.org.v10.GenericVnf" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GenericVnf">
+ <xml-root-element name="generic-vnf" />
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service, does not necessarily map to ASDC service models. SOON TO BE DEPRECATED" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+ </xml-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-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, used by MSO." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of managed by company or customer" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nmLanV6Address" name="nm-lan-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 Loopback address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementV6Address" name="management-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 management address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpu" name="vcpu" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpuUnits" name="vcpu-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemory" name="vmemory" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemoryUnits" name="vmemory-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdisk" name="vdisk" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdiskUnits" name="vdisk-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether generic-vnf access uses SSH" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementAssignmentGroupUuid" name="entitlement-assignment-group-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the Entitlement group used for licensing VNFs, OBSOLETE - See child relationships." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the specific entitlement resource. OBSOLETE - See child relationships." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseAssignmentGroupUuid" name="license-assignment-group-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the license assignment group. OBSOLETE - See child relationships." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKeyUuid" name="license-key-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the actual license resource. OBSOLETE - See child relationships." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-invariant-id-local" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-version-id-local" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="internal" />
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="as-number of the VNF" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceSubzone" name="regional-resource-subzone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="represents sub zone of the rr plane" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfType" name="nf-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Generic description of the type of NF" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfFunction" name="nf-function" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="English description of Network function that the specific VNF deployment is providing" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="role in the network that this model will be providing" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfNamingCode" name="nf-naming-code" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="string assigned to this model used for naming purposes" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
+ <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.openecomp.org.v10.VfModules" />
+ <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v10.Licenses" />
+ <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v10.Entitlements" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="General purpose VNF" />
+ <xml-property name="nameProps" value="vnf-name" />
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,nf-type,nf-function,nf-naming-code,nf-role" />
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
+ <xml-property name="uniqueProps" value="vnf-id" />
+ <xml-property name="container" value="generic-vnfs" />
+ <xml-property name="namespace" value="network" />
+ <xml-property name="extends" value="vnf" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VfModules">
+ <xml-properties>
+ <xml-property name="description" value="Collection of vf-modules, a deployment unit of VNFCs" />
+ </xml-properties>
+ <xml-root-element name="vf-modules" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vfModule" name="vf-module" type="inventory.aai.openecomp.org.v10.VfModule" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VfModule">
+ <xml-root-element name="vf-module" />
+ <java-attributes>
+ <xml-element java-attribute="vfModuleId" name="vf-module-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vf-module." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfModuleName" name="vf-module-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of vf-module" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="orchestration status of this vf-module, mastered by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="isBaseVfModule" name="is-base-vf-module" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is base vf module" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-invariant-id-local" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-version-id-local" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="internal" />
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the Contrail unique ID for a service-instance" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="moduleIndex" name="module-index" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="the index will track the number of modules of a given type that have been deployed in a VNF, starting with 0, and always choosing the lowest available digit" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="a deployment unit of VNFCs" />
+ <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-service-instance-fqdn" />
+ <xml-property name="searchable" value="vf-module-id,vf-module-name" />
+ <xml-property name="dependentOn" value="generic-vnf" />
+ <xml-property name="container" value="vf-modules" />
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="LagLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregation connections" />
+ </xml-properties>
+ <xml-root-element name="lag-links" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagLink" name="lag-link" type="inventory.aai.openecomp.org.v10.LagLink" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LagLink">
+ <xml-root-element name="lag-link" />
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Alphabetical concatenation of lag-interface names" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="LAG links can connect lag-interfaces" />
+ <xml-property name="indexedProps" value="link-name" />
+ <xml-property name="container" value="lag-links" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Newvces">
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce." />
+ </xml-properties>
+ <xml-root-element name="newvces" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="newvce" name="newvce" type="inventory.aai.openecomp.org.v10.Newvce" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Newvce">
+ <xml-root-element name="newvce" />
+ <java-attributes>
+ <xml-element java-attribute="vnfId2" name="vnf-id2" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF, can't use same attribute name right now until we promote this new object" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="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="OBSOLETE - do not use" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value, e.g., VPE." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce." />
+ <xml-property name="nameProps" value="vnf-name" />
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2" />
+ <xml-property name="searchable" value="vnf-id2,vnf-name,vnf-name2" />
+ <xml-property name="uniqueProps" value="vnf-id2" />
+ <xml-property name="container" value="newvces" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Physical Network Functions." />
+ </xml-properties>
+ <xml-root-element name="pnfs" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pnf" name="pnf" type="inventory.aai.openecomp.org.v10.Pnf" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pnf">
+ <xml-root-element name="pnf" />
+ <java-attributes>
+ <xml-element java-attribute="pnfName" name="pnf-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique name of Physical Network Function." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfName2" name="pnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="name of Physical Network Function." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfName2Source" name="pnf-name2-source" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="source of name2" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfId" name="pnf-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="id of pnf" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment type. Source of truth should define valid values." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment vendor. Source of truth should define valid values." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment model. Source of truth should define valid values." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of managed by company or customer" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Oam" name="ipaddress-v4-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ipv4-oam-address with new naming convention for IP addresses" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="swVersion" name="sw-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="sw-version is the version of SW for the hosted application on the PNF." />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="frameId" name="frame-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of the physical frame (relay rack) where pnf is installed." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Serial number of the device" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 Loopback 0 address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 Loopback 0 address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 AIM address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 AIM address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 OAM address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CANOPI's inventory status. Only set with values exactly as defined by CANOPI." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Nf Role is the role performed by this instance in the network." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v10.PInterfaces" />
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world." />
+ <xml-property name="indexedProps" value="pnf-name,orchestration-status,inv-status" />
+ <xml-property name="searchable" value="pnf-name" />
+ <xml-property name="uniqueProps" value="pnf-name" />
+ <xml-property name="container" value="pnfs" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PhysicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
+ </xml-properties>
+ <xml-root-element name="physical-links" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="physicalLink" name="physical-link" type="inventory.aai.openecomp.org.v10.PhysicalLink" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PhysicalLink">
+ <xml-root-element name="physical-link" />
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Circuit it" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dualMode" name="dual-mode" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Dual access mode (e.g., primary, secondary" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="To provide information on who manages this circuit. A&amp;AI or 3rd party transport provider" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderName" name="service-provider-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the service Provider on this link." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
+ <xml-property name="indexedProps" value="circuit-id,link-name" />
+ <xml-property name="alternateKeys1" value="circuit-id" />
+ <xml-property name="container" value="physical-links" />
+ <xml-property name="namespace" value="network" />
+ <xml-property name="searchable" value="link-name,circuit-id" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VigServers">
+ <xml-root-element name="vig-servers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vigServer" name="vig-server" type="inventory.aai.openecomp.org.v10.VigServer" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VigServer">
+ <xml-root-element name="vig-server" />
+ <java-attributes>
+ <xml-element java-attribute="vigAddressType" name="vig-address-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether the VIG is for AVPN or INTERNET" />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV4Vig" name="ipaddress-v4-vig" type="java.lang.String" >
+ <xml-properties>
+ <xml-property name="description" value="v4 IP of the vig server" />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV6Vig" name="ipaddress-v6-vig" type="java.lang.String" >
+ <xml-properties>
+ <xml-property name="description" value="v6 IP of the vig server" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607" />
+ <xml-property name="indexedProps" value="vig-address-type" />
+ <xml-property name="dependentOn" value="ipsec-configuration" />
+ <xml-property name="container" value="vig-servers" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="IpsecConfigurations">
+ <xml-root-element name="ipsec-configurations" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipsecConfiguration" name="ipsec-configuration" type="inventory.aai.openecomp.org.v10.IpsecConfiguration" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IpsecConfiguration">
+ <xml-root-element name="ipsec-configuration" />
+ <java-attributes>
+ <xml-element java-attribute="ipsecConfigurationId" name="ipsec-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of this configuration" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedVigAddressType" name="requested-vig-address-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicate the type of VIG server like AVPN, INTERNET, BOTH" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedEncryptionStrength" name="requested-encryption-strength" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encryption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedDmzType" name="requested-dmz-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="can offer a shared DMZ or a DMZ specific to a customer" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sharedDmzNetworkAddress" name="shared-dmz-network-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network address of shared DMZ" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedCustomerName" name="requested-customer-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="If the DMZ is a custom DMZ, this field will indicate the customer information" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikeVersion" name="ike-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="can be 1 or 2" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1Authentication" name="ikev1-authentication" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contains values like md5, sha1, sha256, sha384" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1Encryption" name="ikev1-encryption" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1DhGroup" name="ikev1-dh-group" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Diffie-Hellman group like DH-GROUP2, DH-GROUP5, DH-GROUP14" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1AmGroupId" name="ikev1-am-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group name defined in VIG for clients using aggressive mode" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1AmPassword" name="ikev1-am-password" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="pre-shared key for the above group name " />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1SaLifetime" name="ikev1-sa-lifetime" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Lifetime for IKEv1 SA" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecAuthentication" name="ipsec-authentication" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="md5, sha1, sha256, sha384" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecEncryption" name="ipsec-encryption" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecSaLifetime" name="ipsec-sa-lifetime" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Life time for IPSec SA" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecPfs" name="ipsec-pfs" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="enable PFS or not" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="xauthUserId" name="xauth-userid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="user ID for xAuth, sm-user, ,nmteHostName" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="xauthUserPassword" name="xauth-user-password" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encrypted using the Juniper $9$ algorithm" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dpdInterval" name="dpd-interval" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The time between DPD probe" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dpdFrequency" name="dpd-frequency" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Maximum number of DPD before claiming the tunnel is down" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.openecomp.org.v10.VigServers" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C" />
+ <xml-property name="indexedProps" value="ipsec-configuration-id" />
+ <xml-property name="uniqueProps" value="ipsec-configuration-id" />
+ <xml-property name="container" value="ipsec-configurations" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="NotificationEvent">
+ <xml-root-element name="notification-event" />
+ <java-attributes>
+ <xml-element java-attribute="cambriaPartition" name="cambria.partition" type="java.lang.String" />
+ <xml-element java-attribute="eventHeader" name="event-header" type="inventory.aai.openecomp.org.v10.NotificationEventHeader" />
+ <xml-any-element java-attribute="entity" />
+ </java-attributes>
+ </java-type>
+ <java-type name="NotificationEventHeader">
+ <xml-root-element name="notification-event-header" />
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" type="java.lang.String" />
+ <xml-element java-attribute="timestamp" name="timestamp" type="java.lang.String" />
+ <xml-element java-attribute="sourceName" name="source-name" type="java.lang.String" />
+ <xml-element java-attribute="domain" name="domain" type="java.lang.String" />
+ <xml-element java-attribute="sequenceNumber" name="sequence-number" type="java.lang.String" />
+ <xml-element java-attribute="severity" name="severity" type="java.lang.String" />
+ <xml-element java-attribute="eventType" name="event-type" type="java.lang.String" />
+ <xml-element java-attribute="version" name="version" type="java.lang.String" />
+ <xml-element java-attribute="action" name="action" type="java.lang.String" />
+ <xml-element java-attribute="entityType" name="entity-type" type="java.lang.String" />
+ <xml-element java-attribute="topEntityType" name="top-entity-type" type="java.lang.String" />
+ <xml-element java-attribute="entityLink" name="entity-link" type="java.lang.String" />
+ <xml-element java-attribute="status" name="status" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+ <java-type name="AaiInternal">
+ <xml-root-element name="aai-internal" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="reservedPropNames" name="reserved-prop-names" type="inventory.aai.openecomp.org.v10.ReservedPropNames" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.openecomp.org.v10.EdgePropNames" />
+ </java-attributes>
+ </java-type>
+ <java-type name="ReservedPropNames">
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define some reserved properties of a vertex" />
+ <xml-property name="uniqueProps" value="aai-unique-key" />
+ <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type,aai-uri" />
+ </xml-properties>
+ <xml-root-element name="reserved-prop-names" />
+ <java-attributes>
+ <xml-element java-attribute="lastModSourceOfTruth" name="last-mod-source-of-truth" type="java.lang.String" />
+ <xml-element java-attribute="aaiNodeType" name="aai-node-type" type="java.lang.String" />
+ <xml-element java-attribute="aaiCreatedTs" name="aai-created-ts" type="java.lang.Long" />
+ <xml-element java-attribute="aaiUniqueKey" name="aai-unique-key" type="java.lang.String" />
+ <xml-element java-attribute="aaiLastModTs" name="aai-last-mod-ts" type="java.lang.Long" />
+ <xml-element java-attribute="sourceOfTruth" name="source-of-truth" type="java.lang.String" />
+ <xml-element java-attribute="aaiUri" name="aai-uri" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+ <java-type name="EdgePropNames">
+ <!-- NOTE that the names of these properties are not consistent and are in mixed case and hyphen case for now -->
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define the properties of an edge and interpret the map EdgeRules" />
+ <xml-property name="edgeInfo" value="edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV" />
+ </xml-properties>
+ <xml-root-element name="edge-prop-names" />
+ <java-attributes>
+ <xml-element java-attribute="edgeLabel" name="edgeLabel" type="java.lang.String" />
+ <xml-element java-attribute="direction" name="direction" type="java.lang.String" />
+ <xml-element java-attribute="multiplicityRule" name="multiplicityRule" type="java.lang.String" />
+ <xml-element java-attribute="isParent" name="isParent" type="java.lang.Boolean" />
+ <xml-element java-attribute="usesResource" name="usesResource" type="java.lang.Boolean" />
+ <xml-element java-attribute="hasDelTarget" name="hasDelTarget" type="java.lang.Boolean" />
+ <xml-element java-attribute="SVC-INFRA" name="SVC-INFRA" type="java.lang.String" />
+ <xml-element java-attribute="SVC-INFRA-REV" name="SVC-INFRA-REV" 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.openecomp.org.v10.Model" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Model">
+ <xml-root-element name="model" />
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version" />
+ <xml-property name="nameProps" value="model-type" />
+ <xml-property name="indexedProps" value="model-invariant-id,model-type" />
+ <xml-property name="uniqueProps" value="model-invariant-id" />
+ <xml-property name="container" value="models" />
+ <xml-property name="namespace" value="service-design-and-creation" />
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.openecomp.org.v10.ModelVers" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ </java-type>
+
+
+ <java-type name="ModelVers">
+ <xml-root-element name="model-vers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelVer" name="model-ver" type="inventory.aai.openecomp.org.v10.ModelVer" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelVer">
+ <xml-root-element name="model-ver" />
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models" />
+ <xml-property name="nameProps" value="model-name" />
+ <xml-property name="indexedProps" value="model-version-id,model-name,model-version" />
+ <xml-property name="uniqueProps" value="model-version-id" />
+ <xml-property name="container" value="model-vers" />
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the model, which can change from version to version." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Version" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v10.ModelElements" />
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v10.Metadata" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelElements">
+ <xml-root-element name="model-elements" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelElement" name="model-element" type="inventory.aai.openecomp.org.v10.ModelElement" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelElement">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model." />
+ <xml-property name="uniqueProps" value="model-element-uuid" />
+ <xml-property name="indexedProps" value="model-element-uuid" />
+ <xml-property name="allowDirectRead" value="true" />
+ <xml-property name="allowDirectWrite" value="false" />
+ <xml-property name="container" value="model-elements" />
+ </xml-properties>
+ <xml-root-element name="model-element" />
+ <java-attributes>
+ <xml-element java-attribute="modelElementUuid" name="model-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="newDataDelFlag" name="new-data-del-flag" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates whether this element was created as part of instantiation from this model" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cardinality" name="cardinality" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="How many of this type of element are required/allowed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="linkagePoints" name="linkage-points" type="java.lang.String" >
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v10.ModelElements">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelConstraints" name="model-constraints" type="inventory.aai.openecomp.org.v10.ModelConstraints">
+ <xml-properties>
+ <xml-property name="description" value="Describes new constraints on this model element that are not part of that model's definition" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelConstraints">
+ <xml-root-element name="model-constraints" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelConstraint" name="model-constraint" type="inventory.aai.openecomp.org.v10.ModelConstraint" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelConstraint">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
+ <xml-property name="uniqueProps" value="model-constraint-uuid" />
+ <xml-property name="indexedProps" value="model-constraint-uuid" />
+ <xml-property name="allowDirectRead" value="true" />
+ <xml-property name="allowDirectWrite" value="false" />
+ <xml-property name="container" value="model-constraints" />
+ </xml-properties>
+ <xml-root-element name="model-constraint" />
+ <java-attributes>
+ <xml-element java-attribute="modelConstraintUuid" name="model-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constrainedElementSetUuidToReplace" name="constrained-element-set-uuid-to-replace" required="true" type="java.lang.String" />
+ <xml-element java-attribute="constrainedElementSets" name="constrained-element-sets" type="inventory.aai.openecomp.org.v10.ConstrainedElementSets" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ConstrainedElementSets">
+ <xml-root-element name="constrained-element-sets" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="constrainedElementSet" name="constrained-element-set" type="inventory.aai.openecomp.org.v10.ConstrainedElementSet" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ConstrainedElementSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
+ <xml-property name="uniqueProps" value="constrained-element-set-uuid" />
+ <xml-property name="indexedProps" value="constrained-element-set-uuid" />
+ <xml-property name="allowDirectRead" value="true" />
+ <xml-property name="allowDirectWrite" value="false" />
+ <xml-property name="container" value="constrained-element-sets" />
+ </xml-properties>
+ <xml-root-element name="constrained-element-set" />
+ <java-attributes>
+ <xml-element java-attribute="constrainedElementSetUuid" name="constrained-element-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
+ <xml-element java-attribute="checkType" name="check-type" required="true" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+ <xml-element java-attribute="elementChoiceSets" name="element-choice-sets" type="inventory.aai.openecomp.org.v10.ElementChoiceSets" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ElementChoiceSets">
+ <xml-root-element name="element-choice-sets" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="elementChoiceSet" name="element-choice-set" type="inventory.aai.openecomp.org.v10.ElementChoiceSet" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ElementChoiceSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
+ <xml-property name="uniqueProps" value="element-choice-set-uuid" />
+ <xml-property name="indexedProps" value="element-choice-set-uuid" />
+ <xml-property name="allowDirectRead" value="true" />
+ <xml-property name="allowDirectWrite" value="false" />
+ <xml-property name="container" value="element-choice-sets" />
+ </xml-properties>
+ <xml-root-element name="element-choice-set" />
+ <java-attributes>
+ <xml-element java-attribute="elementChoiceSetUuid" name="element-choice-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="elementChoiceSetName" name="element-choice-set-name" required="true" type="java.lang.String" />
+ <xml-element java-attribute="cardinality" name="cardinality" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v10.ModelElements" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueries">
+ <xml-root-element name="named-queries" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQuery" name="named-query" type="inventory.aai.openecomp.org.v10.NamedQuery" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQuery">
+ <xml-properties>
+ <xml-property name="description" value="TBD" />
+ <xml-property name="nameProps" value="named-query-name" />
+ <xml-property name="uniqueProps" value="named-query-uuid" />
+ <xml-property name="indexedProps" value="named-query-uuid,named-query-name" />
+ <xml-property name="container" value="named-queries" />
+ <xml-property name="namespace" value="service-design-and-creation" />
+ </xml-properties>
+ <xml-root-element name="named-query" />
+ <java-attributes>
+ <xml-element java-attribute="namedQueryUuid" name="named-query-uuid" required="true" type="java.lang.String" xml-key="true" />
+ <xml-element java-attribute="namedQueryName" name="named-query-name" required="true" type="java.lang.String" />
+ <xml-element java-attribute="namedQueryVersion" name="named-query-version" required="true" type="java.lang.String" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="requiredInputParams" name="required-input-param" type="java.lang.String" >
+ <xml-element-wrapper name="required-input-params" />
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v10.NamedQueryElements" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueryElements">
+ <xml-root-element name="named-query-elements" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQueryElement" name="named-query-element" type="inventory.aai.openecomp.org.v10.NamedQueryElement" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueryElement">
+ <xml-properties>
+ <xml-property name="description" value="TBD" />
+ <xml-property name="uniqueProps" value="named-query-element-uuid" />
+ <xml-property name="indexedProps" value="named-query-element-uuid" />
+ <xml-property name="allowDirectRead" value="true" />
+ <xml-property name="allowDirectWrite" value="false" />
+ <xml-property name="container" value="named-query-elements" />
+ </xml-properties>
+ <xml-root-element name="named-query-element" />
+ <java-attributes>
+ <xml-element java-attribute="namedQueryElementUuid" name="named-query-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+ <xml-element java-attribute="propertyLimitDesc" name="property-limit-desc" type="java.lang.String" />
+ <xml-element java-attribute="doNotOutput" name="do-not-output" type="java.lang.String" />
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v10.NamedQueryElements" />
+ <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.openecomp.org.v10.RelatedLookups" />
+ <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.openecomp.org.v10.PropertyConstraints" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedLookups">
+ <xml-root-element name="related-lookups" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedLookup" name="related-lookup" type="inventory.aai.openecomp.org.v10.RelatedLookup" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedLookup">
+ <xml-properties>
+ <xml-property name="description" value="TBD" />
+ <xml-property name="uniqueProps" value="related-lookup-uuid" />
+ <xml-property name="indexedProps" value="related-lookup-uuid" />
+ <xml-property name="allowDirectRead" value="true" />
+ <xml-property name="allowDirectWrite" value="false" />
+ <xml-property name="container" value="related-lookups" />
+ </xml-properties>
+ <xml-root-element name="related-lookup" />
+ <java-attributes>
+ <xml-element java-attribute="relatedLookupUuid" name="related-lookup-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceNodeType" name="source-node-type" required="true" type="java.lang.String" />
+ <xml-element java-attribute="sourceNodeProperty" name="source-node-property" required="true" type="java.lang.String" />
+ <xml-element java-attribute="targetNodeType" name="target-node-type" required="true" type="java.lang.String" />
+ <xml-element java-attribute="targetNodeProperty" name="target-node-property" required="true" type="java.lang.String" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PropertyConstraints">
+ <xml-root-element name="property-constraints" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyConstraint" name="property-constraint" type="inventory.aai.openecomp.org.v10.PropertyConstraint" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PropertyConstraint">
+ <xml-properties>
+ <xml-property name="description" value="TBD" />
+ <xml-property name="uniqueProps" value="property-constraint-uuid" />
+ <xml-property name="indexedProps" value="property-constraint-uuid" />
+ <xml-property name="allowDirectRead" value="true" />
+ <xml-property name="allowDirectWrite" value="false" />
+ <xml-property name="container" value="property-constraints" />
+ </xml-properties>
+ <xml-root-element name="property-constraint" />
+ <java-attributes>
+ <xml-element java-attribute="propertyConstraintUuid" name="property-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
+ <xml-element java-attribute="propertyName" name="property-name" required="true" type="java.lang.String" />
+ <xml-element java-attribute="propertyValue" name="property-value" required="true" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelAndNamedQuerySearch">
+ <xml-properties>
+ <xml-property name="description" value="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query" />
+ </xml-properties>
+ <xml-root-element name="model-and-named-query-search" />
+ <java-attributes>
+ <xml-element java-attribute="queryParameters" name="query-parameters" type="inventory.aai.openecomp.org.v10.QueryParameters" />
+ <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.openecomp.org.v10.InstanceFilters" />
+ <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.openecomp.org.v10.SecondaryFilts" />
+ <xml-element java-attribute="topNodeType" name="top-node-type" type="java.lang.String" />
+ <xml-element java-attribute="secondaryFilterCutPoint" name="secondary-filter-cut-point" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="QueryParameters">
+ <xml-properties>
+ <xml-property name="description" value="QueryParameters for performing a named-query or model query" />
+ </xml-properties>
+ <xml-root-element name="query-parameters" />
+ <java-attributes>
+ <xml-element java-attribute="namedQuery" name="named-query" type="inventory.aai.openecomp.org.v10.NamedQuery" />
+ <xml-element java-attribute="model" name="model" type="inventory.aai.openecomp.org.v10.OverloadedModel" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OverloadedModel">
+ <xml-root-element name="overloaded-model" />
+ <xml-properties>
+ <xml-property name="description" value="Allows for legacy POST of old-style and new-style models" />
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelNameVersionId" name="model-name-version-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the model, which can change from version to version." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelId" name="model-id" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Invariant unique ID which does not change from version to version" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Version" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.openecomp.org.v10.ModelVers" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceFilters">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilters for performing a named-query or model query" />
+ </xml-properties>
+ <xml-root-element name="instance-filters" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="instanceFilter" name="instance-filter" type="inventory.aai.openecomp.org.v10.InstanceFilter" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceFilter">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilter for performing a named-query or model query" />
+ <xml-property name="container" value="instance-filters" />
+ </xml-properties>
+ <xml-root-element name="instance-filter" />
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilts">
+ <xml-properties>
+ <xml-property name="description" value="SecondaryFilts for performing a named-query or model query" />
+ </xml-properties>
+ <xml-root-element name="secondary-filts" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilt" name="secondary-filt" type="inventory.aai.openecomp.org.v10.SecondaryFilt" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilt">
+ <xml-properties>
+ <xml-property name="description" value="SecondaryFilt for performing a named-query or model query" />
+ </xml-properties>
+ <xml-root-element name="secondary-filt" />
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Properties">
+ <xml-properties>
+ <xml-property name="description" value="Property holder for query properties or instance properties" />
+ </xml-properties>
+ <xml-root-element name="properties" />
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ResponseList">
+ <xml-properties>
+ <xml-property name="description" value="Response container for the results of a named-query or model query" />
+ </xml-properties>
+ <xml-root-element name="response-list" />
+ <java-attributes>
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.openecomp.org.v10.InventoryResponseItems" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryResponseItems">
+ <xml-properties>
+ <xml-property name="description" value="Container for inventory items in response list" />
+ <xml-property name="container" value="response-list" />
+ </xml-properties>
+ <xml-root-element name="inventory-response-items" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryResponseItem" name="inventory-response-item" type="inventory.aai.openecomp.org.v10.InventoryResponseItem" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryResponseItem">
+ <xml-properties>
+ <xml-property name="description" value="Inventory item for response list" />
+ <xml-property name="container" value="inventory-response-items" />
+ </xml-properties>
+ <xml-root-element name="inventory-response-item" />
+ <java-attributes>
+ <xml-element java-attribute="modelName" name="model-name" type="java.lang.String" />
+ <xml-any-element java-attribute="item" />
+ <xml-element java-attribute="extraProperties" name="extra-properties" type="inventory.aai.openecomp.org.v10.ExtraProperties" />
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.openecomp.org.v10.InventoryResponseItems" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExtraProperties">
+ <xml-properties>
+ <xml-property name="description" value="Extra properties for inventory item for response list" />
+ </xml-properties>
+ <xml-root-element name="extra-properties" />
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="extraProperty" name="extra-property" type="inventory.aai.openecomp.org.v10.ExtraProperty" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExtraProperty">
+ <xml-root-element name="extra-property" />
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+ <xml-any-element java-attribute="propertyValue" lax="true" name="property-value" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RouteTableReferences">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack route table references" />
+ </xml-properties>
+ <xml-root-element name="route-table-references" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routeTableReference" name="route-table-reference" type="inventory.aai.openecomp.org.v10.RouteTableReference" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RouteTableReference">
+ <xml-root-element name="route-table-reference" />
+ <java-attributes>
+ <xml-element java-attribute="routeTableReferenceId" name="route-table-reference-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTableReferenceFqdn" name="route-table-reference-fqdn" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="FQDN entry in the route table." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Openstack route table reference." />
+ <xml-property name="nameProps" value="route-table-reference-fqdn" />
+ <xml-property name="uniqueProps" value="route-table-reference-id" />
+ <xml-property name="indexedProps" value="route-table-reference-id,route-table-reference-fqdn" />
+ <xml-property name="container" value="route-table-references" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="InstanceGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack route table references" />
+ </xml-properties>
+ <xml-root-element name="instance-groups" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="instanceGroup" name="instance-group" type="inventory.aai.openecomp.org.v10.InstanceGroup" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceGroup">
+ <xml-root-element name="instance-group" />
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Instance Group ID, UUID assigned to this instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Descriptive text to help identify the usage of this instance-group" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="type" name="type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Only valid value today is lower case ha for high availability" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subType" name="sub-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Valid values for ha type are [geo-activeactive, geo-activestandby, local-activeactive, local-activestandby]" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="General mechanism for grouping instances" />
+ <xml-property name="nameProps" value="description" />
+ <xml-property name="uniqueProps" value="id" />
+ <xml-property name="indexedProps" value="id,description,type,sub-type" />
+ <xml-property name="container" value="instance-groups" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="SegmentationAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack segmentation assignments" />
+ </xml-properties>
+ <xml-root-element name="segmentation-assignments" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.openecomp.org.v10.SegmentationAssignment" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SegmentationAssignment">
+ <xml-root-element name="segmentation-assignment" />
+ <java-attributes>
+ <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack segmentation assignment." />
+ <xml-property name="indexedProps" value="segmentation-id" />
+ <xml-property name="dependentOn" value="l3-network" />
+ <xml-property name="container" value="segmentation-assignments" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="AllottedResources">
+ <xml-properties>
+ <xml-property name="description" value="This object is used to store slices of services being offered" />
+ </xml-properties>
+ <xml-root-element name="allotted-resources" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="allottedResource" name="allotted-resource" type="inventory.aai.openecomp.org.v10.AllottedResource" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AllottedResource">
+ <xml-root-element name="allotted-resource" />
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Allotted Resource id UUID assigned to this instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The descriptive information assigned to this allotted resource instance" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Link back to more information in the controller" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-invariant-id-local" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-version-id-local" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="internal" />
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="type" name="type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Generic description of the type of allotted resource." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="role" name="role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="role in the network that this resource will be providing." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tunnelXconnects" name="tunnel-xconnects" type="inventory.aai.openecomp.org.v10.TunnelXconnects" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Represents a slice or partial piece of a resource that gets separately allotted" />
+ <xml-property name="nameProps" value="description" />
+ <xml-property name="uniqueProps" value="id" />
+ <xml-property name="indexedProps" value="id,model-invariant-id,model-version-id,type,role" />
+ <xml-property name="dependentOn" value="service-instance" />
+ <xml-property name="container" value="allotted-resources" />
+ <!-- <xml-property name="namespace" value="network" /> -->
+ </xml-properties>
+ </java-type>
+
+ <java-type name="TunnelXconnects">
+ <xml-properties>
+ <xml-property name="description" value="This object is used to store the specific tunnel cross connect aspects of an allotted resource" />
+ </xml-properties>
+ <xml-root-element name="tunnel-xconnects" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tunnelXconnect" name="tunnel-xconnect" type="inventory.aai.openecomp.org.v10.TunnelXconnect" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="TunnelXconnect">
+ <xml-root-element name="tunnel-xconnect" />
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Allotted Resource id UUID assigned to this instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN uplink bandwidth for WAN1" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN downlink bandwidth for WAN1" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN uplink bandwidth for WAN2" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN downlink bandwidth for WAN2" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted" />
+ <xml-property name="uniqueProps" value="id" />
+ <xml-property name="indexedProps" value="id" />
+ <xml-property name="dependentOn" value="allotted-resource" />
+ <xml-property name="container" value="tunnel-xconnects" />
+ <!-- <xml-property name="namespace" value="network" /> -->
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Entitlements">
+ <xml-properties>
+ <xml-property name="description" value="Entitlements, keyed by group-uuid and resource-uuid, related to license management" />
+ </xml-properties>
+ <xml-root-element name="entitlements" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="entitlement" name="entitlement" type="inventory.aai.openecomp.org.v10.Entitlement" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Entitlement">
+ <xml-root-element name="entitlement" />
+ <java-attributes>
+ <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for the entitlement group the resource comes from, should be uuid." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of an entitlement resource. " />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Metadata for entitlement group." />
+ <xml-property name="indexedProps" value="group-uuid,resource-uuid" />
+ <xml-property name="dependentOn" value="generic-vnf,vce,vpe" />
+ <xml-property name="container" value="entitlements" />
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="Licenses">
+ <xml-properties>
+ <xml-property name="description" value="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management" />
+ </xml-properties>
+ <xml-root-element name="licenses" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="license" name="license" type="inventory.aai.openecomp.org.v10.License" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="License">
+ <xml-root-element name="license" />
+ <java-attributes>
+ <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for the license group the resource belongs to, should be uuid." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of a license resource. " />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Metadata for license group." />
+ <xml-property name="indexedProps" value="group-uuid,resource-uuid" />
+ <xml-property name="dependentOn" value="generic-vnf,vce,vpe" />
+ <xml-property name="container" value="licenses" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vnf">
+ <xml-root-element name="vnf"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph." />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Abstract vnf class" />
+ <xml-property name="indexedProps" value="vnf-id" />
+ <xml-property name="uniqueProps" value="vnf-id" />
+ <xml-property name="inheritors" value="vce,vpe,generic-vnf" />
+ <xml-property name="abstract" value="true" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Zones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of zones" />
+ </xml-properties>
+ <xml-root-element name="zones" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="zone" name="zone" type="inventory.aai.openecomp.org.v10.Zone" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Zone">
+ <xml-root-element name="zone" />
+ <java-attributes>
+ <xml-element java-attribute="zoneId" name="zone-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Code assigned by AIC to the zone" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="zoneName" name="zone-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="English name associated with the zone" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="designType" name="design-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Design of zone [Medium/Large…]" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="zoneContext" name="zone-context" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Context of zone [production/test]" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="status" name="status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Status of a zone." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="A zone is a grouping of assets in a location homing to the same connections into the CBB" />
+ <xml-property name="nameProps" value="zone-name" />
+ <xml-property name="indexedProps" value="zone-id,design-type,zone-context" />
+ <xml-property name="uniqueProps" value="zone-id" />
+ <xml-property name="container" value="zones" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+ <java-type name="TestObjects">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VNFs" />
+ </xml-properties>
+ <xml-root-element name="test-objects" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList"
+ java-attribute="testObject" name="test-object"
+ type="inventory.aai.openecomp.org.v10.TestObject" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ </xml-properties>
+ </java-type>
+ <java-type name="TestObject">
+ <xml-root-element name="test-object" />
+ <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-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key"
+ type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role"
+ type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description"
+ value="Client should send valid enumerated value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status"
+ type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description"
+ value="Orchestration status of this VNF, used by MSO." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id"
+ type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description"
+ value="Heat stack id corresponding to this instance, managed by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key"
+ type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description"
+ value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option"
+ type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description"
+ value="identifier of managed by company or customer" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address"
+ type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description"
+ value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address"
+ type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nmLanV6Address" name="nm-lan-v6-address"
+ type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 Loopback address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementV6Address" name="management-v6-address"
+ type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 management address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpu" name="vcpu" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description"
+ value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpuUnits" name="vcpu-units"
+ type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description"
+ value="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemory" name="vmemory"
+ type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description"
+ value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemoryUnits" name="vmemory-units"
+ type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description"
+ value="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdisk" name="vdisk"
+ type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description"
+ value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdiskUnits" name="vdisk-units"
+ type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description"
+ value="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true"
+ java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false" />
+ <xml-property name="description"
+ value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true"
+ java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled"
+ type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false" />
+ <xml-property name="description"
+ value="used to indicate whether closed loop function is enabled on this node" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version"
+ type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description"
+ value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="summaryStatus" name="summary-status"
+ type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description"
+ value="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag"
+ type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description"
+ value="indicates whether generic-vnf access uses SSH" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementAssignmentGroupUuid"
+ name="entitlement-assignment-group-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description"
+ value="UUID of the Entitlement group used for licensing VNFs, OBSOLETE - See child relationships." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementResourceUuid"
+ name="entitlement-resource-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description"
+ value="UUID of the specific entitlement resource. OBSOLETE - See child relationships." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseAssignmentGroupUuid"
+ name="license-assignment-group-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description"
+ value="UUID of the license assignment group. OBSOLETE - See child relationships." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKeyUuid" name="license-key-uuid"
+ type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description"
+ value="UUID of the actual license resource. OBSOLETE - See child relationships." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id"
+ type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description"
+ value="the ASDC model id for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-invariant-id-local" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id"
+ type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description"
+ value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="deployment" />
+ <xml-property name="dbAlias" value="model-version-id-local" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVer" name="persona-model-ver"
+ 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="notVisibleTestElement"
+ name="not-visible-test-element" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="visibility" value="internal" />
+ </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="testObjects" name="test-objects" type="inventory.aai.openecomp.org.v10.TestObjects" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="General 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,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="test-objects" />
+ <xml-property name="namespace" value="network" />
+ <xml-property name="extends" value="vnf" />
+ </xml-properties>
+ </java-type>
+ </java-types>
+</xml-bindings>
diff --git a/aai-core/src/test/resources/org/openecomp/aai/introspection/aai_oxm_v8.xml b/aai-core/src/test/resources/org/openecomp/aai/introspection/aai_oxm_v8.xml
new file mode 100644
index 00000000..3ed2ea53
--- /dev/null
+++ b/aai-core/src/test/resources/org/openecomp/aai/introspection/aai_oxm_v8.xml
@@ -0,0 +1,3076 @@
+<?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.openecomp.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.openecomp.org.v8.Search" />
+ <xml-element java-attribute="actions" name="actions" type="inventory.aai.openecomp.org.v8.Actions" />
+ <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.openecomp.org.v8.CloudInfrastructure" />
+ <xml-element java-attribute="business" name="business" type="inventory.aai.openecomp.org.v8.Business" />
+ <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.openecomp.org.v8.ServiceDesignAndCreation" />
+ <xml-element java-attribute="network" name="network" type="inventory.aai.openecomp.org.v8.Network" />
+ <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.openecomp.org.v8.AaiInternal" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Search">
+ <xml-root-element name="search" />
+ <java-attributes>
+ <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.openecomp.org.v8.SearchResults" />
+ </java-attributes>
+ </java-type>
+
+
+ <java-type name="TaggedInventoryItemList">
+ <xml-root-element name="tagged-inventory-item-list" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItem" name="inventory-item" type="inventory.aai.openecomp.org.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.openecomp.org.v8.InventoryItemData" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.openecomp.org.v8.TaggedInventoryItemList" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="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="StartNodeFilter">
+ <xml-root-element name="start-node-filter" />
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IncludeNodeFilter">
+ <xml-root-element name="include-node-filter" />
+ <java-attributes>
+ <xml-element java-attribute="includeNodeType" name="include-node-type" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilter">
+ <xml-root-element name="secondary-filter" />
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+ <xml-element java-attribute="filterType" name="filter-type" type="java.lang.String" />
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SearchResults">
+ <xml-root-element name="search-results" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="resultData" name="result-data" type="inventory.aai.openecomp.org.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 AAI 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="Actions">
+ <xml-properties>
+ <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)." />
+ </xml-properties>
+ <xml-root-element name="actions" />
+ <java-attributes>
+ <xml-element java-attribute="update" name="update" type="inventory.aai.openecomp.org.v8.Update" />
+ <xml-element java-attribute="notify" name="notify" type="inventory.aai.openecomp.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." />
+ </xml-properties>
+ <xml-root-element name="update" />
+ <java-attributes>
+ <xml-element java-attribute="updateNodeType" name="update-node-type" required="true" type="java.lang.String" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="updateNodeKey" name="update-node-key" type="inventory.aai.openecomp.org.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.openecomp.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.openecomp.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.openecomp.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="cloudRegions" name="cloud-regions" type="inventory.aai.openecomp.org.v8.CloudRegions" />
+ <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.openecomp.org.v8.Pservers" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CloudRegions">
+ <xml-root-element name="cloud-regions" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cloudRegion" name="cloud-region" type="inventory.aai.openecomp.org.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" />
+ </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.openecomp.org.v8.VolumeGroups" />
+ <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.openecomp.org.v8.Tenants" />
+ <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.openecomp.org.v8.Flavors" />
+ <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.openecomp.org.v8.GroupAssignments" />
+ <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.openecomp.org.v8.Snapshots" />
+ <xml-element java-attribute="images" name="images" type="inventory.aai.openecomp.org.v8.Images" />
+ <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.openecomp.org.v8.AvailabilityZones" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname." />
+ <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type" />
+ <xml-property name="nameProps" value="owner-defined-type" />
+ <xml-property name="container" value="cloud-regions" />
+ <xml-property name="namespace" value="cloud-infrastructure" />
+ </xml-properties>
+ </java-type>
+ <java-type name="VolumeGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of persistent block-level storage." />
+ </xml-properties>
+ <xml-root-element name="volume-groups" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volumeGroup" name="volume-group" type="inventory.aai.openecomp.org.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 SDC resource. This field has been overloaded and clients should expect changes to occur in the future to this field as SDC 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.openecomp.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-properties>
+ </java-type>
+
+ <java-type name="RelationshipList">
+ <xml-root-element name="relationship-list" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.openecomp.org.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 AAI to indicate type of node." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to the object in AAI." />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.openecomp.org.v8.RelationshipData" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.openecomp.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 AAI 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="Tenants">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack tenants." />
+ </xml-properties>
+ <xml-root-element name="tenants" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tenant" name="tenant" type="inventory.aai.openecomp.org.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.openecomp.org.v8.Vservers" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack 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-properties>
+ </java-type>
+
+ <java-type name="Vservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of virtual Servers, aka virtual machines or VMs." />
+ </xml-properties>
+ <xml-root-element name="vservers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vserver" name="vserver" type="inventory.aai.openecomp.org.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" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether closed loop function is enabled on this node" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumes" name="volumes" type="inventory.aai.openecomp.org.v8.Volumes" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v8.LInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="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-properties>
+ </java-type>
+
+ <java-type name="LInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical interfaces." />
+ </xml-properties>
+ <xml-root-element name="l-interfaces" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lInterface" name="l-interface" type="inventory.aai.openecomp.org.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 AAI 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.openecomp.org.v8.Vlans" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v8.L3InterfaceIpv4AddressList" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v8.L3InterfaceIpv6AddressList" />
+ </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,p-interface,vserver,lag-interface" />
+ <xml-property name="container" value="l-interfaces" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv4AddressList">
+ <xml-root-element name="l3-interface-ipv4-address-list" />
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv4Address" name="l3-interface-ipv4-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv4PrefixLength" name="l3-interface-ipv4-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 32 for single address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.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-properties>
+ </java-type>
+
+ <java-type name="Vlans">
+ <xml-root-element name="vlans" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vlan" name="vlan" type="inventory.aai.openecomp.org.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-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v8.L3InterfaceIpv4AddressList" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v8.L3InterfaceIpv6AddressList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Definition of vlan" />
+ <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-id" />
+ <xml-property name="uniqueProps" value="vpn-id" />
+ <xml-property name="dependentOn" value="l-interface" />
+ <xml-property name="container" value="vlans" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv6AddressList">
+ <xml-root-element name="l3-interface-ipv6-address-list" />
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv6Address" name="l3-interface-ipv6-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv6PrefixLength" name="l3-interface-ipv6-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 128 for single address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.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-properties>
+ </java-type>
+
+ <java-type name="Volumes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of ephemeral Block storage volumes." />
+ </xml-properties>
+ <xml-root-element name="volumes" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volume" name="volume" type="inventory.aai.openecomp.org.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.openecomp.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-properties>
+ </java-type>
+
+ <java-type name="Flavors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack flavors." />
+ </xml-properties>
+ <xml-root-element name="flavors" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="flavor" name="flavor" type="inventory.aai.openecomp.org.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.openecomp.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-properties>
+ </java-type>
+
+ <java-type name="Snapshots">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack snapshots" />
+ </xml-properties>
+ <xml-root-element name="snapshots" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="snapshot" name="snapshot" type="inventory.aai.openecomp.org.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.openecomp.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-properties>
+ </java-type>
+
+ <java-type name="GroupAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack group assignments" />
+ </xml-properties>
+ <xml-root-element name="group-assignments" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="groupAssignment" name="group-assignment" type="inventory.aai.openecomp.org.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.openecomp.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-properties>
+ </java-type>
+
+ <java-type name="Images">
+ <xml-properties>
+ <xml-property name="description" value="Collectio of Openstack images." />
+ </xml-properties>
+ <xml-root-element name="images" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="image" name="image" type="inventory.aai.openecomp.org.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.openecomp.org.v8.RelationshipList" />
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v8.Metadata" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack image." />
+ <xml-property name="nameProps" value="image-name" />
+ <xml-property name="indexedProps" value="application,image-name,application-vendor,image-id,application-version" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="images" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Metadata">
+ <xml-properties>
+ <xml-property name="description" value="Collection of metadatum (key/value pairs)" />
+ </xml-properties>
+ <xml-root-element name="metadata" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="metadatum" name="metadatum" type="inventory.aai.openecomp.org.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,model" />
+ <xml-property name="container" value="metadata" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of compute hosts." />
+ </xml-properties>
+ <xml-root-element name="pservers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pserver" name="pserver" type="inventory.aai.openecomp.org.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" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverName2" name="pserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="alternative pserver name" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="purpose of pserver" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v8.PInterfaces" />
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v8.LagInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="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-properties>
+ </java-type>
+
+ <java-type name="PInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical interfaces." />
+ </xml-properties>
+ <xml-root-element name="p-interfaces" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pInterface" name="p-interface" type="inventory.aai.openecomp.org.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.openecomp.org.v8.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v8.LInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Physical interface (e.g., nic)" />
+ <xml-property name="indexedProps" value="interface-name" />
+ <xml-property name="dependentOn" value="pserver,pnf" />
+ <xml-property name="container" value="p-interfaces" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LagInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregate interfaces." />
+ </xml-properties>
+ <xml-root-element name="lag-interfaces" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagInterface" name="lag-interface" type="inventory.aai.openecomp.org.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.openecomp.org.v8.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v8.LInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Link aggregate interface" />
+ <xml-property name="indexedProps" value="interface-name" />
+ <xml-property name="dependentOn" value="generic-vnf,pserver,pnf" />
+ <xml-property name="container" value="lag-interfaces" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="AvailabilityZones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of availability zones" />
+ </xml-properties>
+ <xml-root-element name="availability-zones" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.openecomp.org.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-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Availability zone, a collection of compute hosts/pservers" />
+ <xml-property name="indexedProps" value="availability-zone-name" />
+ <xml-property name="dependentOn" value="cloud-region" />
+ <xml-property name="container" value="availability-zones" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="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.openecomp.org.v8.Customers" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Customers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information." />
+ </xml-properties>
+ <xml-root-element name="customers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.openecomp.org.v8.Customer" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Customer">
+ <xml-root-element name="customer" />
+ <java-attributes>
+ <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Global customer id used across OpenECOMP to uniquely identify customer." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber name, an alternate way to retrieve a customer." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberType" name="subscriber-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber type, a way to provide VID with only the INFRA customers." />
+ <xml-property name="defaultValue" value="CUST" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSubscriptions" name="service-subscriptions" type="inventory.aai.openecomp.org.v8.ServiceSubscriptions" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.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,subscriber-name" />
+ <xml-property name="alternateKeys1" value="subscriber-name" />
+ <xml-property name="container" value="customers" />
+ <xml-property name="namespace" value="business" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceSubscriptions">
+ <xml-properties>
+ <xml-property name="description" value="Collection of objects that group service instances." />
+ </xml-properties>
+ <xml-root-element name="service-subscriptions" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceSubscription" name="service-subscription" type="inventory.aai.openecomp.org.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 OpenECOMP." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tempUbSubAccountId" name="temp-ub-sub-account-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This property will be deleted from AAI in the near future. Only stop gap solution." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstances" name="service-instances" type="inventory.aai.openecomp.org.v8.ServiceInstances">
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="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-properties>
+ </java-type>
+
+ <java-type name="ServiceInstances">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service instances" />
+ </xml-properties>
+ <xml-root-element name="service-instances" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceInstance" name="service-instance" type="inventory.aai.openecomp.org.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 SDC 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 SDC 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 SDC data dictionary widget model. This maps directly to the AAI widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget." />
+ </xml-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="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operational status of the service-instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstanceLocationId" name="service-instance-location-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="An identifier that customers assign to the location where this service is being used." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.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-properties>
+ </java-type>
+
+ <java-type name="ServiceDesignAndCreation">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for objects managed by SDC" />
+ </xml-properties>
+ <xml-root-element name="service-design-and-creation" />
+ <java-attributes>
+ <xml-element java-attribute="services" name="services" type="inventory.aai.openecomp.org.v8.Services" />
+ <xml-element java-attribute="models" name="models" type="inventory.aai.openecomp.org.v8.Models" />
+ <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.openecomp.org.v8.NamedQueries" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Network">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for network inventory resources." />
+ </xml-properties>
+ <xml-root-element name="network" />
+ <java-attributes>
+ <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.openecomp.org.v8.LogicalLinks" />
+ <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.openecomp.org.v8.Vnfcs" />
+ <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.openecomp.org.v8.L3Networks" />
+ <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.openecomp.org.v8.GenericVnfs" />
+ <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.openecomp.org.v8.Pnfs" />
+ <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.openecomp.org.v8.PhysicalLinks" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LogicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical connections" />
+ </xml-properties>
+ <xml-root-element name="logical-links" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.openecomp.org.v8.LogicalLink" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LogicalLink">
+ <xml-root-element name="logical-link" />
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of logical link, e.g., evc" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4, v6, or ds for dual stack (should be 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 SDC 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 SDC 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 SDC data dictionary widget model. This maps directly to the AAI widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of operational status of the logical link." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkRole" name="link-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of the network use of the logical link." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkName2" name="link-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alias or alternate name (CLCI or D1 name)." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkId" name="link-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the logical-link, SDNC generates this." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points" />
+ <xml-property name="indexedProps" value="link-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,link-id" />
+ <xml-property name="uniqueProps" value="link-id" />
+ <xml-property name="container" value="logical-links" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vnfcs">
+ <xml-properties>
+ <xml-property name="description" value="virtual network components associated with a vserver from application controller." />
+ </xml-properties>
+ <xml-root-element name="vnfcs" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfc" name="vnfc" type="inventory.aai.openecomp.org.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" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupNotation" name="group-notation" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group notation of VNFC" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.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-properties>
+ </java-type>
+
+ <java-type name="L3Networks">
+ <xml-root-element name="l3-networks" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3Network" name="l3-network" type="inventory.aai.openecomp.org.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 AAI." />
+ </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 SDC" />
+ </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 SDC 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 SDC 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 SDC data dictionary widget model. This maps directly to the AAI widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget." />
+ </xml-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.openecomp.org.v8.Subnets" />
+ <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.openecomp.org.v8.CtagAssignments" />
+ <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.openecomp.org.v8.SegmentationAssignments" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" >
+ <xml-properties>
+ <xml-property name="description" value="Relates to tenant (or is it a child of tenant)" />
+ </xml-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-properties>
+ </java-type>
+
+ <java-type name="CtagAssignments">
+ <xml-root-element name="ctag-assignments" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagAssignment" name="ctag-assignment" type="inventory.aai.openecomp.org.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.openecomp.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-properties>
+ </java-type>
+
+ <java-type name="Subnets">
+ <xml-root-element name="subnets" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="subnet" name="subnet" type="inventory.aai.openecomp.org.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" required="true" java-attribute="dhcpEnabled" name="dhcp-enabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="dhcp enabled" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpStart" name="dhcp-start" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the start address reserved for use by dhcp" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpEnd" name="dhcp-end" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the last address reserved for use by dhcp" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.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-properties>
+ </java-type>
+
+ <java-type name="GenericVnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VNFs" />
+ </xml-properties>
+ <xml-root-element name="generic-vnfs" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="genericVnf" name="generic-vnf" type="inventory.aai.openecomp.org.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 SDC resource. This field has been overloaded and clients should expect changes to occur in the future to this field as SDC matures." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service from SDC" />
+ </xml-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 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" 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" />
+ </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 SDC 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 SDC model version for this resource or service model." />
+ </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-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the SDC data dictionary widget model. This maps directly to the AAI widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget." />
+ </xml-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.openecomp.org.v8.RelationshipList" />
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v8.LInterfaces" />
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v8.LagInterfaces" />
+ <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.openecomp.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-properties>
+ </java-type>
+
+ <java-type name="VfModules">
+ <xml-properties>
+ <xml-property name="description" value="Collection of vf-modules, a deployment unit of VNFCs" />
+ </xml-properties>
+ <xml-root-element name="vf-modules" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vfModule" name="vf-module" type="inventory.aai.openecomp.org.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" required="true" java-attribute="isBaseVfModule" name="is-base-vf-module" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is base vf module" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the SDC 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 SDC 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 SDC data dictionary widget model. This maps directly to the AAI widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the Contrail unique ID for a service-instance" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="a deployment unit of VNFCs" />
+ <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-service-instance-fqdn" />
+ <xml-property name="dependentOn" value="generic-vnf" />
+ <xml-property name="container" value="vf-modules" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Physical Network Functions." />
+ </xml-properties>
+ <xml-root-element name="pnfs" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pnf" name="pnf" type="inventory.aai.openecomp.org.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 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" 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="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v8.PInterfaces" />
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v8.LagInterfaces" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="PNF represents a physical network function." />
+ <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-properties>
+ </java-type>
+
+ <java-type name="PhysicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
+ </xml-properties>
+ <xml-root-element name="physical-links" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="physicalLink" name="physical-link" type="inventory.aai.openecomp.org.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. AAI or 3rd party transport provider" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderName" name="service-provider-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the service Provider on this link." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.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-properties>
+ </java-type>
+
+ <java-type name="NotificationEvent">
+ <xml-root-element name="notification-event" />
+ <java-attributes>
+ <xml-element java-attribute="cambriaPartition" name="cambria.partition" type="java.lang.String" />
+ <xml-element java-attribute="eventHeader" name="event-header" type="inventory.aai.openecomp.org.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.openecomp.org.v8.ReservedPropNames" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.openecomp.org.v8.EdgePropNames" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ReservedPropNames">
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define some reserved properties of a vertex" />
+ <xml-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.String" />
+ <xml-element java-attribute="SVC-INFRA-REV" name="SVC-INFRA-REV" type="java.lang.String" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Services">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service model definitions. Likely to be deprecated in favor of models from SDC."/>
+ </xml-properties>
+ <xml-root-element name="services" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.openecomp.org.v8.Service" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Service">
+ <xml-root-element name="service" />
+ <java-attributes>
+ <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description of the service" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="service version" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Stand-in for service model definitions. Likely to be deprecated in favor of models from SDC." />
+ <xml-property name="indexedProps" value="service-description,service-id" />
+ <xml-property name="container" value="services" />
+ <xml-property name="namespace" value="service-design-and-creation" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Models">
+ <xml-properties>
+ <xml-property name="description" value="Collection of subgraph definitions provided by SDC to describe the inventory assets and their connections related to SDC models" />
+ </xml-properties>
+ <xml-root-element name="models" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="model" name="model" type="inventory.aai.openecomp.org.v8.Model" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Model">
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by SDC to describe an inventory asset and its connections related to SDC models" />
+ <xml-property name="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-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 SDC" />
+ </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.openecomp.org.v8.ModelElements" />
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v8.Metadata" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.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.openecomp.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-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-point" type="java.lang.String">
+ <xml-element-wrapper name="linkage-points" />
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.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.openecomp.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.openecomp.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.openecomp.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-properties>
+ <xml-root-element name="model-constraint" />
+ <java-attributes>
+ <xml-element java-attribute="modelConstraintUuid" name="model-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constrainedElementSetUuidToReplace" name="constrained-element-set-uuid-to-replace" required="true" type="java.lang.String" />
+ <xml-element java-attribute="constrainedElementSets" name="constrained-element-sets" type="inventory.aai.openecomp.org.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.openecomp.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-properties>
+ <xml-root-element name="constrained-element-set" />
+ <java-attributes>
+ <xml-element java-attribute="constrainedElementSetUuid" name="constrained-element-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
+ <xml-element java-attribute="checkType" name="check-type" required="true" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+ <xml-element java-attribute="elementChoiceSets" name="element-choice-sets" type="inventory.aai.openecomp.org.v8.ElementChoiceSets" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.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.openecomp.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-properties>
+ <xml-root-element name="element-choice-set" />
+ <java-attributes>
+ <xml-element java-attribute="elementChoiceSetUuid" name="element-choice-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="elementChoiceSetName" name="element-choice-set-name" required="true" type="java.lang.String" />
+ <xml-element java-attribute="cardinality" name="cardinality" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v8.ModelElements" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.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.openecomp.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-properties>
+ <xml-root-element name="named-query" />
+ <java-attributes>
+ <xml-element java-attribute="namedQueryUuid" name="named-query-uuid" required="true" type="java.lang.String" xml-key="true" />
+ <xml-element java-attribute="namedQueryName" name="named-query-name" required="true" type="java.lang.String" />
+ <xml-element java-attribute="namedQueryVersion" name="named-query-version" required="true" type="java.lang.String" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="requiredInputParams" name="required-input-param" type="java.lang.String">
+ <xml-element-wrapper name="required-input-params" />
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v8.NamedQueryElements" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.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.openecomp.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-properties>
+ <xml-root-element name="named-query-element" />
+ <java-attributes>
+ <xml-element java-attribute="namedQueryElementUuid" name="named-query-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+ <xml-element java-attribute="propertyLimitDesc" name="property-limit-desc" type="java.lang.String" />
+ <xml-element java-attribute="doNotOutput" name="do-not-output" type="java.lang.String" />
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v8.NamedQueryElements" />
+ <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.openecomp.org.v8.RelatedLookups" />
+ <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.openecomp.org.v8.PropertyConstraints" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.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.openecomp.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-properties>
+ <xml-root-element name="related-lookup" />
+ <java-attributes>
+ <xml-element java-attribute="relatedLookupUuid" name="related-lookup-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceNodeType" name="source-node-type" required="true" type="java.lang.String" />
+ <xml-element java-attribute="sourceNodeProperty" name="source-node-property" required="true" type="java.lang.String" />
+ <xml-element java-attribute="targetNodeType" name="target-node-type" required="true" type="java.lang.String" />
+ <xml-element java-attribute="targetNodeProperty" name="target-node-property" required="true" type="java.lang.String" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.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.openecomp.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-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.openecomp.org.v8.QueryParameters" />
+ <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.openecomp.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.openecomp.org.v8.NamedQuery" />
+ <xml-element java-attribute="model" name="model" type="inventory.aai.openecomp.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.openecomp.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.openecomp.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.openecomp.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.openecomp.org.v8.ExtraProperties" />
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.openecomp.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.openecomp.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="SegmentationAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack segmentation assignments" />
+ </xml-properties>
+ <xml-root-element name="segmentation-assignments" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.openecomp.org.v8.SegmentationAssignment" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SegmentationAssignment">
+ <xml-root-element name="segmentation-assignment" />
+ <java-attributes>
+ <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack segmentation assignment." />
+ <xml-property name="indexedProps" value="segmentation-id" />
+ <xml-property name="dependentOn" value="l3-network" />
+ <xml-property name="container" value="segmentation-assignments" />
+ </xml-properties>
+ </java-type>
+
+ </java-types>
+</xml-bindings>
diff --git a/aai-core/src/test/resources/org/openecomp/aai/introspection/aai_oxm_v9.xml b/aai-core/src/test/resources/org/openecomp/aai/introspection/aai_oxm_v9.xml
new file mode 100644
index 00000000..3b447263
--- /dev/null
+++ b/aai-core/src/test/resources/org/openecomp/aai/introspection/aai_oxm_v9.xml
@@ -0,0 +1,596 @@
+<?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.openecomp.org.v9" xml-mapping-metadata-complete="true">
+ <xml-schema element-form-default="QUALIFIED">
+ <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v9" />
+ </xml-schema>
+ <java-types>
+ <java-type name="Inventory">
+ <xml-root-element name="inventory" />
+ <java-attributes>
+ <xml-element java-attribute="network" name="network" type="inventory.aai.openecomp.org.v9.Network" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Network">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for network inventory resources." />
+ </xml-properties>
+ <xml-root-element name="network" />
+ <java-attributes>
+ <xml-element java-attribute="testObjects" name="test-objects" type="inventory.aai.openecomp.org.v9.TestObjects" />
+ <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.openecomp.org.v9.VpnBindings" />
+ </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="models" name="models" type="inventory.aai.openecomp.org.v9.Models" />
+ </java-attributes>
+ </java-type>
+ <java-type name="Models">
+ <xml-properties>
+ <xml-property name="description" value="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models" />
+ </xml-properties>
+ <xml-root-element name="models" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="model" name="model" type="inventory.aai.openecomp.org.v9.Model" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Model">
+ <xml-root-element name="model" />
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version" />
+ <xml-property name="nameProps" value="model-type" />
+ <xml-property name="indexedProps" value="model-invariant-id,model-type" />
+ <xml-property name="uniqueProps" value="model-invariant-id" />
+ <xml-property name="container" value="models" />
+ <xml-property name="namespace" value="service-design-and-creation" />
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.openecomp.org.v9.ModelVers" />
+ </java-attributes>
+ </java-type>
+
+
+ <java-type name="ModelVers">
+ <xml-root-element name="model-vers" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelVer" name="model-ver" type="inventory.aai.openecomp.org.v9.ModelVer" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelVer">
+ <xml-root-element name="model-ver" />
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models" />
+ <xml-property name="nameProps" value="model-name" />
+ <xml-property name="indexedProps" value="model-version-id,model-name,model-version" />
+ <xml-property name="uniqueProps" value="model-version-id" />
+ <xml-property name="container" value="model-vers" />
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the model, which can change from version to version." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Version" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+ <java-type name="TestObjects">
+ <xml-root-element name="test-objects" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="testObject" name="test-object" type="inventory.aai.openecomp.org.v9.TestObject" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0" />
+ <xml-property name="description" value="Collection of VNFs" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="TestObject">
+ <xml-root-element name="test-object" />
+ <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-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 test-object, also used for troubleshooting and is IP used for traps generated by test-object." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nmLanV6Address" name="nm-lan-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 Loopback address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementV6Address" name="management-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 management address" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpu" name="vcpu" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpuUnits" name="vcpu-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemory" name="vmemory" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemoryUnits" name="vmemory-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdisk" name="vdisk" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdiskUnits" name="vdisk-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="details regarding the test-object 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 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="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-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="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model." />
+ <xml-property name="visibility" value="internal" />
+ <xml-property name="dbAlias" value="model-version-id-local" />
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
+ <xml-property name="dbAlias" value="model-customization-id" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="as-number of the VNF" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceSubzone" name="regional-resource-subzone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="represents sub zone of the rr plane" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+ </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="test-objects" />
+ <xml-property name="namespace" value="network" />
+ <xml-property name="extends" value="vnf" />
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PortGroups">
+ <xml-root-element name="port-groups" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="portGroup" name="port-group" type="inventory.aai.openecomp.org.v9.PortGroup" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PortGroup">
+ <xml-root-element name="port-group" />
+ <java-attributes>
+ <xml-element java-attribute="interfaceId" name="interface-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of this Interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkName" name="neutron-network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network name of this Interface" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupId" name="port-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for port group in vmware" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupName" name="port-group-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Likely to duplicate value of neutron network name" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="switchName" name="switch-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="DVS or standard switch name (should be non-null for port groups associated with DVS)" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+ </xml-properties>
+ </xml-element>
+ </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="RelationshipList">
+ <xml-root-element name="relationship-list" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.openecomp.org.v9.Relationship" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Relationship">
+ <xml-root-element name="relationship" />
+ <java-attributes>
+ <xml-element java-attribute="relatedTo" name="related-to" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate type of node." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to the object in A&amp;AI." />
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.openecomp.org.v9.RelationshipData" />
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.openecomp.org.v9.RelatedToProperty" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedToProperty">
+ <xml-root-element name="related-to-property" />
+ <java-attributes>
+ <xml-element java-attribute="propertyKey" name="property-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Key part of a key/value pair" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value part of a key/value pair" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelationshipData">
+ <xml-root-element name="relationship-data" />
+ <java-attributes>
+ <xml-element java-attribute="relationshipKey" name="relationship-key" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate an attribute." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipValue" name="relationship-value" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value of the attribute." />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+ <java-type name="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="VpnBindings">
+ <xml-root-element name="vpn-bindings" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vpnBinding" name="vpn-binding" type="inventory.aai.openecomp.org.v9.VpnBinding" />
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VpnBinding">
+ <xml-root-element name="vpn-binding" />
+ <java-attributes>
+ <xml-element java-attribute="vpnId" name="vpn-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="VPN ID, globally unique within A&amp;AI" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnName" name="vpn-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="VPN Name" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="globalRouteTarget" name="global-route-target" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Number used to identify a VPN, globally unique in the network" />
+ <xml-property name="dataLink" value="./route-targets/route-target/{global-route-target}/{route-target-role}" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnPlatform" name="vpn-platform" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the platform associated with the VPN example AVPN, Mobility" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnType" name="vpn-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the vpn, should be taken from enumerated/valid values" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeDistinguisher" name="route-distinguisher" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTargetRole" name="route-target-role" 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-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList">
+ <xml-properties>
+ <xml-property name="description" value="l3-networks relate to vpn-bindings" />
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPN binding" />
+ <xml-property name="nameProps" value="vpn-name,vpn-type" />
+ <xml-property name="indexedProps" value="vpn-name,vpn-id,global-route-target,vpn-type" />
+ <xml-property name="searchable" value="vpn-id,vpn-name" />
+ <xml-property name="uniqueProps" value="vpn-id" />
+ <xml-property name="container" value="vpn-bindings" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+ </java-types>
+</xml-bindings>
diff --git a/aai-core/src/test/resources/org/openecomp/aai/introspection/sideeffect/nested-case.json b/aai-core/src/test/resources/org/openecomp/aai/introspection/sideeffect/nested-case.json
new file mode 100644
index 00000000..40a0493a
--- /dev/null
+++ b/aai-core/src/test/resources/org/openecomp/aai/introspection/sideeffect/nested-case.json
@@ -0,0 +1,18 @@
+{
+ "global-customer-id": "key1",
+ "subscriber-name": "44IPZu0Ri",
+ "subscriber-type": "gIgOtou5Np5u",
+ "service-subscriptions": {
+ "service-subscription" : [ {
+ "service-type" : "key2",
+ "temp-ub-sub-account-id" : "JJYRez",
+ "service-instances" : {
+ "service-instance" : [ {
+ "service-instance-id" : "nested-instance-key",
+ "model-invariant-id" : "key1",
+ "model-version-id" : "key2"
+ }]
+ }
+ }]
+ }
+ } \ No newline at end of file
diff --git a/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/ambiguous-relationship.json b/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/ambiguous-relationship.json
new file mode 100644
index 00000000..241cc146
--- /dev/null
+++ b/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/ambiguous-relationship.json
@@ -0,0 +1,10 @@
+{
+ "related-to": "test-object",
+ "relationship-data" : [{
+ "relationship-key" : "test-object.vnf-id",
+ "relationship-value":"key1"
+ },{
+ "relationship-key" : "test-object.vnf-id",
+ "relationship-value":"key2"
+ }]
+} \ No newline at end of file
diff --git a/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/both-failv10-successv9.json b/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/both-failv10-successv9.json
new file mode 100644
index 00000000..0f0378d9
--- /dev/null
+++ b/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/both-failv10-successv9.json
@@ -0,0 +1,8 @@
+{
+ "related-to": "test-object",
+ "related-link": "/aai/v10/network/test-objects/test-objet/key1",
+ "relationship-data" : [{
+ "relationship-key" : "test-object.vnf-id",
+ "relationship-value":"key2"
+ }]
+} \ No newline at end of file
diff --git a/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/both-successv10-failv9.json b/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/both-successv10-failv9.json
new file mode 100644
index 00000000..490bbd30
--- /dev/null
+++ b/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/both-successv10-failv9.json
@@ -0,0 +1,8 @@
+{
+ "related-to": "test-object",
+ "related-link": "http://localhost/aai/v10/network/test-objects/test-object/key1",
+ "relationship-data" : [{
+ "relationship-key" : "test-obect.vnf-id",
+ "relationship-value":"key2"
+ }]
+} \ No newline at end of file
diff --git a/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/only-related-link.json b/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/only-related-link.json
new file mode 100644
index 00000000..15e383aa
--- /dev/null
+++ b/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/only-related-link.json
@@ -0,0 +1,4 @@
+{
+ "related-to": "test-object",
+ "related-link": "http://localhost/aai/v10/network/test-objects/test-object/key1"
+} \ No newline at end of file
diff --git a/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/only-relationship-data.json b/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/only-relationship-data.json
new file mode 100644
index 00000000..dc7445e0
--- /dev/null
+++ b/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/only-relationship-data.json
@@ -0,0 +1,7 @@
+{
+ "related-to": "test-object",
+ "relationship-data" : [{
+ "relationship-key" : "test-object.vnf-id",
+ "relationship-value":"key1"
+ }]
+} \ No newline at end of file
diff --git a/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/too-many-items-relationship.json b/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/too-many-items-relationship.json
new file mode 100644
index 00000000..97765cfb
--- /dev/null
+++ b/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/too-many-items-relationship.json
@@ -0,0 +1,19 @@
+{
+ "related-to": "l-interface",
+ "relationship-data" : [{
+ "relationship-key" : "generic-vnf.vnf-id",
+ "relationship-value":"key1"
+ },{
+ "relationship-key" : "subnet.subnet-id",
+ "relationship-value":"key5"
+ },{
+ "relationship-key" : "vlan.vlan-interface",
+ "relationship-value":"key3"
+ },{
+ "relationship-key" : "l-interface.interface-name",
+ "relationship-value":"key2"
+ },{
+ "relationship-key" : "l3-interface-ipv4-address-list.l3-interface-ipv4-address",
+ "relationship-value":"key4"
+ }]
+}
diff --git a/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/top-level-two-keys-relationship.json b/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/top-level-two-keys-relationship.json
new file mode 100644
index 00000000..c6dbf557
--- /dev/null
+++ b/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/top-level-two-keys-relationship.json
@@ -0,0 +1,13 @@
+{
+ "related-to" : "availability-zone",
+ "relationship-data" : [ {
+ "relationship-key" : "cloud-region.cloud-owner",
+ "relationship-value" : "key1"
+ }, {
+ "relationship-key" : "cloud-region.cloud-region-id",
+ "relationship-value" : "key2"
+ }, {
+ "relationship-key" : "availability-zone.availability-zone-name",
+ "relationship-value" : "key3"
+ } ]
+} \ No newline at end of file
diff --git a/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/two-top-level-relationship.json b/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/two-top-level-relationship.json
new file mode 100644
index 00000000..54cac2c8
--- /dev/null
+++ b/aai-core/src/test/resources/org/openecomp/aai/parsers/relationship/two-top-level-relationship.json
@@ -0,0 +1,19 @@
+{
+ "related-to": "l-interface",
+ "relationship-data" : [{
+ "relationship-key" : "generic-vnf.vnf-id",
+ "relationship-value":"key1"
+ },{
+ "relationship-key" : "vlan.vlan-interface",
+ "relationship-value":"key3"
+ },{
+ "relationship-key" : "l-interface.interface-name",
+ "relationship-value":"key2"
+ },{
+ "relationship-key" : "zone.zone-id",
+ "relationship-value":"key5"
+ },{
+ "relationship-key" : "l3-interface-ipv4-address-list.l3-interface-ipv4-address",
+ "relationship-value":"key4"
+ }]
+}
diff --git a/aai-core/src/test/resources/org/openecomp/aai/serialization/queryformats/graphson/resource.graphson b/aai-core/src/test/resources/org/openecomp/aai/serialization/queryformats/graphson/resource.graphson
new file mode 100644
index 00000000..04f48174
--- /dev/null
+++ b/aai-core/src/test/resources/org/openecomp/aai/serialization/queryformats/graphson/resource.graphson
@@ -0,0 +1,2 @@
+{"id": 386506928,"label": "vertex","properties": {"aai-last-mod-ts": [{"id": "ob632u-6e46nk-5j45","value": 1488308500413}],"aai-uri": [{"id": "ob6712-6e46nk-5lhh","value": "/cloud-infrastructure/cloud-regions/cloud-region/cloud-owner-987654321-9922-as988q/cloud-region-id-987654321-9922-as988q/tenants/tenant/tenant-987654321-9999-as988q/vservers/vserver/vserver-987654321-9999-as988q"}],"prov-status": [{"id": "ob651y-6e46nk-1kw5","value": "example-prov-status-val-7367"}],"aai-created-ts": [{"id": "ob62ae-6e46nk-5gqt","value": 1488308500413}],"source-of-truth": [{"id": "ob61w6-6e46nk-5jwl","value": "FitNesse-Test-as988q"}],"vserver-selflink": [{"id": "ob65g6-6e46nk-3xfp","value": "example-vserver-selflink-val-7367"}],"aai-node-type": [{"id": "ob61hy-6e46nk-5f5x","value": "vserver"}],"in-maint": [{"id": "ob65ue-6e46nk-20p1","value": false}],"resource-version": [{"id": "ob62om-6e46nk-23ut","value": "1488308500413"}],"vserver-name": [{"id": "ob649i-6e46nk-3u9x","value": "example-vserver-name-val-7367vserver-987654321-9999-as988q"}],"vserver-id": [{"id": "ob63va-6e46nk-3sp1","value": "vserver-987654321-9999-as988q"}],"last-mod-source-of-truth": [{"id": "ob63h2-6e46nk-5edh","value": "FitNesse-Test-as988q"}],"vserver-name2": [{"id": "ob64nq-6e46nk-3vut","value": "example-vserver-name2-val-7367"}],"is-closed-loop-disabled": [{"id": "ob668m-6e46nk-229x","value": false}]}}
+{"id": 2461872,"label": "vertex","properties": {"aai-last-mod-ts": [{"id": "21hqu-1grlc-5j45","value": 1467901600}],"in-maint": [{"id": "21i52-1grlc-20p1","value": false}],"resource-version": [{"id": "21ija-1grlc-23ut","value": "1467901600"}],"vserver-name": [{"id": "21ixi-1grlc-3u9x","value": "PerfTest_VServerFix0027TenantPez002701611467901587187Name"}],"aai-created-ts": [{"id": "21jbq-1grlc-5gqt","value": 1467901600}],"vserver-id": [{"id": "21jpy-1grlc-3sp1","value": "PerfTest_VServerFix0027TenantPez002701611467901587187"}],"last-mod-source-of-truth": [{"id": "21k46-1grlc-5edh","value": "MSO"}],"vserver-name2": [{"id": "21kie-1grlc-3vut","value": "PerfTest_VServerFix0027TenantPez002701611467901587187-VM Name2 optional"}],"source-of-truth": [{"id": "21kwm-1grlc-5jwl","value": "MSO"}],"vserver-selflink": [{"id": "21lau-1grlc-3xfp","value": "http://testvserverLink.com/.html?vserv=VserverLink"}],"is-closed-loop-disabled": [{"id": "21lp2-1grlc-229x","value": false}],"aai-node-type": [{"id": "21m3a-1grlc-5f5x","value": "vserver"}],"aai-uri": [{"id": "21m3a-1grlc-5a5x","value": "/vservers/vserver/test1"}]}} \ No newline at end of file
diff --git a/aai-core/src/test/resources/org/openecomp/aai/serialization/queryformats/resource-format.json b/aai-core/src/test/resources/org/openecomp/aai/serialization/queryformats/resource-format.json
new file mode 100644
index 00000000..c7e42556
--- /dev/null
+++ b/aai-core/src/test/resources/org/openecomp/aai/serialization/queryformats/resource-format.json
@@ -0,0 +1,13 @@
+{
+ "results": [
+ {
+ "vserver": {
+
+ }
+ },
+ {
+ "vserver": {
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/aai-core/src/test/resources/org/openecomp/aai/serialization/queryformats/resource_and_url-format.json b/aai-core/src/test/resources/org/openecomp/aai/serialization/queryformats/resource_and_url-format.json
new file mode 100644
index 00000000..80d6560b
--- /dev/null
+++ b/aai-core/src/test/resources/org/openecomp/aai/serialization/queryformats/resource_and_url-format.json
@@ -0,0 +1,16 @@
+{
+ "results": [
+ {
+ "url" : "/cloud-infrastructure/cloud-regions/cloud-region/cloud-owner-987654321-9922/cloud-region-id-987654321-9922/tenants/tenant/tenant-987654321-9999/vservers/vserver/vserver-987654321-9999",
+ "vserver": {
+
+ }
+ },
+ {
+ "url" : "/vservers/vserver/test1",
+ "vserver": {
+
+ }
+ }
+ ]
+}
diff --git a/aai-core/src/test/resources/org/openecomp/aai/serialization/queryformats/simple-format.json b/aai-core/src/test/resources/org/openecomp/aai/serialization/queryformats/simple-format.json
new file mode 100644
index 00000000..dd342615
--- /dev/null
+++ b/aai-core/src/test/resources/org/openecomp/aai/serialization/queryformats/simple-format.json
@@ -0,0 +1,43 @@
+{
+ "results" : [{
+ "id" : "0",
+ "node-type" : "generic-vnf",
+ "url" : "urimissing",
+ "properties" : {
+ "vnf-name" : "myVnf"
+ },
+ "related-to" : [{
+ "node-type" : "vserver",
+ "id" : "1",
+ "url" : "urimissing"
+ }]
+ } , {
+ "id" : "1",
+ "node-type" : "vserver",
+ "url" : "urimissing",
+ "properties" : {
+ "vserver-name" : "myVserver"
+ },
+ "related-to" : [{
+ "node-type" : "generic-vnf",
+ "id" : "0",
+ "url" : "urimissing"
+ },{
+ "node-type" : "pserver",
+ "id" : "2",
+ "url" : "/pservers/pserver/key1"
+ }]
+ },{
+ "id" : "2",
+ "node-type" : "pserver",
+ "url" : "/pservers/pserver/key1",
+ "properties" : {
+ "hostname" : "myPserver"
+ },
+ "related-to" : [{
+ "node-type" : "vserver",
+ "id" : "1",
+ "url" : "urimissing"
+ }]
+ }]
+} \ No newline at end of file