summaryrefslogtreecommitdiffstats
path: root/aai-core/src
diff options
context:
space:
mode:
Diffstat (limited to 'aai-core/src')
-rw-r--r--aai-core/src/main/java/org/onap/aai/audit/ListEndpoints.java9
-rw-r--r--aai-core/src/main/java/org/onap/aai/config/SwaggerGenerationConfiguration.java47
-rw-r--r--aai-core/src/main/java/org/onap/aai/dbgen/GraphSONPartialIO.java158
-rw-r--r--aai-core/src/main/java/org/onap/aai/dbgen/GraphSONPartialReader.java354
-rw-r--r--aai-core/src/main/java/org/onap/aai/dbgen/SchemaGenerator.java13
-rw-r--r--aai-core/src/main/java/org/onap/aai/dbmap/InMemoryGraph.java149
-rw-r--r--aai-core/src/main/java/org/onap/aai/extensions/OrphanLInterfaceHandler.java110
-rw-r--r--aai-core/src/main/java/org/onap/aai/ingestModel/CreateWidgetModels.java16
-rw-r--r--aai-core/src/main/java/org/onap/aai/parsers/uri/URIParser.java15
-rw-r--r--aai-core/src/main/java/org/onap/aai/query/builder/GraphTraversalBuilder.java226
-rw-r--r--aai-core/src/main/java/org/onap/aai/query/builder/GremlinQueryBuilder.java198
-rw-r--r--aai-core/src/main/java/org/onap/aai/query/builder/QueryBuilder.java47
-rw-r--r--aai-core/src/main/java/org/onap/aai/rest/db/HttpEntry.java339
-rw-r--r--aai-core/src/main/java/org/onap/aai/restcore/HttpMethod.java3
-rw-r--r--aai-core/src/main/java/org/onap/aai/restcore/search/GremlinGroovyShell.java (renamed from aai-core/src/main/java/org/onap/aai/restcore/search/GremlinGroovyShellSingleton.java)15
-rw-r--r--aai-core/src/main/java/org/onap/aai/restcore/search/GroovyQueryBuilder.java (renamed from aai-core/src/main/java/org/onap/aai/restcore/search/GroovyQueryBuilderSingleton.java)18
-rw-r--r--aai-core/src/main/java/org/onap/aai/serialization/db/DBSerializer.java53
-rw-r--r--aai-core/src/main/java/org/onap/aai/service/NodeValidationService.java56
-rw-r--r--aai-core/src/main/java/org/onap/aai/util/AAIConstants.java19
-rw-r--r--aai-core/src/main/java/org/onap/aai/util/GenerateXsd.java50
-rw-r--r--aai-core/src/main/java/org/onap/aai/util/genxsd/NodesYAMLfromOXM.java13
-rw-r--r--aai-core/src/main/java/org/onap/aai/util/genxsd/OxmFileProcessor.java82
-rw-r--r--aai-core/src/main/java/org/onap/aai/util/genxsd/PutOperation.java14
-rw-r--r--aai-core/src/main/java/org/onap/aai/util/genxsd/XSDElement.java36
-rw-r--r--aai-core/src/main/java/org/onap/aai/util/genxsd/YAMLfromOXM.java19
-rw-r--r--aai-core/src/main/java/org/onap/aai/web/EventClientPublisher.java2
-rw-r--r--aai-core/src/main/resources/schema-ingest.properties1
-rw-r--r--aai-core/src/test/java/org/onap/aai/AAISetup.java23
-rw-r--r--aai-core/src/test/java/org/onap/aai/DataLinkSetup.java120
-rw-r--r--aai-core/src/test/java/org/onap/aai/concurrent/AaiCallableTest.java38
-rw-r--r--aai-core/src/test/java/org/onap/aai/exceptions/AAIExceptionTest.java166
-rw-r--r--aai-core/src/test/java/org/onap/aai/exceptions/AAIExceptionWithInfoTest.java228
-rw-r--r--aai-core/src/test/java/org/onap/aai/introspection/IntrospectorTestSpec.java56
-rw-r--r--aai-core/src/test/java/org/onap/aai/introspection/MoxyEngineTest.java24
-rw-r--r--aai-core/src/test/java/org/onap/aai/introspection/PropertyPredicatesTest.java66
-rw-r--r--aai-core/src/test/java/org/onap/aai/introspection/generator/CreateExampleTest.java172
-rw-r--r--aai-core/src/test/java/org/onap/aai/introspection/sideeffect/DataCopyTest.java399
-rw-r--r--aai-core/src/test/java/org/onap/aai/introspection/sideeffect/DataLinkTest.java575
-rw-r--r--aai-core/src/test/java/org/onap/aai/introspection/sideeffect/PrivateEdgeTest.java236
-rw-r--r--aai-core/src/test/java/org/onap/aai/introspection/tools/CreateUUIDTest.java2
-rw-r--r--aai-core/src/test/java/org/onap/aai/introspection/tools/DefaultFieldsTest.java4
-rw-r--r--aai-core/src/test/java/org/onap/aai/introspection/tools/InjectKeysFromURITest.java4
-rw-r--r--aai-core/src/test/java/org/onap/aai/introspection/tools/IntrospectorValidatorTest.java4
-rw-r--r--aai-core/src/test/java/org/onap/aai/introspection/tools/RemoveNonVisiblePropertyTest.java4
-rw-r--r--aai-core/src/test/java/org/onap/aai/introspection/validation/IntrospectorValidationTest.java94
-rw-r--r--aai-core/src/test/java/org/onap/aai/logging/CustomLogPatternLayoutTest.java38
-rw-r--r--aai-core/src/test/java/org/onap/aai/logging/EcompErrorCategoryTest.java4
-rw-r--r--aai-core/src/test/java/org/onap/aai/logging/EcompResponseCodeTest.java2
-rw-r--r--aai-core/src/test/java/org/onap/aai/logging/ErrorObjectTest.java264
-rw-r--r--aai-core/src/test/java/org/onap/aai/logging/LoggingContextTest.java108
-rw-r--r--aai-core/src/test/java/org/onap/aai/parsers/query/GraphTraversalTest.java1509
-rw-r--r--aai-core/src/test/java/org/onap/aai/parsers/query/LegacyQueryTest.java200
-rw-r--r--aai-core/src/test/java/org/onap/aai/parsers/query/RelationshipGremlinQueryTest.java1188
-rw-r--r--aai-core/src/test/java/org/onap/aai/parsers/query/RelationshipQueryTest.java438
-rw-r--r--aai-core/src/test/java/org/onap/aai/parsers/query/UniqueRelationshipQueryTest.java476
-rw-r--r--aai-core/src/test/java/org/onap/aai/parsers/query/UniqueURIQueryTest.java270
-rw-r--r--aai-core/src/test/java/org/onap/aai/parsers/relationship/RelationshipToURITest.java320
-rw-r--r--aai-core/src/test/java/org/onap/aai/parsers/uri/URIParserTest.java116
-rw-r--r--aai-core/src/test/java/org/onap/aai/parsers/uri/URIToDBKeyTest.java258
-rw-r--r--aai-core/src/test/java/org/onap/aai/parsers/uri/URIToExtensionInformationTest.java104
-rw-r--r--aai-core/src/test/java/org/onap/aai/parsers/uri/URIToObjectTest.java378
-rw-r--r--aai-core/src/test/java/org/onap/aai/parsers/uri/URIToRelationshipObjectTest.java202
-rw-r--r--aai-core/src/test/java/org/onap/aai/query/builder/ExcludeQueryTest.java160
-rw-r--r--aai-core/src/test/java/org/onap/aai/query/builder/GremlinTraversalTest.java80
-rw-r--r--aai-core/src/test/java/org/onap/aai/query/builder/QueryBuilderTestAbstraction.java1276
-rw-r--r--aai-core/src/test/java/org/onap/aai/query/builder/QueryTestsConfigTranslator.java34
-rw-r--r--aai-core/src/test/java/org/onap/aai/query/builder/SimplePathTest.java146
-rw-r--r--aai-core/src/test/java/org/onap/aai/query/builder/TraversalQueryTest.java402
-rw-r--r--aai-core/src/test/java/org/onap/aai/query/builder/TraversalURIOptimizedQueryTest.java72
-rw-r--r--aai-core/src/test/java/org/onap/aai/query/builder/UntilTest.java126
-rw-r--r--aai-core/src/test/java/org/onap/aai/query/builder/optimization/AbstractGraphTraversalBuilderOptmizationTest.java306
-rw-r--r--aai-core/src/test/java/org/onap/aai/query/builder/optimization/AbstractGraphTraversalBuilderTestQueryiesToRun.java286
-rw-r--r--aai-core/src/test/java/org/onap/aai/query/builder/optimization/OptimizeEnum.java2
-rw-r--r--aai-core/src/test/java/org/onap/aai/query/builder/optimization/tests/AOneTenantOneVserversPerTenantTest.java46
-rw-r--r--aai-core/src/test/java/org/onap/aai/query/builder/optimization/tests/BTenTenantTenVserversPerTenantTest.java46
-rw-r--r--aai-core/src/test/java/org/onap/aai/rest/PserverDuplicateTest.java19
-rw-r--r--aai-core/src/test/java/org/onap/aai/rest/PserverTest.java2
-rw-r--r--aai-core/src/test/java/org/onap/aai/rest/db/HttpEntryTest.java36
-rw-r--r--aai-core/src/test/java/org/onap/aai/serialization/db/DbAliasTest.java3
-rw-r--r--aai-core/src/test/java/org/onap/aai/serialization/db/DbSerializerTest.java9
-rw-r--r--aai-core/src/test/java/org/onap/aai/serialization/db/DbSerializer_needsFakeRulesTest.java12
-rw-r--r--aai-core/src/test/java/org/onap/aai/serialization/tinkerpop/TreeBackedVertexTest.java2
-rw-r--r--aai-core/src/test/java/org/onap/aai/testutils/TestUtilConfigTranslatorforDataLink.java56
-rw-r--r--aai-core/src/test/java/org/onap/aai/util/genxsd/NodesYAMLfromOXMTest.java13
-rw-r--r--aai-core/src/test/java/org/onap/aai/util/genxsd/XSDElementTest.java17
-rw-r--r--aai-core/src/test/resources/dbedgerules/DbEdgerules_four.json1808
-rw-r--r--aai-core/src/test/resources/dbedgerules/DbEdgerules_one.json1313
-rw-r--r--aai-core/src/test/resources/dbedgerules/DbEdgerules_three.json1731
-rw-r--r--aai-core/src/test/resources/dbedgerules/DbEdgerules_two.json1467
-rw-r--r--aai-core/src/test/resources/onap/dbedgerules/v10/DbEdgeRules_v10.json1808
-rw-r--r--aai-core/src/test/resources/onap/dbedgerules/v11/DbEdgeRules_esr_v11.json64
-rw-r--r--aai-core/src/test/resources/onap/dbedgerules/v11/DbEdgeRules_v11.json2138
-rw-r--r--aai-core/src/test/resources/onap/dbedgerules/v12/DbEdgeRules_esr_v12.json64
-rw-r--r--aai-core/src/test/resources/onap/dbedgerules/v12/DbEdgeRules_hpa_v12.json43
-rw-r--r--aai-core/src/test/resources/onap/dbedgerules/v12/DbEdgeRules_v12.json2500
-rw-r--r--aai-core/src/test/resources/onap/dbedgerules/v13/DbEdgeRules_esr_v13.json64
-rw-r--r--aai-core/src/test/resources/onap/dbedgerules/v13/DbEdgeRules_hpa_v13.json43
-rw-r--r--aai-core/src/test/resources/onap/dbedgerules/v13/DbEdgeRules_v13.json2824
-rw-r--r--aai-core/src/test/resources/onap/dbedgerules/v14/DbEdgeRules_ccvpn_v14.json352
-rw-r--r--aai-core/src/test/resources/onap/dbedgerules/v14/DbEdgeRules_esr_v14.json64
-rw-r--r--aai-core/src/test/resources/onap/dbedgerules/v14/DbEdgeRules_hpa_v14.json68
-rw-r--r--aai-core/src/test/resources/onap/dbedgerules/v14/DbEdgeRules_pnp_v14.json17
-rw-r--r--aai-core/src/test/resources/onap/dbedgerules/v14/DbEdgeRules_v14.json3056
-rw-r--r--aai-core/src/test/resources/onap/oxm/v10/aai_oxm_v10.xml5586
-rw-r--r--aai-core/src/test/resources/onap/oxm/v11/aai_oxm_v11.xml6565
-rw-r--r--aai-core/src/test/resources/onap/oxm/v12/aai_oxm_v12.xml6988
-rw-r--r--aai-core/src/test/resources/onap/oxm/v13/aai_oxm_v13.xml7061
-rw-r--r--aai-core/src/test/resources/onap/oxm/v14/aai_oxm_v14.xml8485
-rw-r--r--aai-core/src/test/resources/oxm/dbalias_oxm_four.xml5514
-rw-r--r--aai-core/src/test/resources/oxm/dbalias_oxm_one.xml4237
-rw-r--r--aai-core/src/test/resources/oxm/dbalias_oxm_three.xml5398
-rw-r--r--aai-core/src/test/resources/oxm/dbalias_oxm_two.xml4716
-rw-r--r--aai-core/src/test/resources/schema-ingest.properties4
-rw-r--r--aai-core/src/test/resources/test_aaiconfig.properties185
114 files changed, 81236 insertions, 6230 deletions
diff --git a/aai-core/src/main/java/org/onap/aai/audit/ListEndpoints.java b/aai-core/src/main/java/org/onap/aai/audit/ListEndpoints.java
index c56fdd7f..fc383581 100644
--- a/aai-core/src/main/java/org/onap/aai/audit/ListEndpoints.java
+++ b/aai-core/src/main/java/org/onap/aai/audit/ListEndpoints.java
@@ -3,6 +3,8 @@
* org.onap.aai
* ================================================================================
* Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ *
+ * Modifications Copyright (C) 2019 IBM.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -74,9 +76,10 @@ public class ListEndpoints {
String schemaUriBasePath = context.getEnvironment().getProperty("schema.uri.base.path");
if(schemaUriBasePath == null){
- System.err.println("Unable to find the property schema.uri.base.path,"
- +" please check if specified in system property or in schema-ingest.properties"
- );
+ String errorMsg = "Unable to find the property schema.uri.base.path,"
+ +" please check if specified in system property or in schema-ingest.properties";
+ System.err.println(errorMsg);
+ LOGGER.error(errorMsg);
}
SchemaVersions schemaVersions = context.getBean(SchemaVersions.class);
diff --git a/aai-core/src/main/java/org/onap/aai/config/SwaggerGenerationConfiguration.java b/aai-core/src/main/java/org/onap/aai/config/SwaggerGenerationConfiguration.java
index 9aae5a62..dea284c8 100644
--- a/aai-core/src/main/java/org/onap/aai/config/SwaggerGenerationConfiguration.java
+++ b/aai-core/src/main/java/org/onap/aai/config/SwaggerGenerationConfiguration.java
@@ -37,31 +37,28 @@ import org.springframework.context.annotation.Scope;
@Configuration
public class SwaggerGenerationConfiguration {
- @Value("${schema.uri.base.path}")
- private String basePath;
+ @Value("${schema.uri.base.path}")
+ private String basePath;
- @Value("${schema.xsd.maxoccurs:5000}")
- private String maxOccurs;
-
- @Bean
- @Scope(scopeName = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
- public NodesYAMLfromOXM nodesYamlFromOXM(SchemaVersions schemaVersions, NodeIngestor nodeIngestor, EdgeIngestor edgeIngestor) {
- NodesYAMLfromOXM nodesYamlFromOXM = new NodesYAMLfromOXM(basePath, schemaVersions, nodeIngestor, edgeIngestor);
- return nodesYamlFromOXM;
- }
-
- @Bean
- @Scope(scopeName = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
- public HTMLfromOXM htmlFromOXM(SchemaVersions schemaVersions, NodeIngestor nodeIngestor, EdgeIngestor edgeIngestor) {
- HTMLfromOXM htmlFromOXM = new HTMLfromOXM(maxOccurs, schemaVersions, nodeIngestor, edgeIngestor);
- return htmlFromOXM;
- }
-
- @Bean
- @Scope(scopeName = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
- public YAMLfromOXM yamlFromOXM(SchemaVersions schemaVersions, NodeIngestor nodeIngestor, EdgeIngestor edgeIngestor) {
- YAMLfromOXM yamlFromOXM = new YAMLfromOXM(basePath, schemaVersions, nodeIngestor, edgeIngestor);
- return yamlFromOXM;
- }
+ @Value("${schema.xsd.maxoccurs:5000}")
+ private String maxOccurs;
+
+ @Bean
+ @Scope(scopeName = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
+ public NodesYAMLfromOXM nodesYamlFromOXM(SchemaVersions schemaVersions, NodeIngestor nodeIngestor, EdgeIngestor edgeIngestor) {
+ return new NodesYAMLfromOXM(basePath, schemaVersions, nodeIngestor, edgeIngestor);
+ }
+
+ @Bean
+ @Scope(scopeName = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
+ public HTMLfromOXM htmlFromOXM(SchemaVersions schemaVersions, NodeIngestor nodeIngestor, EdgeIngestor edgeIngestor) {
+ return new HTMLfromOXM(maxOccurs, schemaVersions, nodeIngestor, edgeIngestor);
+ }
+
+ @Bean
+ @Scope(scopeName = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
+ public YAMLfromOXM yamlFromOXM(SchemaVersions schemaVersions, NodeIngestor nodeIngestor, EdgeIngestor edgeIngestor) {
+ return new YAMLfromOXM(basePath, schemaVersions, nodeIngestor, edgeIngestor);
+ }
}
diff --git a/aai-core/src/main/java/org/onap/aai/dbgen/GraphSONPartialIO.java b/aai-core/src/main/java/org/onap/aai/dbgen/GraphSONPartialIO.java
new file mode 100644
index 00000000..915db69c
--- /dev/null
+++ b/aai-core/src/main/java/org/onap/aai/dbgen/GraphSONPartialIO.java
@@ -0,0 +1,158 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.aai.dbgen;
+
+import org.apache.tinkerpop.gremlin.structure.Graph;
+import org.apache.tinkerpop.gremlin.structure.io.Io;
+import org.apache.tinkerpop.gremlin.structure.io.IoRegistry;
+import org.apache.tinkerpop.gremlin.structure.io.Mapper;
+import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONMapper;
+import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONReader;
+import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONVersion;
+import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONWriter;
+
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.Optional;
+import java.util.function.Consumer;
+
+/**
+ * Constructs GraphSON IO implementations given a {@link Graph} and {@link IoRegistry}. Implementers of the {@link Graph}
+ * interfaces should see the {@link GraphSONMapper} for information on the expectations for the {@link IoRegistry}.
+ *
+ * @author Stephen Mallette (http://stephen.genoprime.com)
+ */
+public final class GraphSONPartialIO implements Io<GraphSONPartialReader.Builder, GraphSONWriter.Builder, GraphSONMapper.Builder> {
+ private final IoRegistry registry;
+ private final Graph graph;
+ private final Optional<Consumer<Mapper.Builder>> onMapper;
+ private final GraphSONVersion version;
+
+ private GraphSONPartialIO(final Builder builder) {
+ this.registry = builder.registry;
+ this.graph = builder.graph;
+ this.onMapper = Optional.ofNullable(builder.onMapper);
+ this.version = builder.version;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public GraphSONPartialReader.Builder reader() {
+ return GraphSONPartialReader.build().mapper(mapper().create());
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public GraphSONWriter.Builder writer() {
+ return GraphSONWriter.build().mapper(mapper().create());
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public GraphSONMapper.Builder mapper() {
+ final GraphSONMapper.Builder builder = (null == this.registry) ?
+ GraphSONMapper.build().version(version) : GraphSONMapper.build().version(version).addRegistry(this.registry);
+ onMapper.ifPresent(c -> c.accept(builder));
+ return builder;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void writeGraph(final String file) throws IOException {
+ try (final OutputStream out = new FileOutputStream(file)) {
+ writer().create().writeGraph(out, graph);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void readGraph(final String file) throws IOException {
+ try (final InputStream in = new FileInputStream(file)) {
+ reader().create().readGraph(in, graph);
+ }
+ }
+
+ /**
+ * Create a new builder using the default version of GraphSON.
+ */
+ public static Io.Builder<GraphSONPartialIO> build() {
+ return build(GraphSONVersion.V1_0);
+ }
+
+ /**
+ * Create a new builder using the specified version of GraphSON.
+ */
+ public static Io.Builder<GraphSONPartialIO> build(final GraphSONVersion version) {
+ return new Builder(version);
+ }
+
+ public final static class Builder implements Io.Builder<GraphSONPartialIO> {
+
+ private IoRegistry registry = null;
+ private Graph graph;
+ private Consumer<Mapper.Builder> onMapper = null;
+ private final GraphSONVersion version;
+
+ Builder(final GraphSONVersion version) {
+ this.version = version;
+ }
+
+ /**
+ * @deprecated As of release 3.2.2, replaced by {@link #onMapper(Consumer)}.
+ */
+ @Deprecated
+ @Override
+ public Io.Builder<GraphSONPartialIO> registry(final IoRegistry registry) {
+ this.registry = registry;
+ return this;
+ }
+
+ @Override
+ public Io.Builder<? extends Io> onMapper(final Consumer<Mapper.Builder> onMapper) {
+ this.onMapper = onMapper;
+ return this;
+ }
+
+ @Override
+ public Io.Builder<GraphSONPartialIO> graph(final Graph g) {
+ this.graph = g;
+ return this;
+ }
+
+ @Override
+ public GraphSONPartialIO create() {
+ if (null == graph) throw new IllegalArgumentException("The graph argument was not specified");
+ return new GraphSONPartialIO(this);
+ }
+ }
+}
diff --git a/aai-core/src/main/java/org/onap/aai/dbgen/GraphSONPartialReader.java b/aai-core/src/main/java/org/onap/aai/dbgen/GraphSONPartialReader.java
new file mode 100644
index 00000000..2088286d
--- /dev/null
+++ b/aai-core/src/main/java/org/onap/aai/dbgen/GraphSONPartialReader.java
@@ -0,0 +1,354 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.aai.dbgen;
+
+import org.apache.tinkerpop.gremlin.structure.Direction;
+import org.apache.tinkerpop.gremlin.structure.Edge;
+import org.apache.tinkerpop.gremlin.structure.Graph;
+import org.apache.tinkerpop.gremlin.structure.Property;
+import org.apache.tinkerpop.gremlin.structure.T;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.VertexProperty;
+import org.apache.tinkerpop.gremlin.structure.io.GraphReader;
+import org.apache.tinkerpop.gremlin.structure.io.GraphWriter;
+import org.apache.tinkerpop.gremlin.structure.io.Mapper;
+import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONMapper;
+import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONReader;
+import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONTokens;
+import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONVersion;
+import org.apache.tinkerpop.gremlin.structure.io.gryo.GryoWriter;
+import org.apache.tinkerpop.gremlin.structure.util.Attachable;
+import org.apache.tinkerpop.gremlin.structure.util.Host;
+import org.apache.tinkerpop.gremlin.structure.util.star.StarGraph;
+import org.apache.tinkerpop.gremlin.util.function.FunctionUtils;
+import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
+import org.apache.tinkerpop.shaded.jackson.core.type.TypeReference;
+import org.apache.tinkerpop.shaded.jackson.databind.JsonNode;
+import org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper;
+import org.apache.tinkerpop.shaded.jackson.databind.node.JsonNodeType;
+import org.onap.aai.dbmap.InMemoryGraph;
+
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.Function;
+import java.util.stream.Stream;
+
+/**
+ * This is a Wrapper around the GraphsonReader class
+ * The idea is to rewrite methods that are customized for A&AI
+ * GraphsonReader is a final class . hence the use of the Wrapper
+ * instead of inheriting-overwriting
+ *
+ *
+ */
+public final class GraphSONPartialReader implements GraphReader {
+ private final ObjectMapper mapper ;
+ private final long batchSize ;
+ private final GraphSONVersion version ;
+ private boolean unwrapAdjacencyList = false;
+ private final GraphSONReader reader;
+
+ private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(InMemoryGraph.class);
+
+ final TypeReference<Map<String, Object>> mapTypeReference = new TypeReference<Map<String, Object>>() {
+ };
+
+ private GraphSONPartialReader(final Builder builder) {
+ mapper = builder.mapper.createMapper();
+ batchSize = builder.batchSize;
+ unwrapAdjacencyList = builder.unwrapAdjacencyList;
+ version = ((GraphSONMapper)builder.mapper).getVersion();
+ reader = GraphSONReader.build().create();
+ }
+
+ /**
+ * Read data into a {@link Graph} from output generated by any of the {@link GraphSONWriter} {@code writeVertex} or
+ * {@code writeVertices} methods or by {@link GryoWriter#writeGraph(OutputStream, Graph)}.
+ *
+ * @param inputStream a stream containing an entire graph of vertices and edges as defined by the accompanying
+ * {@link GraphSONWriter#writeGraph(OutputStream, Graph)}.
+ * @param graphToWriteTo the graph to write to when reading from the stream.
+ */
+ @Override
+ public void readGraph(final InputStream inputStream, final Graph graphToWriteTo) throws IOException {
+ // dual pass - create all vertices and store to cache the ids. then create edges. as long as we don't
+ // have vertex labels in the output we can't do this single pass
+ LOGGER.info("Read the Partial Graph");
+ final Map<StarGraph.StarVertex,Vertex> cache = new HashMap<>();
+ final AtomicLong counter = new AtomicLong(0);
+
+ final boolean supportsTx = graphToWriteTo.features().graph().supportsTransactions();
+ final Graph.Features.EdgeFeatures edgeFeatures = graphToWriteTo.features().edge();
+
+ readVertexStrings(inputStream).<Vertex>map(FunctionUtils.wrapFunction(line -> readVertex(new ByteArrayInputStream(line.getBytes()), null, null, Direction.IN))).forEach(vertex -> {
+ try{
+ final Attachable<Vertex> attachable = (Attachable<Vertex>) vertex;
+ cache.put((StarGraph.StarVertex) attachable.get(), attachable.attach(Attachable.Method.create(graphToWriteTo)));
+ if (supportsTx && counter.incrementAndGet() % batchSize == 0)
+ graphToWriteTo.tx().commit();
+ }
+ catch(Exception ex){
+ LOGGER.info("Error in reading vertex from graphson"+vertex.toString());
+ }
+ });
+
+ cache.entrySet().forEach(kv -> kv.getKey().edges(Direction.IN).forEachRemaining(e -> {
+ try{
+ // can't use a standard Attachable attach method here because we have to use the cache for those
+ // graphs that don't support userSuppliedIds on edges. note that outVertex/inVertex methods return
+ // StarAdjacentVertex whose equality should match StarVertex.
+ final Vertex cachedOutV = cache.get(e.outVertex());
+ final Vertex cachedInV = cache.get(e.inVertex());
+
+ if(cachedOutV != null && cachedInV != null){
+
+ final Edge newEdge = edgeFeatures.willAllowId(e.id()) ? cachedOutV.addEdge(e.label(), cachedInV, T.id, e.id()) : cachedOutV.addEdge(e.label(), cachedInV);
+ e.properties().forEachRemaining(p -> newEdge.property(p.key(), p.value()));
+ }
+ else{
+ LOGGER.debug("Ghost edges from "+ cachedOutV + " to "+ cachedInV);
+
+ }
+ if (supportsTx && counter.incrementAndGet() % batchSize == 0)
+ graphToWriteTo.tx().commit();
+ }
+ catch(Exception ex){
+ LOGGER.info("Error in writing vertex into graph"+e.toString());
+ }
+ }));
+
+ if (supportsTx) graphToWriteTo.tx().commit();
+ }
+
+ /**
+ * Read {@link Vertex} objects from output generated by any of the {@link GraphSONWriter} {@code writeVertex} or
+ * {@code writeVertices} methods or by {@link GraphSONWriter#writeGraph(OutputStream, Graph)}.
+ *
+ * @param inputStream a stream containing at least one {@link Vertex} as defined by the accompanying
+ * {@link GraphWriter#writeVertices(OutputStream, Iterator, Direction)} or
+ * {@link GraphWriter#writeVertices(OutputStream, Iterator)} methods.
+ * @param vertexAttachMethod a function that creates re-attaches a {@link Vertex} to a {@link Host} object.
+ * @param edgeAttachMethod a function that creates re-attaches a {@link Edge} to a {@link Host} object.
+ * @param attachEdgesOfThisDirection only edges of this direction are passed to the {@code edgeMaker}.
+ */
+ @Override
+ public Iterator<Vertex> readVertices(final InputStream inputStream,
+ final Function<Attachable<Vertex>, Vertex> vertexAttachMethod,
+ final Function<Attachable<Edge>, Edge> edgeAttachMethod,
+ final Direction attachEdgesOfThisDirection) throws IOException {
+ // return readVertexStrings(inputStream).<Vertex>map(FunctionUtils.wrapFunction(line -> readVertex(new ByteArrayInputStream(line.getBytes()), vertexAttachMethod, edgeAttachMethod, attachEdgesOfThisDirection))).iterator();
+ return reader.readVertices(inputStream, vertexAttachMethod, edgeAttachMethod, attachEdgesOfThisDirection);
+
+ }
+
+ /**
+ * Read a {@link Vertex} from output generated by any of the {@link GraphSONWriter} {@code writeVertex} or
+ * {@code writeVertices} methods or by {@link GraphSONWriter#writeGraph(OutputStream, Graph)}.
+ *
+ * @param inputStream a stream containing at least a single vertex as defined by the accompanying
+ * {@link GraphWriter#writeVertex(OutputStream, Vertex)}.
+ * @param vertexAttachMethod a function that creates re-attaches a {@link Vertex} to a {@link Host} object.
+ */
+ @Override
+ public Vertex readVertex(final InputStream inputStream, final Function<Attachable<Vertex>, Vertex> vertexAttachMethod) throws IOException {
+ return reader.readVertex(inputStream, vertexAttachMethod);
+ }
+
+ /**
+ * Read a {@link Vertex} from output generated by any of the {@link GraphSONWriter} {@code writeVertex} or
+ * {@code writeVertices} methods or by {@link GraphSONWriter#writeGraph(OutputStream, Graph)}.
+ *
+ * @param inputStream a stream containing at least one {@link Vertex} as defined by the accompanying
+ * {@link GraphWriter#writeVertices(OutputStream, Iterator, Direction)} method.
+ * @param vertexAttachMethod a function that creates re-attaches a {@link Vertex} to a {@link Host} object.
+ * @param edgeAttachMethod a function that creates re-attaches a {@link Edge} to a {@link Host} object.
+ * @param attachEdgesOfThisDirection only edges of this direction are passed to the {@code edgeMaker}.
+ */
+ @Override
+ public Vertex readVertex(final InputStream inputStream,
+ final Function<Attachable<Vertex>, Vertex> vertexAttachMethod,
+ final Function<Attachable<Edge>, Edge> edgeAttachMethod,
+ final Direction attachEdgesOfThisDirection) throws IOException {
+
+ return reader.readVertex(inputStream, vertexAttachMethod, edgeAttachMethod, attachEdgesOfThisDirection);
+ }
+
+ /**
+ * Read an {@link Edge} from output generated by {@link GraphSONWriter#writeEdge(OutputStream, Edge)} or via
+ * an {@link Edge} passed to {@link GraphSONWriter#writeObject(OutputStream, Object)}.
+ *
+ * @param inputStream a stream containing at least one {@link Edge} as defined by the accompanying
+ * {@link GraphWriter#writeEdge(OutputStream, Edge)} method.
+ * @param edgeAttachMethod a function that creates re-attaches a {@link Edge} to a {@link Host} object.
+ */
+ @Override
+ public Edge readEdge(final InputStream inputStream, final Function<Attachable<Edge>, Edge> edgeAttachMethod) throws IOException {
+ /*if (version == GraphSONVersion.v1_0) {
+ final Map<String, Object> edgeData = mapper.readValue(inputStream, mapTypeReference);
+
+ final Map<String, Object> edgeProperties = edgeData.containsKey(GraphSONTokens.PROPERTIES) ?
+ (Map<String, Object>) edgeData.get(GraphSONTokens.PROPERTIES) : Collections.EMPTY_MAP;
+ final DetachedEdge edge = new DetachedEdge(edgeData.get(GraphSONTokens.ID),
+ edgeData.get(GraphSONTokens.LABEL).toString(),
+ edgeProperties,
+ Pair.with(edgeData.get(GraphSONTokens.OUT), edgeData.get(GraphSONTokens.OUT_LABEL).toString()),
+ Pair.with(edgeData.get(GraphSONTokens.IN), edgeData.get(GraphSONTokens.IN_LABEL).toString()));
+
+ return edgeAttachMethod.apply(edge);
+ } else {
+ return edgeAttachMethod.apply((DetachedEdge) mapper.readValue(inputStream, Edge.class));
+ }*/
+ return reader.readEdge(inputStream, edgeAttachMethod);
+ }
+
+ /**
+ * Read a {@link VertexProperty} from output generated by
+ * {@link GraphSONWriter#writeVertexProperty(OutputStream, VertexProperty)} or via an {@link VertexProperty} passed
+ * to {@link GraphSONWriter#writeObject(OutputStream, Object)}.
+ *
+ * @param inputStream a stream containing at least one {@link VertexProperty} as written by the accompanying
+ * {@link GraphWriter#writeVertexProperty(OutputStream, VertexProperty)} method.
+ * @param vertexPropertyAttachMethod a function that creates re-attaches a {@link VertexProperty} to a
+ * {@link Host} object.
+ */
+ @Override
+ public VertexProperty readVertexProperty(final InputStream inputStream,
+ final Function<Attachable<VertexProperty>, VertexProperty> vertexPropertyAttachMethod) throws IOException {
+ /*if (version == GraphSONVersion.v1_0) {
+ final Map<String, Object> vpData = mapper.readValue(inputStream, mapTypeReference);
+ final Map<String, Object> metaProperties = (Map<String, Object>) vpData.get(GraphSONTokens.PROPERTIES);
+ final DetachedVertexProperty vp = new DetachedVertexProperty(vpData.get(GraphSONTokens.ID),
+ vpData.get(GraphSONTokens.LABEL).toString(),
+ vpData.get(GraphSONTokens.VALUE), metaProperties);
+ return vertexPropertyAttachMethod.apply(vp);
+ } else {
+ return vertexPropertyAttachMethod.apply((DetachedVertexProperty) mapper.readValue(inputStream, VertexProperty.class));
+ }*/
+ return reader.readVertexProperty(inputStream, vertexPropertyAttachMethod);
+ }
+
+ /**
+ * Read a {@link Property} from output generated by {@link GraphSONWriter#writeProperty(OutputStream, Property)} or
+ * via an {@link Property} passed to {@link GraphSONWriter#writeObject(OutputStream, Object)}.
+ *
+ * @param inputStream a stream containing at least one {@link Property} as written by the accompanying
+ * {@link GraphWriter#writeProperty(OutputStream, Property)} method.
+ * @param propertyAttachMethod a function that creates re-attaches a {@link Property} to a {@link Host} object.
+ */
+ @Override
+ public Property readProperty(final InputStream inputStream,
+ final Function<Attachable<Property>, Property> propertyAttachMethod) throws IOException {
+ /*if (version == GraphSONVersion.v1_0) {
+ final Map<String, Object> propertyData = mapper.readValue(inputStream, mapTypeReference);
+ final DetachedProperty p = new DetachedProperty(propertyData.get(GraphSONTokens.KEY).toString(), propertyData.get(GraphSONTokens.VALUE));
+ return propertyAttachMethod.apply(p);
+ } else {
+ return propertyAttachMethod.apply((DetachedProperty) mapper.readValue(inputStream, Property.class));
+ }*/
+ return reader.readProperty(inputStream, propertyAttachMethod);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public <C> C readObject(final InputStream inputStream, final Class<? extends C> clazz) throws IOException {
+ return mapper.readValue(inputStream, clazz);
+ }
+
+ private Stream<String> readVertexStrings(final InputStream inputStream) throws IOException {
+ if (unwrapAdjacencyList) {
+ final JsonNode root = mapper.readTree(inputStream);
+ final JsonNode vertices = root.get(GraphSONTokens.VERTICES);
+ if (!vertices.getNodeType().equals(JsonNodeType.ARRAY)) throw new IOException(String.format("The '%s' key must be an array", GraphSONTokens.VERTICES));
+ return IteratorUtils.stream(vertices.elements()).map(Object::toString);
+ } else {
+ final BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
+ return br.lines();
+ }
+
+ }
+
+
+ public static Builder build() {
+ return new Builder();
+ }
+
+ public final static class Builder implements ReaderBuilder<GraphSONPartialReader> {
+ private long batchSize = 10000;
+
+ private Mapper<ObjectMapper> mapper = GraphSONMapper.build().create();
+ private boolean unwrapAdjacencyList = false;
+
+
+ private Builder() {}
+
+ /**
+ * Number of mutations to perform before a commit is executed when using
+ * {@link GraphSONPartialReader#readGraph(InputStream, Graph)}.
+ */
+ public Builder batchSize(final long batchSize) {
+ this.batchSize = batchSize;
+ return this;
+ }
+
+ /**
+ * Override all of the {@link GraphSONMapper} builder
+ * options with this mapper. If this value is set to something other than null then that value will be
+ * used to construct the writer.
+ */
+ public Builder mapper(final Mapper<ObjectMapper> mapper) {
+ this.mapper = mapper;
+ return this;
+ }
+
+ /**
+ * If the adjacency list is wrapped in a JSON object, as is done when writing a graph with
+ * {@link GraphSONWriter.Builder#wrapAdjacencyList} set to {@code true}, this setting needs to be set to
+ * {@code true} to properly read it. By default, this value is {@code false} and the adjacency list is
+ * simply read as line delimited vertices.
+ * <p/>
+ * By setting this value to {@code true}, the generated JSON is no longer "splittable" by line and thus not
+ * suitable for OLAP processing. Furthermore, reading this format of the JSON with
+ * {@link GraphSONPartialReader#readGraph(InputStream, Graph)} or
+ * {@link GraphSONPartialReader#readVertices(InputStream, Function, Function, Direction)} requires that the
+ * entire JSON object be read into memory, so it is best saved for "small" graphs.
+ */
+ public Builder unwrapAdjacencyList(final boolean unwrapAdjacencyList) {
+ this.unwrapAdjacencyList = unwrapAdjacencyList;
+ return this;
+ }
+
+ public GraphSONPartialReader create() {
+ return new GraphSONPartialReader(this);
+ }
+ }
+}
diff --git a/aai-core/src/main/java/org/onap/aai/dbgen/SchemaGenerator.java b/aai-core/src/main/java/org/onap/aai/dbgen/SchemaGenerator.java
index d2f60f11..e6eb1bca 100644
--- a/aai-core/src/main/java/org/onap/aai/dbgen/SchemaGenerator.java
+++ b/aai-core/src/main/java/org/onap/aai/dbgen/SchemaGenerator.java
@@ -68,7 +68,7 @@ public class SchemaGenerator {
AAIConfig.init();
} catch (Exception ex) {
LOGGER.error(" ERROR - Could not run AAIConfig.init(). " + LogFormatTools.getStackTop(ex));
- System.out.println(" ERROR - Could not run AAIConfig.init(). ");
+ //System.out.println(" ERROR - Could not run AAIConfig.init(). ");
System.exit(1);
}
@@ -93,7 +93,6 @@ public class SchemaGenerator {
try {
edges = edgeIngestor.getAllCurrentRules();
} catch (EdgeRuleNotFoundException e) {
- e.printStackTrace();
LOGGER.error("Unable to find all rules {}", LogFormatTools.getStackTop(e));
}
@@ -132,8 +131,8 @@ public class SchemaGenerator {
if (alias.isPresent()) {
dbPropName = alias.get();
}
- if (graphMgmt.containsRelationType(propName)) {
- String dmsg = " PropertyKey [" + propName + "] already existed in the DB. ";
+ if (graphMgmt.containsRelationType(dbPropName)) {
+ String dmsg = " PropertyKey [" + dbPropName + "] already existed in the DB. ";
LOGGER.debug(dmsg);
} else {
Class<?> type = obj.getClass(propName);
@@ -164,8 +163,8 @@ public class SchemaGenerator {
String dmsg = " Index [" + dbPropName + "] already existed in the DB. ";
LOGGER.debug(dmsg);
} else {
- if (obj.getIndexedProperties().contains(propName)) {
- if (obj.getUniqueProperties().contains(propName)) {
+ if (obj.getIndexedProperties().contains(dbPropName)) {
+ if (obj.getUniqueProperties().contains(dbPropName)) {
imsg = "Add Unique index for PropertyKey: [" + dbPropName + "]";
LOGGER.info(imsg);
graphMgmt.buildIndex(dbPropName, Vertex.class).addKey(propK).unique()
@@ -188,7 +187,7 @@ public class SchemaGenerator {
String imsg = "-- About to call graphMgmt commit";
LOGGER.info(imsg);
if(backend != null){
- System.out.println("Successfully loaded the schema to " + backend);
+ LOGGER.info("Successfully loaded the schema to " + backend);
}
graphMgmt.commit();
diff --git a/aai-core/src/main/java/org/onap/aai/dbmap/InMemoryGraph.java b/aai-core/src/main/java/org/onap/aai/dbmap/InMemoryGraph.java
new file mode 100644
index 00000000..84e15479
--- /dev/null
+++ b/aai-core/src/main/java/org/onap/aai/dbmap/InMemoryGraph.java
@@ -0,0 +1,149 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.aai.dbmap;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import java.util.Properties;
+
+import org.apache.commons.lang.exception.ExceptionUtils;
+import org.apache.tinkerpop.gremlin.structure.io.IoCore;
+import org.onap.aai.dbgen.GraphSONPartialIO;
+import org.onap.aai.dbgen.SchemaGenerator;
+import org.onap.aai.logging.LogFormatTools;
+
+import org.janusgraph.core.JanusGraphFactory;
+import org.janusgraph.core.JanusGraph;
+import org.janusgraph.core.JanusGraphTransaction;
+import org.janusgraph.core.schema.JanusGraphManagement;
+
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+
+public class InMemoryGraph {
+
+ private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(InMemoryGraph.class);
+ private JanusGraph graph = null;
+
+
+ public InMemoryGraph(Builder builder) throws IOException {
+ /*
+ * Create a In-memory graph
+ */
+ InputStream is = new FileInputStream(builder.propertyFile);
+ try {
+ graph = JanusGraphFactory.open(builder.propertyFile);
+
+ Properties graphProps = new Properties();
+ graphProps.load(is);
+ JanusGraphManagement graphMgt = graph.openManagement();
+ if(builder.isSchemaEnabled){
+ LOGGER.info("Schema Enabled");
+ SchemaGenerator.loadSchemaIntoJanusGraph(graph, graphMgt, graphProps.getProperty("storage.backend"));
+ }
+ JanusGraphTransaction transaction = graph.newTransaction();
+ LOGGER.info("Loading snapshot");
+ if(builder.isPartialGraph){
+ if ( (builder.graphsonLocation != null) && (builder.graphsonLocation.length() > 0) ) {
+ transaction.io(GraphSONPartialIO.build()).readGraph(builder.graphsonLocation);
+ }
+ else {
+ transaction.io(GraphSONPartialIO.build()).reader().create().readGraph(builder.seqInputStream, graph);
+ }
+ }
+ else{
+ if ( (builder.graphsonLocation != null) && (builder.graphsonLocation.length() > 0) ) {
+ transaction.io(IoCore.graphson()).readGraph(builder.graphsonLocation);
+ }
+ else {
+ transaction.io(IoCore.graphson()).reader().create().readGraph(builder.seqInputStream, graph);
+ }
+ }
+ transaction.commit();
+
+ } catch (Exception e) {
+ // TODO : Changesysout to logger
+ e.printStackTrace();
+ LOGGER.error(
+ "ERROR: Could not load datasnapshot to in memory graph. \n" + LogFormatTools.getStackTop(e));
+ throw new IllegalStateException("Could not load datasnapshot to in memory graph");
+
+ }
+ finally{
+ is.close();
+ }
+
+ }
+
+ public static class Builder {
+ private String graphsonLocation = "";
+ private String propertyFile = "";
+ private boolean isSchemaEnabled = false;
+ private InputStream seqInputStream = null;
+ private boolean isPartialGraph = false;
+
+
+ /*
+ * Builder constructor doesnt do anything
+ */
+ public Builder() {
+ //Do nothing
+ }
+
+ public InMemoryGraph build(String graphsonFile, String propertyFile, boolean isSchemaEnabled) throws IOException {
+ this.graphsonLocation = graphsonFile;
+ this.propertyFile = propertyFile;
+ this.isSchemaEnabled = isSchemaEnabled;
+ return new InMemoryGraph(this);
+ }
+
+ public InMemoryGraph build(InputStream sis, String propertyFile, boolean isSchemaEnabled) throws IOException {
+ this.graphsonLocation = null;
+ this.propertyFile = propertyFile;
+ this.isSchemaEnabled = isSchemaEnabled;
+ this.seqInputStream = sis;
+ return new InMemoryGraph(this);
+ }
+
+ public InMemoryGraph build(String graphsonFile, String propertyFile, boolean isSchemaEnabled, boolean isPartialGraph) throws IOException {
+ this.graphsonLocation = graphsonFile;
+ this.propertyFile = propertyFile;
+ this.isSchemaEnabled = isSchemaEnabled;
+ this.isPartialGraph = isPartialGraph;
+ return new InMemoryGraph(this);
+ }
+
+ public InMemoryGraph build(InputStream sis, String propertyFile, boolean isSchemaEnabled, boolean isPartialGraph) throws IOException {
+ this.graphsonLocation = null;
+ this.propertyFile = propertyFile;
+ this.isSchemaEnabled = isSchemaEnabled;
+ this.seqInputStream = sis;
+ this.isPartialGraph = isPartialGraph;
+ return new InMemoryGraph(this);
+ }
+ }
+
+ public JanusGraph getGraph() {
+ return graph;
+ }
+
+}
diff --git a/aai-core/src/main/java/org/onap/aai/extensions/OrphanLInterfaceHandler.java b/aai-core/src/main/java/org/onap/aai/extensions/OrphanLInterfaceHandler.java
new file mode 100644
index 00000000..128945d3
--- /dev/null
+++ b/aai-core/src/main/java/org/onap/aai/extensions/OrphanLInterfaceHandler.java
@@ -0,0 +1,110 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.aai.extensions;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.onap.aai.exceptions.AAIException;
+import org.onap.aai.introspection.Introspector;
+import org.onap.aai.introspection.Loader;
+import org.onap.aai.introspection.exceptions.AAIUnknownObjectException;
+import org.onap.aai.parsers.query.QueryParser;
+import org.onap.aai.query.builder.QueryBuilder;
+import org.onap.aai.rest.db.DBRequest;
+import org.onap.aai.restcore.HttpMethod;
+import org.onap.aai.edges.enums.EdgeType;
+
+public class OrphanLInterfaceHandler {
+
+ private QueryBuilder<Vertex> createLInterfaceQuery(AAIExtensionMap aaiReqMap, Introspector newvceObj) throws AAIException {
+ Introspector uplinkLInterfaceTraversalIntro = aaiReqMap.getLoader().introspectorFromName("l-interface");
+
+ Introspector customerUplinkLInterfaceTraversalIntro = aaiReqMap.getLoader().introspectorFromName("l-interface");
+
+ Introspector logLinkIntroForTraversal = aaiReqMap.getLoader().introspectorFromName("logical-link");
+
+ QueryBuilder<Vertex> query = aaiReqMap.getTransactionalGraphEngine().getQueryBuilder()
+ .exactMatchQuery(newvceObj)
+ .createEdgeTraversal(EdgeType.TREE, newvceObj, uplinkLInterfaceTraversalIntro)
+ .getVerticesByProperty("interface-role", "UPLINK")
+ .createEdgeTraversal(EdgeType.COUSIN, uplinkLInterfaceTraversalIntro, logLinkIntroForTraversal)
+ .createEdgeTraversal(EdgeType.COUSIN, logLinkIntroForTraversal, customerUplinkLInterfaceTraversalIntro)
+ .getVerticesByProperty("interface-role", "CUSTOMER-UPLINK").dedup();
+ return query;
+ }
+
+ private URI buildLInterfaceURI(Vertex linterface, AAIExtensionMap aaiReqMap) throws UnsupportedEncodingException, AAIException, URISyntaxException {
+ Loader loader = aaiReqMap.getLoader();
+ Introspector lint = loader.introspectorFromName("l-interface");
+ lint.setValue("interface-name", (String)linterface.property("interface-name").value());
+ String lintSegment = lint.getURI();
+
+ Introspector lagInterfaceForTrav = loader.introspectorFromName("lag-interface");
+ QueryBuilder<Vertex> lagIntQuery = aaiReqMap.getTransactionalGraphEngine().getQueryBuilder()
+ .exactMatchQuery(lint)
+ .createEdgeTraversal(EdgeType.TREE, linterface, lagInterfaceForTrav).dedup();
+ List<Vertex> lagInterfaces = lagIntQuery.toList();
+ if (lagInterfaces.isEmpty()) {
+ throw new AAIException("AAI_6114");
+ } else if (lagInterfaces.size() > 1) {
+ throw new AAIException("AAI_6140");
+ }
+ Vertex lagInt = lagInterfaces.get(0);
+ lagInterfaceForTrav.setValue("interface-name", (String)lagInt.property("interface-name").value());
+ String lagSegment = lagInterfaceForTrav.getURI();
+
+ Introspector gvVPEforTrav = loader.introspectorFromName("generic-vnf");
+ QueryBuilder<Vertex> gvVPEquery = aaiReqMap.getTransactionalGraphEngine().getQueryBuilder()
+ .exactMatchQuery(lagInterfaceForTrav)
+ .createEdgeTraversal(EdgeType.TREE, lagInterfaceForTrav, gvVPEforTrav).dedup();
+ List<Vertex> genvnfs = gvVPEquery.toList();
+ if (genvnfs.isEmpty()) {
+ throw new AAIException("AAI_6114");
+ } else if (genvnfs.size() > 1) {
+ throw new AAIException("AAI_6140");
+ }
+ Vertex genvnf = genvnfs.get(0);
+ gvVPEforTrav.setValue("vnf-id", (String)genvnf.property("vnf-id").value());
+ String gvSegment = gvVPEforTrav.getURI();
+
+ return new URI(gvSegment + lagSegment + lintSegment);
+ }
+
+ public List<DBRequest> createOrphanLInterfaceDelRequests(AAIExtensionMap aaiReqMap, Introspector newvce) throws AAIException, UnsupportedEncodingException, URISyntaxException{
+ List<DBRequest> requests = new ArrayList<>();
+ QueryBuilder<Vertex> query = createLInterfaceQuery(aaiReqMap, newvce);
+ List<Vertex> linterfaces = query.toList();
+
+ for (Vertex lint : linterfaces) {
+ URI lintURI = buildLInterfaceURI(lint, aaiReqMap);
+ QueryParser parser = createLInterfaceQuery(aaiReqMap, newvce).createQueryFromObjectName("l-interface");
+ DBRequest originalDbRequest = aaiReqMap.getDbRequest();
+ DBRequest request = new DBRequest.Builder(HttpMethod.DELETE, lintURI, parser, newvce, originalDbRequest.getHeaders(), originalDbRequest.getInfo(), originalDbRequest.getTransactionId()).build();
+ requests.add(request);
+ }
+
+ return requests;
+ }
+}
diff --git a/aai-core/src/main/java/org/onap/aai/ingestModel/CreateWidgetModels.java b/aai-core/src/main/java/org/onap/aai/ingestModel/CreateWidgetModels.java
index d5921c19..5f641025 100644
--- a/aai-core/src/main/java/org/onap/aai/ingestModel/CreateWidgetModels.java
+++ b/aai-core/src/main/java/org/onap/aai/ingestModel/CreateWidgetModels.java
@@ -24,6 +24,7 @@ import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map.Entry;
+import java.util.Set;
import java.util.UUID;
import javax.xml.transform.stream.StreamSource;
@@ -36,6 +37,7 @@ import org.onap.aai.introspection.ModelType;
import org.onap.aai.setup.SchemaVersion;
import org.onap.aai.util.AAIConfig;
import org.onap.aai.util.AAIConstants;
+import org.springframework.context.annotation.AnnotationConfigApplicationContext;
/**
* The Class CreateWidgetModels.
@@ -74,7 +76,13 @@ public class CreateWidgetModels
System.exit(0);
}
- Loader loader = SpringContextAware.getBean(LoaderFactory.class).createLoaderForVersion(ModelType.MOXY, new SchemaVersion(_apiVersion));
+ AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(
+ "org.onap.aai.config",
+ "org.onap.aai.setup"
+ );
+
+ LoaderFactory loaderFactory = ctx.getBean(LoaderFactory.class);
+ Loader loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, new SchemaVersion(_apiVersion));
// iterate the collection of resources
@@ -91,6 +99,12 @@ public class CreateWidgetModels
if (processedWidgets.contains(resource)) {
continue;
}
+
+ Set<String> introspectorProperties = aaiRes.getProperties();
+
+ if(!(introspectorProperties.contains("model-version-id") && introspectorProperties.contains("model-invariant-id"))){
+ System.out.println(aaiRes.getDbName() + " does not contain model properties so skipping");
+ }
processedWidgets.add(resource);
String widgetName = resource;
diff --git a/aai-core/src/main/java/org/onap/aai/parsers/uri/URIParser.java b/aai-core/src/main/java/org/onap/aai/parsers/uri/URIParser.java
index 6e6ba844..5aece21c 100644
--- a/aai-core/src/main/java/org/onap/aai/parsers/uri/URIParser.java
+++ b/aai-core/src/main/java/org/onap/aai/parsers/uri/URIParser.java
@@ -66,14 +66,7 @@ public class URIParser {
public URIParser(Loader loader, URI uri) {
this.uri = uri;
- String currentVersion = "v7";
this.originalLoader = loader;
- try {
- currentVersion = AAIConfig.get("aai.default.api.version");
- } catch (AAIException e) {
- ErrorLogHelper.logException(e);
- }
-
//Load the latest version because we need it for cloud region
this.loader = loader;
@@ -156,10 +149,13 @@ public class URIParser {
}
if (introspector.isContainer()) {
boolean isFinalContainer = i == parts.length-2;
- p.processContainer(introspector, EdgeType.COUSIN, uriKeys, isFinalContainer);
+ /*
+ * Related-to could be COUSIN OR TREE and in some cases BOTH. So Let EdgeRuleBuilder use all the edgeTypes
+ */
+ p.processContainer(introspector, EdgeType.ALL, uriKeys, isFinalContainer);
}
previousObj = introspector;
- type = EdgeType.COUSIN;
+ type = EdgeType.ALL;
i+=2;
continue;
}
@@ -215,7 +211,6 @@ public class URIParser {
}
}
p.processContainer(introspector, type, uriKeys, isFinalContainer);
-
i++;
} else {
p.processNamespace(introspector);
diff --git a/aai-core/src/main/java/org/onap/aai/query/builder/GraphTraversalBuilder.java b/aai-core/src/main/java/org/onap/aai/query/builder/GraphTraversalBuilder.java
index d5faf052..80122296 100644
--- a/aai-core/src/main/java/org/onap/aai/query/builder/GraphTraversalBuilder.java
+++ b/aai-core/src/main/java/org/onap/aai/query/builder/GraphTraversalBuilder.java
@@ -63,11 +63,11 @@ public abstract class GraphTraversalBuilder<E> extends QueryBuilder<E> {
*/
public GraphTraversalBuilder(Loader loader, GraphTraversalSource source) {
super(loader, source);
-
+
traversal = (GraphTraversal<Vertex, E>) __.<E>start();
-
+
}
-
+
/**
* Instantiates a new graph traversal builder.
*
@@ -76,42 +76,42 @@ public abstract class GraphTraversalBuilder<E> extends QueryBuilder<E> {
*/
public GraphTraversalBuilder(Loader loader, GraphTraversalSource source, Vertex start) {
super(loader, source, start);
-
+
traversal = (GraphTraversal<Vertex, E>) __.__(start);
-
+
}
-
+
/**
* @{inheritDoc}
*/
@Override
public QueryBuilder<Vertex> getVerticesByProperty(String key, Object value) {
-
+
// correct value call because the index is registered as an Integer
traversal.has(key, this.correctObjectType(value));
-
+
stepIndex++;
return (QueryBuilder<Vertex>) this;
}
-
+
/**
* @{inheritDoc}
*/
@Override
public QueryBuilder<Vertex> getVerticesByProperty(final String key, final List<?> values) {
-
+
//this is because the index is registered as an Integer
List<Object> correctedValues = new ArrayList<>();
for (Object item : values) {
correctedValues.add(this.correctObjectType(item));
}
-
+
traversal.has(key, P.within(correctedValues));
-
+
stepIndex++;
return (QueryBuilder<Vertex>) this;
}
-
+
/**
* @{inheritDoc}
*/
@@ -124,79 +124,79 @@ public abstract class GraphTraversalBuilder<E> extends QueryBuilder<E> {
stepIndex++;
return (QueryBuilder<Vertex>) this;
}
-
+
/**
* @{inheritDoc}
*/
@Override
public QueryBuilder<Vertex> getVerticesByProperty(String key) {
-
+
traversal.has(key);
stepIndex++;
return (QueryBuilder<Vertex>) this;
}
-
+
/**
* @{inheritDoc}
*/
@Override
public QueryBuilder<Vertex> getVerticesExcludeByProperty(String key) {
-
+
traversal.hasNot(key);
stepIndex++;
return (QueryBuilder<Vertex>) this;
}
-
+
/**
* @{inheritDoc}
*/
@Override
public QueryBuilder<Vertex> getVerticesExcludeByProperty(String key, Object value) {
-
+
// correct value call because the index is registered as an Integer
traversal.has(key, P.neq(this.correctObjectType(value)));
-
+
stepIndex++;
return (QueryBuilder<Vertex>) this;
}
-
+
/**
* @{inheritDoc}
*/
@Override
public QueryBuilder<Vertex> getVerticesExcludeByProperty(final String key, final List<?> values) {
-
+
//this is because the index is registered as an Integer
List<Object> correctedValues = new ArrayList<>();
for (Object item : values) {
correctedValues.add(this.correctObjectType(item));
}
-
+
traversal.has(key, P.without(correctedValues));
-
+
stepIndex++;
return (QueryBuilder<Vertex>) this;
}
@Override
public QueryBuilder<Vertex> getVerticesGreaterThanProperty(final String key, Object value) {
-
+
traversal.has(key, P.gte(this.correctObjectType(value)));
-
+
stepIndex++;
return (QueryBuilder<Vertex>) this;
}
-
+
@Override
public QueryBuilder<Vertex> getVerticesLessThanProperty(final String key, Object value) {
-
+
traversal.has(key, P.lte(this.correctObjectType(value)));
-
+
stepIndex++;
return (QueryBuilder<Vertex>) this;
}
-
+
/**
* @{inheritDoc}
@@ -213,7 +213,7 @@ public abstract class GraphTraversalBuilder<E> extends QueryBuilder<E> {
*/
@Override
public QueryBuilder<Vertex> getTypedVerticesByMap(String type, Map<String, String> map) {
-
+
for (Map.Entry<String, String> es : map.entrySet()) {
traversal.has(es.getKey(), es.getValue());
stepIndex++;
@@ -273,7 +273,7 @@ public abstract class GraphTraversalBuilder<E> extends QueryBuilder<E> {
this.createContainerQuery(obj);
return (QueryBuilder<Vertex>) this;
}
-
+
private void allPropertiesQuery(Introspector obj) {
Set<String> props = obj.getProperties();
Set<String> keys = obj.getKeys();
@@ -298,12 +298,12 @@ public abstract class GraphTraversalBuilder<E> extends QueryBuilder<E> {
}
}
}
-
+
/**
* @{inheritDoc}
*/
@Override
-
+
public QueryBuilder<Vertex> createContainerQuery(Introspector obj) {
String type = obj.getChildDBName();
String abstractType = obj.getMetadata(ObjectMetadata.ABSTRACT);
@@ -319,8 +319,8 @@ public abstract class GraphTraversalBuilder<E> extends QueryBuilder<E> {
}
/**
- * @throws NoEdgeRuleFoundException
- * @throws AAIException
+ * @throws NoEdgeRuleFoundException
+ * @throws AAIException
* @{inheritDoc}
*/
@Override
@@ -423,10 +423,10 @@ public abstract class GraphTraversalBuilder<E> extends QueryBuilder<E> {
}
this.traversal.union(traversals);
stepIndex++;
-
+
return this;
}
-
+
/**
* @{inheritDoc}
*/
@@ -454,101 +454,101 @@ public abstract class GraphTraversalBuilder<E> extends QueryBuilder<E> {
return this;
}
-
+
@Override
public QueryBuilder<E> store(String name) {
-
+
this.traversal.store(name);
stepIndex++;
-
+
return this;
}
-
+
@Override
public QueryBuilder<E> cap(String name) {
this.traversal.cap(name);
stepIndex++;
-
+
return this;
}
-
+
@Override
public QueryBuilder<E> unfold() {
this.traversal.unfold();
stepIndex++;
-
+
return this;
}
-
+
@Override
public QueryBuilder<E> dedup() {
-
+
this.traversal.dedup();
stepIndex++;
-
+
return this;
}
-
+
@Override
public QueryBuilder<E> emit() {
-
+
this.traversal.emit();
stepIndex++;
-
+
return this;
-
+
}
-
+
@Override
public QueryBuilder<E> repeat(QueryBuilder<E> builder) {
-
+
this.traversal.repeat((GraphTraversal<Vertex, E>)builder.getQuery());
stepIndex++;
return this;
}
-
+
@Override
public QueryBuilder<E> until(QueryBuilder<E> builder) {
this.traversal.until((GraphTraversal<Vertex,E>)builder.getQuery());
stepIndex++;
-
+
return this;
}
-
+
@Override
public QueryBuilder<E> groupCount() {
this.traversal.groupCount();
stepIndex++;
-
+
return this;
}
-
+
@Override
public QueryBuilder<E> both() {
this.traversal.both();
stepIndex++;
-
+
return this;
}
-
+
@Override
public QueryBuilder<Tree> tree() {
-
+
this.traversal.tree();
stepIndex++;
-
+
return (QueryBuilder<Tree>)this;
}
-
+
@Override
public QueryBuilder<E> by(String name) {
this.traversal.by(name);
stepIndex++;
-
+
return this;
}
-
+
/**
* {@inheritDoc}
*/
@@ -568,72 +568,90 @@ public abstract class GraphTraversalBuilder<E> extends QueryBuilder<E> {
stepIndex++;
return (QueryBuilder<Path>)this;
}
-
+
@Override
public QueryBuilder<Edge> outE() {
this.traversal.outE();
stepIndex++;
return (QueryBuilder<Edge>)this;
}
-
+
@Override
public QueryBuilder<Edge> inE() {
this.traversal.inE();
stepIndex++;
return (QueryBuilder<Edge>)this;
}
-
+
@Override
public QueryBuilder<Vertex> outV() {
this.traversal.outV();
stepIndex++;
return (QueryBuilder<Vertex>)this;
}
-
+
@Override
public QueryBuilder<Vertex> inV() {
this.traversal.inV();
stepIndex++;
return (QueryBuilder<Vertex>)this;
}
-
+
@Override
public QueryBuilder<E> as(String name) {
this.traversal.as(name);
-
+
stepIndex++;
return this;
}
-
+
@Override
public QueryBuilder<E> not(QueryBuilder<E> builder) {
this.traversal.not(builder.getQuery());
-
+
stepIndex++;
return this;
}
-
+
@Override
public QueryBuilder<E> select(String name) {
this.traversal.select(name);
-
+
+ stepIndex++;
+
+ return this;
+ }
+
+ @Override
+ public QueryBuilder<E> select(String... names) {
+ if(names.length == 1) {
+ this.traversal.select(names[0]);
+ }
+ else if(names.length == 2) {
+ this.traversal.select(names[0], names[1]);
+ }
+ else if(names.length > 2){
+ String[] otherNames = Arrays.copyOfRange(names, 2, names.length);
+ this.traversal.select(names[0], names[1], otherNames);
+ }
+
stepIndex++;
-
+
return this;
}
-
+
/**
* Edge query.
*
* @param outObj the out type
* @param inObj the in type
- * @throws NoEdgeRuleFoundException
- * @throws AAIException
+ * @throws NoEdgeRuleFoundException
+ * @throws AAIException
*/
private void edgeQueryToVertex(EdgeType type, Introspector outObj, Introspector inObj, List<String> labels) throws AAIException {
String outType = outObj.getDbName();
String inType = inObj.getDbName();
-
+
if (outObj.isContainer()) {
outType = outObj.getChildDBName();
}
@@ -685,35 +703,35 @@ public abstract class GraphTraversalBuilder<E> extends QueryBuilder<E> {
traversal.out(outLabels.toArray(new String[outLabels.size()]));
} else if (outLabels.isEmpty() && !inLabels.isEmpty()) {
traversal.in(inLabels.toArray(new String[inLabels.size()]));
- } else {
+ } else {
traversal.union(__.out(outLabels.toArray(new String[outLabels.size()])), __.in(inLabels.toArray(new String[inLabels.size()])));
}
-
+
stepIndex++;
this.createContainerQuery(inObj);
-
+
}
-
+
/**
* Edge query.
*
* @param outObj the out type
* @param inObj the in type
- * @throws NoEdgeRuleFoundException
- * @throws AAIException
+ * @throws NoEdgeRuleFoundException
+ * @throws AAIException
*/
private void edgeQuery(EdgeType type, Introspector outObj, Introspector inObj, List<String> labels) throws AAIException {
String outType = outObj.getDbName();
String inType = inObj.getDbName();
-
+
if (outObj.isContainer()) {
outType = outObj.getChildDBName();
}
if (inObj.isContainer()) {
inType = inObj.getChildDBName();
}
-
+
markParentBoundary();
Multimap<String, EdgeRule> rules = ArrayListMultimap.create();
EdgeRuleQuery.Builder qB = new EdgeRuleQuery.Builder(outType, inType).edgeType(type);
@@ -729,7 +747,7 @@ public abstract class GraphTraversalBuilder<E> extends QueryBuilder<E> {
} catch (EdgeRuleNotFoundException e) {
throw new NoEdgeRuleFoundException(e);
}
-
+
final List<String> inLabels = new ArrayList<>();
final List<String> outLabels = new ArrayList<>();
@@ -749,11 +767,11 @@ public abstract class GraphTraversalBuilder<E> extends QueryBuilder<E> {
traversal.outE(outLabels.toArray(new String[outLabels.size()]));
} else if (outLabels.isEmpty() && !inLabels.isEmpty()) {
traversal.inE(inLabels.toArray(new String[inLabels.size()]));
- } else {
+ } else {
traversal.union(__.outE(outLabels.toArray(new String[outLabels.size()])), __.inE(inLabels.toArray(new String[inLabels.size()])));
}
}
-
+
@Override
public QueryBuilder<E> limit(long amount) {
traversal.limit(amount);
@@ -767,7 +785,7 @@ public abstract class GraphTraversalBuilder<E> extends QueryBuilder<E> {
public <E2> E2 getQuery() {
return (E2)this.traversal;
}
-
+
/**
* @{inheritDoc}
*/
@@ -776,17 +794,17 @@ public abstract class GraphTraversalBuilder<E> extends QueryBuilder<E> {
return cloneQueryAtStep(parentStepIndex);
}
-
+
@Override
public QueryBuilder<E> getContainerQuery() {
-
+
if (this.parentStepIndex == 0) {
return removeQueryStepsBetween(0, containerStepIndex);
} else {
return cloneQueryAtStep(containerStepIndex);
}
}
-
+
/**
* @{inheritDoc}
*/
@@ -794,13 +812,13 @@ public abstract class GraphTraversalBuilder<E> extends QueryBuilder<E> {
public void markParentBoundary() {
parentStepIndex = stepIndex;
}
-
+
@Override
public void markContainer() {
containerStepIndex = stepIndex;
}
-
-
+
+
/**
* @{inheritDoc}
*/
@@ -823,7 +841,7 @@ public abstract class GraphTraversalBuilder<E> extends QueryBuilder<E> {
/**
* end is exclusive
- *
+ *
* @param start
* @param end
* @return
@@ -850,19 +868,19 @@ public abstract class GraphTraversalBuilder<E> extends QueryBuilder<E> {
if (this.completeTraversal == null) {
executeQuery();
}
-
+
return this.completeTraversal.hasNext();
}
-
+
@Override
public E next() {
if (this.completeTraversal == null) {
executeQuery();
}
-
+
return this.completeTraversal.next();
}
-
+
@Override
public List<E> toList() {
if (this.completeTraversal == null) {
diff --git a/aai-core/src/main/java/org/onap/aai/query/builder/GremlinQueryBuilder.java b/aai-core/src/main/java/org/onap/aai/query/builder/GremlinQueryBuilder.java
index 2cc78f44..43925f49 100644
--- a/aai-core/src/main/java/org/onap/aai/query/builder/GremlinQueryBuilder.java
+++ b/aai-core/src/main/java/org/onap/aai/query/builder/GremlinQueryBuilder.java
@@ -36,7 +36,7 @@ import org.onap.aai.db.props.AAIProperties;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.introspection.Introspector;
import org.onap.aai.introspection.Loader;
-import org.onap.aai.restcore.search.GremlinGroovyShellSingleton;
+import org.onap.aai.restcore.search.GremlinGroovyShell;
import org.onap.aai.schema.enums.ObjectMetadata;
import org.onap.aai.edges.EdgeRule;
import org.onap.aai.edges.EdgeRuleQuery;
@@ -53,7 +53,7 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
private static final String ARGUMENT2 = "#!#argument#!#";
private static final String HAS = ".has('";
- private GremlinGroovyShellSingleton gremlinGroovy = GremlinGroovyShellSingleton.getInstance();
+ private GremlinGroovyShell gremlinGroovy = new GremlinGroovyShell();
private GraphTraversal<?, ?> completeTraversal = null;
protected List<String> list = null;
@@ -103,6 +103,16 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
return (QueryBuilder<Vertex>) this;
}
+ /**
+ * @{inheritDoc}
+ */
+ @Override
+ public QueryBuilder<Vertex> getVerticesByNumberProperty(String key, Object value) {
+ list.add(HAS + key + "', " + value + ")");
+ stepIndex++;
+ return (QueryBuilder<Vertex>) this;
+ }
+
@Override
public QueryBuilder<Vertex> getVerticesByBooleanProperty(String key, Object value) {
boolean bValue = false;
@@ -139,7 +149,7 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
stepIndex++;
return (QueryBuilder<Vertex>) this;
}
-
+
/**
* @{inheritDoc}
*/
@@ -150,7 +160,7 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
stepIndex++;
return (QueryBuilder<Vertex>) this;
}
-
+
/**
* @{inheritDoc}
*/
@@ -199,7 +209,7 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
stepIndex++;
return (QueryBuilder<Vertex>) this;
}
-
+
/**
* @{inheritDoc}
*/
@@ -221,7 +231,7 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
stepIndex++;
return (QueryBuilder<Vertex>) this;
}
-
+
@Override
public QueryBuilder<Vertex> getVerticesGreaterThanProperty(String key, Object value) {
String predicate = "P.gte(#!#argument1#!#)";
@@ -236,7 +246,7 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
stepIndex++;
return (QueryBuilder<Vertex>) this;
}
-
+
@Override
public QueryBuilder<Vertex> getVerticesLessThanProperty(String key, Object value) {
String predicate = "P.lte(#!#argument1#!#)";
@@ -251,10 +261,10 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
stepIndex++;
return (QueryBuilder<Vertex>) this;
}
-
-
+
+
/**
* @{inheritDoc}
*/
@@ -263,13 +273,13 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
//TODO
return (QueryBuilder<Vertex>) this;
}
-
+
/**
* @{inheritDoc}
*/
@Override
public QueryBuilder<Vertex> getTypedVerticesByMap(String type, Map<String, String> map) {
-
+
for (Map.Entry<String, String> es : map.entrySet()) {
list.add(HAS + es.getKey() + "', '" + es.getValue() + "')");
stepIndex++;
@@ -278,7 +288,7 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
stepIndex++;
return (QueryBuilder<Vertex>) this;
}
-
+
/**
* @{inheritDoc}
*/
@@ -287,16 +297,16 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
Set<String> keys = obj.getKeys();
for (String key : keys) {
-
+
this.getVerticesByProperty(key, obj.<Object>getValue(key));
-
- }
+
+ }
return (QueryBuilder<Vertex>) this;
}
-
+
/**
- * @throws NoEdgeRuleFoundException
- * @throws AAIException
+ * @throws NoEdgeRuleFoundException
+ * @throws AAIException
* @{inheritDoc}
*/
@Override
@@ -311,7 +321,7 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
}
this.edgeQueryToVertex(type, parentName, childName, null);
return this;
-
+
}
@Override
@@ -390,8 +400,14 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
} else {
if (Direction.IN.equals(rule.getDirection())) {
inLabels.add(rule.getLabel());
+ if(inType.equals(outType)) {//code to handle when a type edges to itself, to add both in and out
+ outLabels.add(rule.getLabel());
+ }
} else {
outLabels.add(rule.getLabel());
+ if(inType.equals(outType)) {//code to handle when a type edges to itself, to add both in and out
+ inLabels.add(rule.getLabel());
+ }
}
}
}
@@ -408,16 +424,16 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
stepIndex++;
list.add(HAS + AAIProperties.NODE_TYPE + "', '" + inType + "')");
stepIndex++;
-
+
}
-
+
/**
* Edge query.
*
* @param outType the out type
* @param inType the in type
- * @throws NoEdgeRuleFoundException
- * @throws AAIException
+ * @throws NoEdgeRuleFoundException
+ * @throws AAIException
*/
private void edgeQuery(EdgeType type, String outType, String inType, List<String> labels) throws AAIException {
markParentBoundary();
@@ -434,7 +450,7 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
} catch (EdgeRuleNotFoundException e) {
throw new NoEdgeRuleFoundException(e);
}
-
+
final List<String> inLabels = new ArrayList<>();
final List<String> outLabels = new ArrayList<>();
@@ -459,9 +475,9 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
} else {
list.add(".union(__.inE('" + String.join("','", inLabels) + "')" + ", __.outE('" + String.join("','", outLabels) + "'))");
}
-
+
stepIndex++;
-
+
}
@Override
public QueryBuilder<E> limit(long amount) {
@@ -486,7 +502,7 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
command.append(Joiner.on(",").join(wrapped));
command.append(")");
list.add(".has('aai-node-type', " + command + ")");
-
+
} else {
list.add(".has('aai-node-type', '" + type + "')");
}
@@ -494,7 +510,7 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
this.markContainer();
return (QueryBuilder<Vertex>) this;
}
-
+
@Override
public QueryBuilder<E> union(QueryBuilder<E>... builder) {
markParentBoundary();
@@ -508,10 +524,10 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
command.append(")");
list.add(command.toString());
stepIndex++;
-
+
return this;
}
-
+
@Override
public QueryBuilder<E> where(QueryBuilder<E>... builder) {
markParentBoundary();
@@ -521,8 +537,8 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
stepIndex++;
}
list.addAll(traversals);
-
-
+
+
return this;
}
@@ -542,95 +558,95 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
return this;
}
-
+
@Override
public QueryBuilder<E> store(String name) {
this.list.add(".store('"+ name + "')");
stepIndex++;
-
+
return this;
}
-
+
@Override
public QueryBuilder<E> cap(String name) {
this.list.add(".cap('"+ name + "')");
stepIndex++;
-
+
return this;
}
-
+
@Override
public QueryBuilder<E> unfold() {
this.list.add(".unfold()");
stepIndex++;
-
+
return this;
}
-
+
@Override
public QueryBuilder<E> dedup() {
this.list.add(".dedup()");
stepIndex++;
-
+
return this;
}
-
+
@Override
public QueryBuilder<E> emit() {
this.list.add(".emit()");
stepIndex++;
-
+
return this;
}
-
+
@Override
public QueryBuilder<E> repeat(QueryBuilder<E> builder) {
this.list.add(".repeat(__" + builder.getQuery() + ")");
stepIndex++;
-
+
return this;
}
-
+
@Override
public QueryBuilder<E> until(QueryBuilder<E> builder) {
this.list.add(".until(__" + builder.getQuery() + ")");
stepIndex++;
-
+
return this;
}
-
+
@Override
public QueryBuilder<E> groupCount() {
this.list.add(".groupCount()");
stepIndex++;
-
+
return this;
}
-
+
@Override
public QueryBuilder<E> both() {
this.list.add(".both()");
stepIndex++;
-
+
return this;
}
-
+
@Override
public QueryBuilder<Tree> tree() {
this.list.add(".tree()");
stepIndex++;
-
+
return (QueryBuilder<Tree>)this;
}
-
+
@Override
public QueryBuilder<E> by(String name) {
this.list.add(".by('"+ name + "')");
stepIndex++;
-
+
return this;
}
-
+
/**
* {@inheritDoc}
*/
@@ -650,60 +666,76 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
stepIndex++;
return (QueryBuilder<Path>)this;
}
-
+
@Override
public QueryBuilder<Edge> outE() {
this.list.add(".outE()");
stepIndex++;
-
+
return (QueryBuilder<Edge>)this;
}
-
+
@Override
public QueryBuilder<Edge> inE() {
this.list.add(".inE()");
stepIndex++;
-
+
return (QueryBuilder<Edge>)this;
}
-
+
@Override
public QueryBuilder<Vertex> outV() {
this.list.add(".outV()");
stepIndex++;
-
+
return (QueryBuilder<Vertex>)this;
}
-
+
@Override
public QueryBuilder<Vertex> inV() {
this.list.add(".inV()");
stepIndex++;
-
+
return (QueryBuilder<Vertex>)this;
}
-
+
@Override
public QueryBuilder<E> not(QueryBuilder<E> builder) {
this.list.add(".not(" + "__" + builder.getQuery() + ")");
stepIndex++;
-
+
return this;
}
-
+
@Override
public QueryBuilder<E> as(String name) {
this.list.add(".as('" + name + "')");
stepIndex++;
-
+
return this;
}
-
+
@Override
public QueryBuilder<E> select(String name) {
this.list.add(".select('" + name + "')");
stepIndex++;
-
+
+ return this;
+ }
+
+ @Override
+ public QueryBuilder<E> select(String... names) {
+ String stepString = ".select('";
+ for(int i = 0; i<names.length; i++) {
+ stepString = stepString + names[i] +"'";
+ if(i!=(names.length-1)) {
+ stepString = stepString + ",'";
+ }
+ }
+ stepString = stepString + ")";
+ this.list.add(stepString);
+ stepIndex++;
+
return this;
}
/**
@@ -713,26 +745,26 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
public QueryBuilder<E> getParentQuery() {
return cloneQueryAtStep(parentStepIndex);
}
-
+
@Override
public QueryBuilder<E> getContainerQuery() {
return cloneQueryAtStep(containerStepIndex);
}
-
+
/**
* @{inheritDoc}
*/
@Override
public <T2> T2 getQuery() {
StringBuilder sb = new StringBuilder();
-
+
for (String piece : this.list) {
sb.append(piece);
}
-
+
return (T2)sb.toString();
}
-
+
/**
* @{inheritDoc}
*/
@@ -740,12 +772,12 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
public void markParentBoundary() {
parentStepIndex = stepIndex;
}
-
+
@Override
public void markContainer() {
this.containerStepIndex = stepIndex;
}
-
+
/**
* @{inheritDoc}
*/
@@ -765,7 +797,7 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
protected int getStepIndex() {
return stepIndex;
}
-
+
private void executeQuery() {
String queryString = "g" + Joiner.on("").join(list);
Map<String, Object> params = new HashMap<>();
@@ -781,25 +813,25 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
if (this.completeTraversal == null) {
executeQuery();
}
-
+
return this.completeTraversal.hasNext();
}
-
+
@Override
public E next() {
if (this.completeTraversal == null) {
executeQuery();
}
-
+
return (E)this.completeTraversal.next();
}
-
+
@Override
public List<E> toList() {
if (this.completeTraversal == null) {
executeQuery();
}
-
+
return (List<E>)this.completeTraversal.toList();
}
@@ -808,5 +840,5 @@ public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
return (QueryBuilder<Edge>)this;
}
-
+
}
diff --git a/aai-core/src/main/java/org/onap/aai/query/builder/QueryBuilder.java b/aai-core/src/main/java/org/onap/aai/query/builder/QueryBuilder.java
index f4ffac0e..777204f2 100644
--- a/aai-core/src/main/java/org/onap/aai/query/builder/QueryBuilder.java
+++ b/aai-core/src/main/java/org/onap/aai/query/builder/QueryBuilder.java
@@ -293,6 +293,40 @@ public abstract class QueryBuilder<E> implements Iterator<E> {
return createEdgeTraversal(type, out, in);
}
+ /**
+ *
+ * @param edgeType
+ * @param outNodeType
+ * @param inNodeType
+ * @return
+ * @throws AAIException
+ */
+ public QueryBuilder<Vertex> createEdgeTraversal(String edgeType, String outNodeType, String inNodeType) throws AAIException {
+ /*
+ * When the optional parameter edgetype is sent it is a string that needs to be converted to Enum
+ */
+ EdgeType type = EdgeType.valueOf(edgeType);
+ Introspector out = loader.introspectorFromName(outNodeType);
+ Introspector in = loader.introspectorFromName(inNodeType);
+
+ return createEdgeTraversal(type, out, in);
+ }
+
+ /**
+ *
+ * @param MissingOptionalParameter
+ * @param outNodeType
+ * @param inNodeType
+ * @return
+ * @throws AAIException
+ */
+ public QueryBuilder<Vertex> createEdgeTraversal(MissingOptionalParameter edgeType, String outNodeType, String inNodeType) throws AAIException {
+ /*
+ * When no optional parameter edgetype is sent get all edges between the 2 nodetypes
+ */
+ return this.createEdgeTraversal(outNodeType, inNodeType);
+ }
+
public QueryBuilder<Vertex> createEdgeTraversal(String outNodeType, String inNodeType) throws AAIException {
Introspector out = loader.introspectorFromName(outNodeType);
@@ -506,6 +540,7 @@ public abstract class QueryBuilder<E> implements Iterator<E> {
public abstract QueryBuilder<E> not(QueryBuilder<E> builder);
public abstract QueryBuilder<E> as(String name);
public abstract QueryBuilder<E> select(String name);
+ public abstract QueryBuilder<E> select(String... names);
public abstract QueryBuilder<E> until(QueryBuilder<E> builder);
public abstract QueryBuilder<E> groupCount();
public abstract QueryBuilder<E> by(String name);
@@ -574,4 +609,16 @@ public abstract class QueryBuilder<E> implements Iterator<E> {
protected void setEdgeIngestor(EdgeIngestor ei) {
this.edgeRules = ei;
}
+
+ public QueryBuilder<Vertex> getVerticesByNumberProperty(String key, Object value) {
+ return getVerticesByProperty(key, value);
+ }
+
+ public QueryBuilder<Vertex> getVerticesByNumberProperty(String key) {
+ return getVerticesByProperty(key);
+ }
+
+ public QueryBuilder<Vertex> getVerticesByNumberProperty(String key, MissingOptionalParameter value) {
+ return getVerticesByProperty(key, value);
+ }
}
diff --git a/aai-core/src/main/java/org/onap/aai/rest/db/HttpEntry.java b/aai-core/src/main/java/org/onap/aai/rest/db/HttpEntry.java
index bd7f1b91..6f551de7 100644
--- a/aai-core/src/main/java/org/onap/aai/rest/db/HttpEntry.java
+++ b/aai-core/src/main/java/org/onap/aai/rest/db/HttpEntry.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -53,6 +53,8 @@ import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.apache.tinkerpop.gremlin.structure.VertexProperty;
import org.janusgraph.core.JanusGraphException;
import org.javatuples.Pair;
+import org.json.JSONException;
+import org.json.JSONObject;
import org.onap.aai.db.props.AAIProperties;
import org.onap.aai.dbmap.DBConnectionType;
import org.onap.aai.domain.responseMessage.AAIResponseMessage;
@@ -94,9 +96,9 @@ public class HttpEntry {
private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(HttpEntry.class);
private static final String TARGET_ENTITY = "DB";
- private ModelType introspectorFactoryType;
+ private ModelType introspectorFactoryType;
- private QueryStyle queryStyle;
+ private QueryStyle queryStyle;
private SchemaVersion version;
@@ -123,7 +125,7 @@ public class HttpEntry {
@Value("${schema.uri.base.path}")
private String basePath;
- private UEBNotification notification;
+ private UEBNotification notification;
/**
* Instantiates a new http entry.
@@ -136,13 +138,13 @@ public class HttpEntry {
this.queryStyle = queryStyle;
}
- public HttpEntry setHttpEntryProperties(SchemaVersion version, DBConnectionType connectionType){
+ public HttpEntry setHttpEntryProperties(SchemaVersion version, DBConnectionType connectionType) {
this.version = version;
this.loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, version);
this.dbEngine = new JanusGraphDBEngine(
- queryStyle,
- connectionType,
- loader);
+ queryStyle,
+ connectionType,
+ loader);
getDbEngine().startTransaction();
this.notification = new UEBNotification(loader, loaderFactory, schemaVersions);
@@ -150,13 +152,13 @@ public class HttpEntry {
}
- public HttpEntry setHttpEntryProperties(SchemaVersion version, DBConnectionType connectionType, UEBNotification notification){
+ public HttpEntry setHttpEntryProperties(SchemaVersion version, DBConnectionType connectionType, UEBNotification notification) {
this.version = version;
this.loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, version);
this.dbEngine = new JanusGraphDBEngine(
- queryStyle,
- connectionType,
- loader);
+ queryStyle,
+ connectionType,
+ loader);
this.notification = notification;
//start transaction on creation
@@ -210,7 +212,7 @@ public class HttpEntry {
return dbEngine;
}
- public Pair<Boolean, List<Pair<URI, Response>>> process (List<DBRequest> requests, String sourceOfTruth) throws AAIException {
+ public Pair<Boolean, List<Pair<URI, Response>>> process(List<DBRequest> requests, String sourceOfTruth) throws AAIException {
return this.process(requests, sourceOfTruth, true);
}
@@ -221,24 +223,32 @@ public class HttpEntry {
*
* @return a boolean true/false of whether the user requested paginated results
*/
- public boolean isPaginated(){
+ public boolean isPaginated() {
return this.paginationBucket > -1 && this.paginationIndex > -1;
}
/**
+ * Returns the pagination size
+ * @return integer of the size of results to be returned when paginated
+ */
+ public int getPaginationBucket() {
+ return this.paginationBucket;
+ }
+
+ /**
* Setter for the pagination bucket variable which stores in this object the size of results to return
* @param pb
*/
- public void setPaginationBucket(int pb){
+ public void setPaginationBucket(int pb) {
this.paginationBucket = pb;
}
/**
- * Returns the pagination size
- * @return integer of the size of results to be returned when paginated
+ * Getter to return the pagination index requested by the user when requesting paginated results
+ * @return
*/
- public int getPaginationBucket(){
- return this.paginationBucket;
+ public int getPaginationIndex() {
+ return this.paginationIndex;
}
/**
@@ -246,32 +256,24 @@ public class HttpEntry {
* paginated
* @param pi
*/
- public void setPaginationIndex(int pi){
- if(pi == 0){
+ public void setPaginationIndex(int pi) {
+ if (pi == 0) {
pi = 1;
}
this.paginationIndex = pi;
}
/**
- * Getter to return the pagination index requested by the user when requesting paginated results
- * @return
- */
- public int getPaginationIndex(){
- return this.paginationIndex;
- }
-
- /**
* Sets the total vertices variables and calculates the amount of pages based on size and total vertices
* @param totalVertices
* @param paginationBucketSize
*/
- public void setTotalsForPaging(int totalVertices, int paginationBucketSize){
+ public void setTotalsForPaging(int totalVertices, int paginationBucketSize) {
this.totalVertices = totalVertices;
//set total number of buckets equal to full pages
- this.totalPaginationBuckets = totalVertices/paginationBucketSize;
+ this.totalPaginationBuckets = totalVertices / paginationBucketSize;
//conditionally add a page for the remainder
- if(totalVertices % paginationBucketSize > 0){
+ if (totalVertices % paginationBucketSize > 0) {
this.totalPaginationBuckets++;
}
}
@@ -279,7 +281,7 @@ public class HttpEntry {
/**
* @return the total amount of pages
*/
- public int getTotalPaginationBuckets(){
+ public int getTotalPaginationBuckets() {
return this.totalPaginationBuckets;
}
@@ -287,7 +289,7 @@ public class HttpEntry {
*
* @return the total number of vertices when paginated
*/
- public int getTotalVertices(){
+ public int getTotalVertices() {
return this.totalVertices;
}
@@ -299,7 +301,7 @@ public class HttpEntry {
* @return the pair
* @throws AAIException the AAI exception
*/
- public Pair<Boolean, List<Pair<URI, Response>>> process (List<DBRequest> requests, String sourceOfTruth, boolean enableResourceVersion) throws AAIException {
+ public Pair<Boolean, List<Pair<URI, Response>>> process(List<DBRequest> requests, String sourceOfTruth, boolean enableResourceVersion) throws AAIException {
DBSerializer serializer = new DBSerializer(version, dbEngine, introspectorFactoryType, sourceOfTruth);
String methodName = "process";
@@ -310,7 +312,7 @@ public class HttpEntry {
String transactionId = null;
int depth = AAIProperties.MAXIMUM_DEPTH;
Format format = null;
- List<Pair<URI,Response>> responses = new ArrayList<>();
+ List<Pair<URI, Response>> responses = new ArrayList<>();
MultivaluedMap<String, String> params = null;
HttpMethod method = null;
String uriTemp = "";
@@ -339,11 +341,11 @@ public class HttpEntry {
LoggingContext.startTime();
List<Vertex> vertTemp;
List<Vertex> vertices;
- if(this.isPaginated()) {
+ if (this.isPaginated()) {
vertTemp = query.getQueryBuilder().toList();
this.setTotalsForPaging(vertTemp.size(), this.paginationBucket);
vertices = vertTemp.subList(((this.paginationIndex - 1) * this.paginationBucket), Math.min((this.paginationBucket * this.paginationIndex), vertTemp.size()));
- }else{
+ } else {
vertices = query.getQueryBuilder().toList();
}
boolean isNewVertex = false;
@@ -364,7 +366,7 @@ public class HttpEntry {
if (cleanUp == null) {
cleanUp = "false";
}
- if (vertices.size() > 1 && processSingle && !method.equals(HttpMethod.GET)) {
+ if (vertices.size() > 1 && processSingle && !(method.equals(HttpMethod.GET) || method.equals(HttpMethod.GET_RELATIONSHIP))) {
if (method.equals(HttpMethod.DELETE)) {
LoggingContext.restoreIfPossible();
throw new AAIException("AAI_6138");
@@ -374,7 +376,7 @@ public class HttpEntry {
}
}
if (method.equals(HttpMethod.PUT)) {
- String resourceVersion = (String)obj.getValue("resource-version");
+ String resourceVersion = (String) obj.getValue("resource-version");
if (vertices.isEmpty()) {
if (enableResourceVersion) {
serializer.verifyResourceVersion("create", query.getResultType(), "", resourceVersion, obj.getURI());
@@ -399,17 +401,17 @@ public class HttpEntry {
v = vertices.get(0);
}
HashMap<String, Introspector> relatedObjects = new HashMap<>();
+ String nodeOnly = params.getFirst("nodes-only");
+ boolean isNodeOnly = nodeOnly != null;
switch (method) {
case GET:
- String nodeOnly = params.getFirst("nodes-only");
- boolean isNodeOnly = nodeOnly != null;
if (format == null) {
obj = this.getObjectFromDb(vertices, serializer, query, obj, request.getUri(), depth, isNodeOnly, cleanUp);
LoggingContext.elapsedTime((long) serializer.getDBTimeMsecs(), TimeUnit.MILLISECONDS);
- LOGGER.info ("Completed");
+ LOGGER.info("Completed");
LoggingContext.restoreIfPossible();
if (obj != null) {
@@ -424,12 +426,40 @@ public class HttpEntry {
}
} else {
FormatFactory ff = new FormatFactory(loader, serializer, schemaVersions, basePath + "/");
- Formatter formatter = ff.get(format, params);
+ Formatter formatter = ff.get(format, params);
result = formatter.output(vertices.stream().map(vertex -> (Object) vertex).collect(Collectors.toList())).toString();
status = Status.OK;
}
break;
+ case GET_RELATIONSHIP:
+ if (format == null) {
+ obj = this.getRelationshipObjectFromDb(vertices, serializer, query, request.getInfo().getRequestUri());
+
+ LoggingContext.elapsedTime((long) serializer.getDBTimeMsecs(), TimeUnit.MILLISECONDS);
+ LOGGER.info("Completed");
+ LoggingContext.restoreIfPossible();
+
+ if (obj != null) {
+ status = Status.OK;
+ MarshallerProperties properties;
+ if (!request.getMarshallerProperties().isPresent()) {
+ properties = new MarshallerProperties.Builder(org.onap.aai.restcore.MediaType.getEnum(outputMediaType)).build();
+ } else {
+ properties = request.getMarshallerProperties().get();
+ }
+ result = obj.marshal(properties);
+ } else {
+ String msg = createRelationshipNotFoundMessage(query.getResultType(), request.getUri());
+ throw new AAIException("AAI_6149", msg);
+ }
+ } else {
+ FormatFactory ff = new FormatFactory(loader, serializer, schemaVersions, basePath + "/");
+ Formatter formatter = ff.get(format, params);
+ result = formatter.output(vertices.stream().map(vertex -> (Object) vertex).collect(Collectors.toList())).toString();
+ status = Status.OK;
+ }
+ break;
case PUT:
response = this.invokeExtension(dbEngine, this.dbEngine.tx(), method, request, sourceOfTruth, version, loader, obj, uri, true);
if (isNewVertex) {
@@ -445,9 +475,9 @@ public class HttpEntry {
if (query.isDependent()) {
relatedObjects = this.getRelatedObjects(serializer, queryEngine, v, obj, this.loader);
}
- LoggingContext.elapsedTime((long)serializer.getDBTimeMsecs() +
- (long)queryEngine.getDBTimeMsecs(), TimeUnit.MILLISECONDS);
- LOGGER.info ("Completed ");
+ LoggingContext.elapsedTime((long) serializer.getDBTimeMsecs() +
+ (long) queryEngine.getDBTimeMsecs(), TimeUnit.MILLISECONDS);
+ LOGGER.info("Completed ");
LoggingContext.restoreIfPossible();
notification.createNotificationEvent(transactionId, sourceOfTruth, status, uri, obj, relatedObjects, basePath);
@@ -457,14 +487,14 @@ public class HttpEntry {
this.invokeExtension(dbEngine, this.dbEngine.tx(), method, request, sourceOfTruth, version, loader, obj, uri, true);
serializer.createEdge(obj, v);
- LoggingContext.elapsedTime((long)serializer.getDBTimeMsecs(),TimeUnit.MILLISECONDS);
- LOGGER.info ("Completed");
+ LoggingContext.elapsedTime((long) serializer.getDBTimeMsecs(), TimeUnit.MILLISECONDS);
+ LOGGER.info("Completed");
LoggingContext.restoreIfPossible();
status = Status.OK;
notification.createNotificationEvent(transactionId, sourceOfTruth, status, new URI(uri.toString().replace("/relationship-list/relationship", "")), serializer.getLatestVersionView(v), relatedObjects, basePath);
break;
case MERGE_PATCH:
- Introspector existingObj = loader.introspectorFromName(obj.getDbName());
+ Introspector existingObj = loader.introspectorFromName(obj.getDbName());
existingObj = this.getObjectFromDb(vertices, serializer, query, existingObj, request.getUri(), 0, false, cleanUp);
String existingJson = existingObj.marshal(false);
String newJson;
@@ -493,14 +523,14 @@ public class HttpEntry {
if (query.isDependent()) {
relatedObjects = this.getRelatedObjects(serializer, queryEngine, v, patchedObj, this.loader);
}
- LoggingContext.elapsedTime((long)serializer.getDBTimeMsecs() +
- (long)queryEngine.getDBTimeMsecs(), TimeUnit.MILLISECONDS);
- LOGGER.info ("Completed");
+ LoggingContext.elapsedTime((long) serializer.getDBTimeMsecs() +
+ (long) queryEngine.getDBTimeMsecs(), TimeUnit.MILLISECONDS);
+ LOGGER.info("Completed");
LoggingContext.restoreIfPossible();
notification.createNotificationEvent(transactionId, sourceOfTruth, status, uri, patchedObj, relatedObjects, basePath);
} catch (IOException | JsonPatchException e) {
- LOGGER.info ("Caught exception: " + e.getMessage());
+ LOGGER.info("Caught exception: " + e.getMessage());
LoggingContext.restoreIfPossible();
throw new AAIException("AAI_3000", "could not perform patch operation");
}
@@ -530,7 +560,7 @@ public class HttpEntry {
Map<String, URI> uriMap = new HashMap<>();
Map<String, HashMap<String, Introspector>> deleteRelatedObjects = new HashMap<>();
- if(isDelVerticesPresent){
+ if (isDelVerticesPresent) {
deleteObjects = this.buildIntrospectorObjects(serializer, deletableVertices);
uriMap = this.buildURIMap(serializer, deleteObjects);
@@ -541,9 +571,9 @@ public class HttpEntry {
serializer.delete(v, deletableVertices, resourceVersion, enableResourceVersion);
this.invokeExtension(dbEngine, this.dbEngine.tx(), method, request, sourceOfTruth, version, loader, obj, uri, false);
- LoggingContext.elapsedTime((long)serializer.getDBTimeMsecs() +
- (long)queryEngine.getDBTimeMsecs(), TimeUnit.MILLISECONDS);
- LOGGER.info ("Completed");
+ LoggingContext.elapsedTime((long) serializer.getDBTimeMsecs() +
+ (long) queryEngine.getDBTimeMsecs(), TimeUnit.MILLISECONDS);
+ LOGGER.info("Completed");
LoggingContext.restoreIfPossible();
status = Status.NO_CONTENT;
notification.createNotificationEvent(transactionId, sourceOfTruth, status, uri, obj, relatedObjects, basePath);
@@ -552,9 +582,9 @@ public class HttpEntry {
* Notify delete-other-v candidates
*/
- if(isDelVerticesPresent){
+ if (isDelVerticesPresent) {
this.buildNotificationEvent(sourceOfTruth, status, transactionId, notification, deleteObjects,
- uriMap, deleteRelatedObjects, basePath);
+ uriMap, deleteRelatedObjects, basePath);
}
break;
@@ -562,8 +592,8 @@ public class HttpEntry {
serializer.touchStandardVertexProperties(v, false);
serializer.deleteEdge(obj, v);
- LoggingContext.elapsedTime((long)serializer.getDBTimeMsecs(),TimeUnit.MILLISECONDS);
- LOGGER.info ("Completed");
+ LoggingContext.elapsedTime((long) serializer.getDBTimeMsecs(), TimeUnit.MILLISECONDS);
+ LOGGER.info("Completed");
LoggingContext.restoreIfPossible();
status = Status.NO_CONTENT;
notification.createNotificationEvent(transactionId, sourceOfTruth, Status.OK, new URI(uri.toString().replace("/relationship-list/relationship", "")), serializer.getLatestVersionView(v), relatedObjects, basePath);
@@ -576,40 +606,42 @@ public class HttpEntry {
/* temporarily adding vertex id to the headers
* to be able to use for testing the vertex id endpoint functionality
* since we presently have no other way of generating those id urls
- */
+ */
if (response == null && v != null && (
method.equals(HttpMethod.PUT)
- || method.equals(HttpMethod.GET)
- || method.equals(HttpMethod.MERGE_PATCH))
- ) {
+ || method.equals(HttpMethod.GET)
+ || method.equals(HttpMethod.MERGE_PATCH)
+ || method.equals(HttpMethod.GET_RELATIONSHIP))
+
+ ) {
String myvertid = v.id().toString();
- if(this.isPaginated()){
+ if (this.isPaginated()) {
response = Response.status(status)
- .header("vertex-id", myvertid)
- .header("total-results", this.getTotalVertices())
- .header("total-pages", this.getTotalPaginationBuckets())
- .entity(result)
- .type(outputMediaType).build();
- }else {
+ .header("vertex-id", myvertid)
+ .header("total-results", this.getTotalVertices())
+ .header("total-pages", this.getTotalPaginationBuckets())
+ .entity(result)
+ .type(outputMediaType).build();
+ } else {
response = Response.status(status)
- .header("vertex-id", myvertid)
- .entity(result)
- .type(outputMediaType).build();
+ .header("vertex-id", myvertid)
+ .entity(result)
+ .type(outputMediaType).build();
}
} else if (response == null) {
response = Response.status(status)
- .type(outputMediaType).build();
+ .type(outputMediaType).build();
} else {
//response already set to something
}
- Pair<URI,Response> pairedResp = Pair.with(request.getUri(), response);
+ Pair<URI, Response> pairedResp = Pair.with(request.getUri(), response);
responses.add(pairedResp);
//break out of retry loop
break;
} catch (JanusGraphException e) {
this.dbEngine.rollback();
- LOGGER.info ("Caught exception: " + e.getMessage());
+ LOGGER.info("Caught exception: " + e.getMessage());
LoggingContext.restoreIfPossible();
AAIException ex = new AAIException("AAI_6142", e);
ErrorLogHelper.logException(ex);
@@ -630,10 +662,10 @@ public class HttpEntry {
templateVars.addAll(e.getTemplateVars());
ErrorLogHelper.logException(e);
response = Response
- .status(e.getErrorObject().getHTTPResponseCode())
- .entity(ErrorLogHelper.getRESTAPIErrorResponse(request.getHeaders().getAcceptableMediaTypes(), e, templateVars))
- .build();
- Pair<URI,Response> pairedResp = Pair.with(request.getUri(), response);
+ .status(e.getErrorObject().getHTTPResponseCode())
+ .entity(ErrorLogHelper.getRESTAPIErrorResponse(request.getHeaders().getAcceptableMediaTypes(), e, templateVars))
+ .build();
+ Pair<URI, Response> pairedResp = Pair.with(request.getUri(), response);
responses.add(pairedResp);
continue;
} catch (Exception e) {
@@ -645,9 +677,9 @@ public class HttpEntry {
templateVars.add(request.getUri().getPath().toString());
ErrorLogHelper.logException(ex);
response = Response
- .status(ex.getErrorObject().getHTTPResponseCode())
- .entity(ErrorLogHelper.getRESTAPIErrorResponse(request.getHeaders().getAcceptableMediaTypes(), ex, templateVars))
- .build();
+ .status(ex.getErrorObject().getHTTPResponseCode())
+ .entity(ErrorLogHelper.getRESTAPIErrorResponse(request.getHeaders().getAcceptableMediaTypes(), ex, templateVars))
+ .build();
Pair<URI, Response> pairedResp = Pair.with(request.getUri(), response);
responses.add(pairedResp);
continue;
@@ -664,7 +696,7 @@ public class HttpEntry {
* @param mediaTypeList the media type list
* @return the media type
*/
- private String getMediaType(List <MediaType> mediaTypeList) {
+ private String getMediaType(List<MediaType> mediaTypeList) {
String mediaType = MediaType.APPLICATION_JSON; // json is the default
for (MediaType mt : mediaTypeList) {
if (MediaType.APPLICATION_XML_TYPE.isCompatible(mt)) {
@@ -709,6 +741,44 @@ public class HttpEntry {
}
/**
+ * Gets the object from db.
+ *
+ * @param serializer the serializer
+ * @param query the query
+ * @param obj the obj
+ * @param uri the uri
+ * @param depth the depth
+ * @param cleanUp the clean up
+ * @return the object from db
+ * @throws AAIException the AAI exception
+ * @throws IllegalAccessException the illegal access exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws InvocationTargetException the invocation target exception
+ * @throws SecurityException the security exception
+ * @throws InstantiationException the instantiation exception
+ * @throws NoSuchMethodException the no such method exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws MalformedURLException the malformed URL exception
+ * @throws AAIUnknownObjectException
+ * @throws URISyntaxException
+ */
+ private Introspector getRelationshipObjectFromDb(List<Vertex> results, DBSerializer serializer, QueryParser query, URI uri) throws AAIException, IllegalArgumentException, SecurityException, UnsupportedEncodingException, AAIUnknownObjectException {
+
+ //nothing found
+ if (results.isEmpty()) {
+ String msg = createNotFoundMessage(query.getResultType(), uri);
+ throw new AAIException("AAI_6114", msg);
+ }
+
+ if (results.size() > 1) {
+ throw new AAIException("AAI_6148", uri.getPath());
+ }
+
+ Vertex v = results.get(0);
+ return serializer.dbToRelationshipObject(v);
+ }
+
+ /**
* Invoke extension.
*
* @param dbEngine the db engine
@@ -748,11 +818,11 @@ public class HttpEntry {
ExtensionController ext = new ExtensionController();
ext.runExtension(aaiExtMap.getApiVersion(),
- extensionInformation.getNamespace(),
- extensionInformation.getTopObject(),
- extensionInformation.getMethodName(httpMethod, isPreprocess),
- aaiExtMap,
- isPreprocess);
+ extensionInformation.getNamespace(),
+ extensionInformation.getTopObject(),
+ extensionInformation.getMethodName(httpMethod, isPreprocess),
+ aaiExtMap,
+ isPreprocess);
if (aaiExtMap.getPrecheckAddedList().size() > 0) {
response = notifyOnSkeletonCreation(aaiExtMap, obj, request.getHeaders());
@@ -793,12 +863,12 @@ public class HttpEntry {
}
templateVars.add(StringUtils.join(keys, ", "));
exceptionList.put(new AAIException("AAI_0004", msg.getAaiResponseMessageResourceType()),
- templateVars);
+ templateVars);
}
response = Response
- .status(Status.ACCEPTED).entity(ErrorLogHelper
- .getRESTAPIInfoResponse(headers.getAcceptableMediaTypes(), exceptionList))
- .build();
+ .status(Status.ACCEPTED).entity(ErrorLogHelper
+ .getRESTAPIInfoResponse(headers.getAcceptableMediaTypes(), exceptionList))
+ .build();
return response;
}
@@ -818,6 +888,20 @@ public class HttpEntry {
}
/**
+ * Creates the not found message.
+ *
+ * @param resultType the result type
+ * @param uri the uri
+ * @return the string
+ */
+ private String createRelationshipNotFoundMessage(String resultType, URI uri) {
+
+ String msg = "No relationship found of type " + resultType + " at the given URI: " + uri.getPath() + "/relationship-list";
+
+ return msg;
+ }
+
+ /**
* Sets the depth.
*
* @param depthParam the depth param
@@ -829,18 +913,18 @@ public class HttpEntry {
String getAllRandomStr = AAIConfig.get("aai.rest.getall.depthparam", "");
if (depthParam != null && getAllRandomStr != null && !getAllRandomStr.isEmpty()
- && getAllRandomStr.equals(depthParam)) {
+ && getAllRandomStr.equals(depthParam)) {
return depth;
}
- if(depthParam == null){
- if(this.version.compareTo(schemaVersions.getDepthVersion()) >= 0){
+ if (depthParam == null) {
+ if (this.version.compareTo(schemaVersions.getDepthVersion()) >= 0) {
depth = 0;
} else {
depth = AAIProperties.MAXIMUM_DEPTH;
}
} else {
- if (!depthParam.isEmpty() && !"all".equals(depthParam)){
+ if (!depthParam.isEmpty() && !"all".equals(depthParam)) {
try {
depth = Integer.parseInt(depthParam);
} catch (Exception e) {
@@ -853,15 +937,15 @@ public class HttpEntry {
int maximumDepth = AAIProperties.MAXIMUM_DEPTH;
- if(maxDepth != null){
+ if (maxDepth != null) {
try {
maximumDepth = Integer.parseInt(maxDepth);
- } catch(Exception ex){
+ } catch (Exception ex) {
throw new AAIException("AAI_4018");
}
}
- if(depth > maximumDepth){
+ if (depth > maximumDepth) {
throw new AAIException("AAI_3303");
}
@@ -937,7 +1021,7 @@ public class HttpEntry {
while (depth >= 0 && !obj.isTopLevel()) {
template = obj.getMetadata(ObjectMetadata.URI_TEMPLATE);
- if(template == null){
+ if (template == null) {
LOGGER.warn("Unable to find the uriTemplate for the object {}", obj.getDbName());
return null;
}
@@ -945,12 +1029,12 @@ public class HttpEntry {
int templateCount = StringUtils.countMatches(template, "/");
int truncatedUriCount = StringUtils.countMatches(truncatedUri, "/");
- if(templateCount > truncatedUriCount){
+ if (templateCount > truncatedUriCount) {
LOGGER.warn("Template uri {} contains more slashes than truncatedUri {}", template, truncatedUri);
return null;
}
- int cutIndex = StringUtils.ordinalIndexOf(truncatedUri, "/", truncatedUriCount-templateCount+1);
+ int cutIndex = StringUtils.ordinalIndexOf(truncatedUri, "/", truncatedUriCount - templateCount + 1);
truncatedUri = StringUtils.substring(truncatedUri, 0, cutIndex);
uriList.add(truncatedUri);
obj = new URIToObject(loader, UriBuilder.fromPath(truncatedUri).build()).getEntity();
@@ -983,8 +1067,8 @@ public class HttpEntry {
HashMap<String, Introspector> relatedVertices = new HashMap<>();
VertexProperty aaiUriProperty = v.property(AAIProperties.AAI_URI);
- if(!aaiUriProperty.isPresent()){
- if(LOGGER.isDebugEnabled()){
+ if (!aaiUriProperty.isPresent()) {
+ if (LOGGER.isDebugEnabled()) {
LOGGER.debug("For the given vertex {}, it seems aai-uri is not present so not getting related objects", v.id().toString());
} else {
LOGGER.info("It seems aai-uri is not present in vertex, so not getting related objects, for more info enable debug log");
@@ -994,18 +1078,18 @@ public class HttpEntry {
String aaiUri = aaiUriProperty.value().toString();
- if(!obj.isTopLevel()){
+ if (!obj.isTopLevel()) {
String[] uriList = convertIntrospectorToUriList(aaiUri, obj, loader);
List<Vertex> vertexChain = null;
// If the uriList is null then there is something wrong with converting the uri
// into a list of aai-uris so falling back to the old mechanism for finding parents
- if(uriList == null){
+ if (uriList == null) {
LOGGER.info("Falling back to the old mechanism due to unable to convert aai-uri to list of uris but this is not optimal");
vertexChain = queryEngine.findParents(v);
} else {
vertexChain = queryEngine.findParents(uriList);
}
- for(Vertex vertex : vertexChain){
+ for (Vertex vertex : vertexChain) {
try {
final Introspector vertexObj = serializer.getVertexProperties(vertex);
relatedVertices.put(vertexObj.getObjectId(), vertexObj);
@@ -1050,8 +1134,9 @@ public class HttpEntry {
URI uri;
try {
uri = serializer.getURIForVertex(entry.getKey());
- if (null != entry.getValue())
+ if (null != entry.getValue()) {
uriMap.put(entry.getValue().getObjectId(), uri);
+ }
} catch (UnsupportedEncodingException e) {
LOGGER.warn("Unable to get URIs, Just continue");
continue;
@@ -1064,18 +1149,19 @@ public class HttpEntry {
}
private Map<String, HashMap<String, Introspector>> buildRelatedObjects(DBSerializer serializer,
- QueryEngine queryEngine, Map<Vertex, Introspector> introSpector) {
+ QueryEngine queryEngine, Map<Vertex, Introspector> introSpector) {
Map<String, HashMap<String, Introspector>> relatedObjectsMap = new HashMap<>();
for (Map.Entry<Vertex, Introspector> entry : introSpector.entrySet()) {
try {
HashMap<String, Introspector> relatedObjects = this.getRelatedObjects(serializer, queryEngine,
- entry.getKey(), entry.getValue(), this.loader);
- if (null != entry.getValue())
+ entry.getKey(), entry.getValue(), this.loader);
+ if (null != entry.getValue()) {
relatedObjectsMap.put(entry.getValue().getObjectId(), relatedObjects);
+ }
} catch (IllegalAccessException | IllegalArgumentException
- | InvocationTargetException | SecurityException | InstantiationException | NoSuchMethodException
- | UnsupportedEncodingException | AAIException | URISyntaxException e) {
+ | InvocationTargetException | SecurityException | InstantiationException | NoSuchMethodException
+ | UnsupportedEncodingException | AAIException | URISyntaxException e) {
LOGGER.warn("Unable to get realted Objects, Just continue");
continue;
}
@@ -1087,8 +1173,8 @@ public class HttpEntry {
}
private void buildNotificationEvent(String sourceOfTruth, Status status, String transactionId,
- UEBNotification notification, Map<Vertex, Introspector> deleteObjects, Map<String, URI> uriMap,
- Map<String, HashMap<String, Introspector>> deleteRelatedObjects, String basePath) {
+ UEBNotification notification, Map<Vertex, Introspector> deleteObjects, Map<String, URI> uriMap,
+ Map<String, HashMap<String, Introspector>> deleteRelatedObjects, String basePath) {
for (Map.Entry<Vertex, Introspector> entry : deleteObjects.entrySet()) {
try {
String vertexObjectId = "";
@@ -1096,9 +1182,10 @@ public class HttpEntry {
if (null != entry.getValue()) {
vertexObjectId = entry.getValue().getObjectId();
- if (uriMap.containsKey(vertexObjectId) && deleteRelatedObjects.containsKey(vertexObjectId))
+ if (uriMap.containsKey(vertexObjectId) && deleteRelatedObjects.containsKey(vertexObjectId)) {
notification.createNotificationEvent(transactionId, sourceOfTruth, status,
- uriMap.get(vertexObjectId), entry.getValue(), deleteRelatedObjects.get(vertexObjectId), basePath);
+ uriMap.get(vertexObjectId), entry.getValue(), deleteRelatedObjects.get(vertexObjectId), basePath);
+ }
}
} catch (UnsupportedEncodingException | AAIException e) {
@@ -1114,17 +1201,17 @@ public class HttpEntry {
}
}
- public List<Object> getPaginatedVertexList(List<Object> vertexList) throws AAIException{
+ public List<Object> getPaginatedVertexList(List<Object> vertexList) throws AAIException {
List<Object> vertices;
- if(this.isPaginated()) {
+ if (this.isPaginated()) {
this.setTotalsForPaging(vertexList.size(), this.getPaginationBucket());
int startIndex = (this.getPaginationIndex() - 1) * this.getPaginationBucket();
int endIndex = Math.min((this.getPaginationBucket() * this.getPaginationIndex()), vertexList.size());
- if(startIndex > endIndex){
- throw new AAIException("AAI_6150"," ResultIndex is not appropriate for the result set, Needs to be <= "+ endIndex);
+ if (startIndex > endIndex) {
+ throw new AAIException("AAI_6150", " ResultIndex is not appropriate for the result set, Needs to be <= " + endIndex);
}
vertices = vertexList.subList(startIndex, endIndex);
- }else{
+ } else {
vertices = vertexList;
}
return vertices;
diff --git a/aai-core/src/main/java/org/onap/aai/restcore/HttpMethod.java b/aai-core/src/main/java/org/onap/aai/restcore/HttpMethod.java
index 85c7dfa9..54215d6a 100644
--- a/aai-core/src/main/java/org/onap/aai/restcore/HttpMethod.java
+++ b/aai-core/src/main/java/org/onap/aai/restcore/HttpMethod.java
@@ -28,5 +28,6 @@ public enum HttpMethod {
DELETE,
PUT_EDGE,
DELETE_EDGE,
- GET;
+ GET,
+ GET_RELATIONSHIP;
}
diff --git a/aai-core/src/main/java/org/onap/aai/restcore/search/GremlinGroovyShellSingleton.java b/aai-core/src/main/java/org/onap/aai/restcore/search/GremlinGroovyShell.java
index 328429b1..1d074dd4 100644
--- a/aai-core/src/main/java/org/onap/aai/restcore/search/GremlinGroovyShellSingleton.java
+++ b/aai-core/src/main/java/org/onap/aai/restcore/search/GremlinGroovyShell.java
@@ -31,22 +31,13 @@ import java.util.Map;
* configuration to statically import graph classes
*
*/
-public class GremlinGroovyShellSingleton extends AAIAbstractGroovyShell {
+public class GremlinGroovyShell extends AAIAbstractGroovyShell {
- private GremlinGroovyShellSingleton() {
+ public GremlinGroovyShell() {
super();
}
- private static class Helper {
- private static final GremlinGroovyShellSingleton INSTANCE = new GremlinGroovyShellSingleton();
- }
-
- public static GremlinGroovyShellSingleton getInstance() {
-
- return Helper.INSTANCE;
- }
-
- /**
+ /**
* {@inheritDoc}
*/
@Override
diff --git a/aai-core/src/main/java/org/onap/aai/restcore/search/GroovyQueryBuilderSingleton.java b/aai-core/src/main/java/org/onap/aai/restcore/search/GroovyQueryBuilder.java
index 03a8bfc3..48d4ba8c 100644
--- a/aai-core/src/main/java/org/onap/aai/restcore/search/GroovyQueryBuilderSingleton.java
+++ b/aai-core/src/main/java/org/onap/aai/restcore/search/GroovyQueryBuilder.java
@@ -30,7 +30,6 @@ import org.onap.aai.introspection.ModelType;
import org.onap.aai.query.builder.QueryBuilder;
import org.onap.aai.serialization.engines.QueryStyle;
import org.onap.aai.serialization.engines.TransactionalGraphEngine;
-import org.onap.aai.setup.SchemaVersion;
import org.onap.aai.setup.SchemaVersions;
import java.util.Map;
@@ -40,20 +39,11 @@ import java.util.Map;
* configuration to statically import graph classes
*
*/
-public class GroovyQueryBuilderSingleton extends AAIAbstractGroovyShell {
+public class GroovyQueryBuilder extends AAIAbstractGroovyShell {
- private GroovyQueryBuilderSingleton() {
+ public GroovyQueryBuilder() {
super();
}
-
- private static class Helper {
- private static final GroovyQueryBuilderSingleton INSTANCE = new GroovyQueryBuilderSingleton();
- }
-
- public static GroovyQueryBuilderSingleton getInstance() {
-
- return Helper.INSTANCE;
- }
/**
* {@inheritDoc}
@@ -63,14 +53,14 @@ public class GroovyQueryBuilderSingleton extends AAIAbstractGroovyShell {
QueryBuilder<Vertex> builder = engine.getQueryBuilder(QueryStyle.GREMLIN_TRAVERSAL);
SchemaVersions schemaVersions = SpringContextAware.getBean(SchemaVersions.class);
Loader loader = SpringContextAware.getBean(LoaderFactory.class).createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
-
+
builder.changeLoader(loader);
Binding binding = new Binding(params);
binding.setVariable("builder", builder);
Script script = shell.parse(traversal);
script.setBinding(binding);
script.run();
-
+
return builder.getQuery();
}
diff --git a/aai-core/src/main/java/org/onap/aai/serialization/db/DBSerializer.java b/aai-core/src/main/java/org/onap/aai/serialization/db/DBSerializer.java
index 95582b98..a23ff1f9 100644
--- a/aai-core/src/main/java/org/onap/aai/serialization/db/DBSerializer.java
+++ b/aai-core/src/main/java/org/onap/aai/serialization/db/DBSerializer.java
@@ -992,6 +992,11 @@ public class DBSerializer {
return simplePropsHashMap;
}
+ public Introspector dbToRelationshipObject(Vertex v) throws UnsupportedEncodingException, AAIException {
+ Introspector relationshipList = this.latestLoader.introspectorFromName("relationship-list");
+ relationshipList = createRelationshipList(v, relationshipList, "false");
+ return relationshipList;
+ }
/**
* Creates the relationship list.
*
@@ -1235,7 +1240,7 @@ public class DBSerializer {
}
public void addRelatedToProperty(Introspector relationship, Vertex cousinVertex, String cousinType) throws AAIUnknownObjectException {
- Introspector obj = loader.introspectorFromName(cousinType);
+ Introspector obj = this.latestLoader.introspectorFromName(cousinType);
String nameProps = obj.getMetadata(ObjectMetadata.NAME_PROPS);
List<Introspector> relatedToProperties = new ArrayList<>();
@@ -1734,11 +1739,11 @@ public class DBSerializer {
/**
* Verify resource version.
*
- * @param action the action
- * @param nodeType the node type
+ * @param action the action
+ * @param nodeType the node type
* @param currentResourceVersion the current resource version
- * @param resourceVersion the resource version
- * @param uri the uri
+ * @param resourceVersion the resource version
+ * @param uri the uri
* @return true, if successful
* @throws AAIException the AAI exception
*/
@@ -1746,6 +1751,7 @@ public class DBSerializer {
String enabled = "";
String errorDetail = "";
String aaiExceptionCode = "";
+ boolean isDeleteResourceVersionOk = true;
if (currentResourceVersion == null) {
currentResourceVersion = "";
}
@@ -1755,12 +1761,16 @@ public class DBSerializer {
}
try {
enabled = AAIConfig.get(AAIConstants.AAI_RESVERSION_ENABLEFLAG);
+
} catch (AAIException e) {
ErrorLogHelper.logException(e);
}
if (enabled.equals("true")) {
- if (!currentResourceVersion.equals(resourceVersion)) {
- if (action.equals("create") && !resourceVersion.equals("")) {
+ if ("delete".equals(action)) {
+ isDeleteResourceVersionOk = verifyResourceVersionForDelete(currentResourceVersion, resourceVersion);
+ }
+ if ((!isDeleteResourceVersionOk) || ((!"delete".equals(action)) && (!currentResourceVersion.equals(resourceVersion)))) {
+ if ("create".equals(action) && !resourceVersion.equals("")) {
errorDetail = "resource-version passed for " + action + " of " + uri;
aaiExceptionCode = "AAI_6135";
} else if (resourceVersion.equals("")) {
@@ -1779,12 +1789,31 @@ public class DBSerializer {
}
/**
+ * Verify resource version for delete.
+ *
+ * @param currentResourceVersion the current resource version
+ * @param resourceVersion the resource version
+ * @return true, if successful or false if there is a mismatch
+ */
+ private boolean verifyResourceVersionForDelete(String currentResourceVersion, String resourceVersion) {
+
+ boolean isDeleteResourceVersionOk = true;
+ String resourceVersionDisabledUuid = AAIConfig.get(AAIConstants.AAI_RESVERSION_DISABLED_UUID,
+ AAIConstants.AAI_RESVERSION_DISABLED_UUID_DEFAULT);
+
+ if ((!currentResourceVersion.equals(resourceVersion)) && (!resourceVersion.equals(resourceVersionDisabledUuid))) {
+ isDeleteResourceVersionOk = false;
+ }
+ return isDeleteResourceVersionOk;
+ }
+
+ /**
* Convert from camel case.
*
* @param name the name
* @return the string
*/
- private String convertFromCamelCase (String name) {
+ private String convertFromCamelCase(String name) {
String result = "";
result = CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_HYPHEN, name);
@@ -1810,7 +1839,7 @@ public class DBSerializer {
private void executePreSideEffects(Introspector obj, Vertex self) throws AAIException {
SideEffectRunner runner = new SideEffectRunner
- .Builder(this.engine, this).addSideEffect(DataCopy.class).addSideEffect(PrivateEdge.class).build();
+ .Builder(this.engine, this).addSideEffect(DataCopy.class).addSideEffect(PrivateEdge.class).build();
runner.execute(obj, self);
}
@@ -1818,15 +1847,15 @@ public class DBSerializer {
private void executePostSideEffects(Introspector obj, Vertex self) throws AAIException {
SideEffectRunner runner = new SideEffectRunner
- .Builder(this.engine, this).addSideEffect(DataLinkWriter.class).build();
+ .Builder(this.engine, this).addSideEffect(DataLinkWriter.class).build();
runner.execute(obj, self);
}
- private void enrichData(Introspector obj, Vertex self) throws AAIException {
+ private void enrichData(Introspector obj, Vertex self) throws AAIException {
SideEffectRunner runner = new SideEffectRunner
- .Builder(this.engine, this).addSideEffect(DataLinkReader.class).build();
+ .Builder(this.engine, this).addSideEffect(DataLinkReader.class).build();
runner.execute(obj, self);
}
diff --git a/aai-core/src/main/java/org/onap/aai/service/NodeValidationService.java b/aai-core/src/main/java/org/onap/aai/service/NodeValidationService.java
new file mode 100644
index 00000000..c7ef769b
--- /dev/null
+++ b/aai-core/src/main/java/org/onap/aai/service/NodeValidationService.java
@@ -0,0 +1,56 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.aai.service;
+
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+import org.onap.aai.validation.nodes.NodeValidator;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.context.annotation.PropertySource;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.PostConstruct;
+
+@Service
+@ConditionalOnProperty(name = "schema.translator.list", havingValue = "config", matchIfMissing = true)
+@PropertySource(value = "classpath:schema-ingest.properties", ignoreResourceNotFound = true)
+@PropertySource(value = "file:${schema.ingest.file}", ignoreResourceNotFound = true)
+public class NodeValidationService {
+
+ private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(NodeValidationService.class);
+
+ @Autowired(required=false)
+ private NodeValidator nodeValidator;
+
+ public NodeValidationService(NodeValidator nodeValidator){
+ this.nodeValidator = nodeValidator;
+ }
+
+ @PostConstruct
+ public void initialize(){
+ if(!nodeValidator.validate()){
+ LOGGER.warn(nodeValidator.getErrorMsg());
+ } else {
+ LOGGER.info("Node validation check passed");
+ }
+ }
+}
+
diff --git a/aai-core/src/main/java/org/onap/aai/util/AAIConstants.java b/aai-core/src/main/java/org/onap/aai/util/AAIConstants.java
index c7a7b4a1..b735f722 100644
--- a/aai-core/src/main/java/org/onap/aai/util/AAIConstants.java
+++ b/aai-core/src/main/java/org/onap/aai/util/AAIConstants.java
@@ -29,9 +29,9 @@ public final class AAIConstants {
public static final String AAI_FILESEP = (System.getProperty("file.separator") == null) ? "/" : System.getProperty("file.separator");
//
/** Default to opt aai if system property aai.home is null, using file.separator */
- public static final String AAI_HOME = (System.getProperty(AJSC_HOME) == null) ? AAI_FILESEP + "opt" + AAI_FILESEP + "app" + AAI_FILESEP +"aai" : System.getProperty(AJSC_HOME);
+ public static final String AAI_HOME = (System.getProperty(AJSC_HOME) == null) ? AAI_FILESEP + "opt" + AAI_FILESEP + "app" + AAI_FILESEP +"aai" : System.getProperty(AJSC_HOME);
public static final String AAI_BUNDLECONFIG_NAME = (System.getProperty("BUNDLECONFIG_DIR") == null) ? "bundleconfig" : System.getProperty("BUNDLECONFIG_DIR");
- public static final String AAI_HOME_BUNDLECONFIG = (System.getProperty(AJSC_HOME) == null) ? AAI_FILESEP + "opt" + AAI_FILESEP + "app" + AAI_FILESEP + "aai" + AAI_FILESEP + AAI_BUNDLECONFIG_NAME : System.getProperty(AJSC_HOME)+ AAI_FILESEP + AAI_BUNDLECONFIG_NAME;
+ public static final String AAI_HOME_BUNDLECONFIG = (System.getProperty(AJSC_HOME) == null) ? AAI_FILESEP + "opt" + AAI_FILESEP + "app" + AAI_FILESEP + "aai" + AAI_FILESEP + AAI_BUNDLECONFIG_NAME : System.getProperty(AJSC_HOME)+ AAI_FILESEP + AAI_BUNDLECONFIG_NAME;
/** etc directory, relative to AAI_HOME */
public static final String AAI_HOME_ETC = AAI_HOME_BUNDLECONFIG + AAI_FILESEP + "etc" + AAI_FILESEP;
@@ -63,10 +63,10 @@ public final class AAIConstants {
public static final int AAI_QUERY_PORT = 8446;
public static final int AAI_LEGACY_PORT = 8443;
- public static final String AAI_DEFAULT_API_VERSION = "v7";
+ public static final String AAI_DEFAULT_API_VERSION = "v10";
public static final String AAI_DEFAULT_API_VERSION_PROP = "aai.default.api.version";
public static final String AAI_NOTIFICATION_CURRENT_VERSION = "aai.notification.current.version";
-
+
public static final String AAI_NODENAME = "aai.config.nodename";
public static final String AAI_BULKCONSUMER_LIMIT = "aai.bulkconsumer.payloadlimit";
@@ -85,15 +85,12 @@ public final class AAIConstants {
public static final String AAI_CRUD_TIMEOUT_APP = "aai.crud.timeout.appspecific";
public static final String AAI_RESVERSION_ENABLEFLAG = "aai.resourceversion.enableflag";
+ public static final String AAI_RESVERSION_DISABLED_UUID = "aai.resourceversion.disabled.uuid";
+ public static final String AAI_RESVERSION_DISABLED_UUID_DEFAULT = "38cf3090-6a0c-4e9d-8142-4332a7352846";
+
- public static final int AAI_GROOMING_DEFAULT_MAX_FIX = 150;
- public static final int AAI_GROOMING_DEFAULT_SLEEP_MINUTES = 7;
-
- public static final int AAI_DUPETOOL_DEFAULT_MAX_FIX = 25;
- public static final int AAI_DUPETOOL_DEFAULT_SLEEP_MINUTES = 7;
-
public static final long HISTORY_MAX_HOURS = 192;
-
+
public static final String LOGGING_MAX_STACK_TRACE_ENTRIES = "aai.logging.maxStackTraceEntries";
/*** UEB ***/
diff --git a/aai-core/src/main/java/org/onap/aai/util/GenerateXsd.java b/aai-core/src/main/java/org/onap/aai/util/GenerateXsd.java
index 84f06064..97803653 100644
--- a/aai-core/src/main/java/org/onap/aai/util/GenerateXsd.java
+++ b/aai-core/src/main/java/org/onap/aai/util/GenerateXsd.java
@@ -42,8 +42,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class GenerateXsd {
-
- private static final Logger logger = LoggerFactory.getLogger("GenerateXsd.class");
+
+ private static final Logger logger = LoggerFactory.getLogger("GenerateXsd.class");
protected static String apiVersion = null;
public static AnnotationConfigApplicationContext ctx = null;
static String apiVersionFmt = null;
@@ -76,18 +76,18 @@ public class GenerateXsd {
public static final int VALUE_DESCRIPTION = 1;
public static final int VALUE_INDEXED_PROPS = 2;
public static final int VALUE_CONTAINER = 3;
-
+
private static final String generateTypeXSD = "xsd";
private static final String generateTypeYAML = "yaml";
-
+
private final static String nodeDir = System.getProperty("nodes.configuration.location");
private final static String edgeDir = System.getProperty("edges.configuration.location");
private static final String baseRoot = "aai-schema/";
private static final String baseAutoGenRoot = "aai-schema/";
-
+
private static final String root = baseRoot + "src/main/resources";
private static final String autoGenRoot = baseAutoGenRoot + "src/main/resources";
-
+
private static final String normalStartDir = "aai-core";
private static final String xsd_dir = root + "/" + RELEASE +"/aai_schema";
@@ -97,9 +97,9 @@ public class GenerateXsd {
private static int swaggerSupportStartsVersion = 1; // minimum version to support swagger documentation
-
+
private static boolean validVersion(String versionToGen) {
-
+
if ("ALL".equalsIgnoreCase(versionToGen)) {
return true;
}
@@ -113,14 +113,14 @@ public class GenerateXsd {
return false;
}
-
+
private static boolean versionSupportsSwagger( String version) {
if (new Integer(version.substring(1)).intValue() >= swaggerSupportStartsVersion ) {
return true;
}
return false;
}
-
+
public static String getAPIVersion() {
return apiVersion;
}
@@ -146,19 +146,19 @@ public class GenerateXsd {
if ( fileTypeToGen == null ) {
fileTypeToGen = generateTypeXSD;
}
-
+
if ( !fileTypeToGen.equals( generateTypeXSD ) && !fileTypeToGen.equals( generateTypeYAML )) {
System.err.println("Invalid gen_type passed. " + fileTypeToGen);
System.exit(1);
}
-
+
String responsesLabel = System.getProperty("yamlresponses_url");
responsesUrl = responsesLabel;
-
+
List<SchemaVersion> versionsToGen = new ArrayList<>();
if ( versionToGen == null ) {
System.err.println("Version is required, ie v<n> or ALL.");
- System.exit(1);
+ System.exit(1);
}
else if (!"ALL".equalsIgnoreCase(versionToGen) && !versionToGen.matches("v\\d+") && !validVersion(versionToGen)) {
System.err.println("Invalid version passed. " + versionToGen);
@@ -171,14 +171,14 @@ public class GenerateXsd {
} else {
versionsToGen.add(new SchemaVersion(versionToGen));
}
-
+
//process file type System property
fileTypeToGen = (fileTypeToGen == null ? generateTypeXSD : fileTypeToGen.toLowerCase());
if ( !fileTypeToGen.equals( generateTypeXSD ) && !fileTypeToGen.equals( generateTypeYAML )) {
System.err.println("Invalid gen_type passed. " + fileTypeToGen);
System.exit(1);
} else if ( fileTypeToGen.equals(generateTypeYAML) ) {
- if ( responsesUrl == null || responsesUrl.length() < 1
+ if ( responsesUrl == null || responsesUrl.length() < 1
|| responsesLabel == null || responsesLabel.length() < 1 ) {
System.err.println("generating swagger yaml file requires yamlresponses_url and yamlresponses_label properties" );
System.exit(1);
@@ -217,11 +217,11 @@ public class GenerateXsd {
logger.debug("user.dir = "+System.getProperty("user.dir"));
if(System.getProperty("user.dir") != null && !System.getProperty("user.dir").contains(normalStartDir)) {
fileName = baseAutoGenRoot + fileName;
-
+
}
else {
fileName = baseRoot + fileName;
-
+
}
edgeRuleFile = new File( fileName);
// Document doc = ni.getSchema(translateVersion(v));
@@ -232,6 +232,9 @@ public class GenerateXsd {
HTMLfromOXM swagger = ctx.getBean(HTMLfromOXM.class);
swagger.setVersion(v);
fileContent = swagger.process();
+ if ( fileContent.startsWith("Schema format issue")) {
+ throw new Exception(fileContent);
+ }
} catch(Exception e) {
logger.error( "Exception creating output file " + outfileName);
logger.error( e.getMessage());
@@ -241,7 +244,7 @@ public class GenerateXsd {
} else if ( versionSupportsSwagger(apiVersion )) {
outfileName = yaml_dir + "/aai_swagger_" + apiVersion + "." + generateTypeYAML;
nodesfileName = yaml_dir + "/aai_swagger_" + apiVersion + "." + "nodes"+"."+generateTypeYAML;
- try {
+ try {
YAMLfromOXM swagger = (YAMLfromOXM) ctx.getBean(YAMLfromOXM.class);
swagger.setVersion(v);
fileContent = swagger.process();
@@ -259,13 +262,13 @@ public class GenerateXsd {
}
outfile = new File(outfileName);
File parentDir = outfile.getParentFile();
- if(! parentDir.exists())
+ if(! parentDir.exists())
parentDir.mkdirs();
if(nodesfileName != null) {
BufferedWriter nodesBW = null;
nodesfile = new File(nodesfileName);
parentDir = nodesfile.getParentFile();
- if(! parentDir.exists())
+ if(! parentDir.exists())
parentDir.mkdirs();
try {
nodesfile.createNewFile();
@@ -287,7 +290,7 @@ public class GenerateXsd {
}
}
}
-
+
try {
outfile.createNewFile();
} catch (IOException e) {
@@ -310,9 +313,8 @@ public class GenerateXsd {
}
logger.debug( "GeneratedXSD successful, saved in " + outfileName);
}
-
+
}
}
- \ No newline at end of file
diff --git a/aai-core/src/main/java/org/onap/aai/util/genxsd/NodesYAMLfromOXM.java b/aai-core/src/main/java/org/onap/aai/util/genxsd/NodesYAMLfromOXM.java
index 0b89ce10..5abd8f48 100644
--- a/aai-core/src/main/java/org/onap/aai/util/genxsd/NodesYAMLfromOXM.java
+++ b/aai-core/src/main/java/org/onap/aai/util/genxsd/NodesYAMLfromOXM.java
@@ -131,8 +131,7 @@ public class NodesYAMLfromOXM extends OxmFileProcessor {
}
XSDElement javaTypeElement = new XSDElement(elem);
-
-
+
logger.debug("External: "+javaTypeElement.getAttribute("name")+"/"+getXmlRootElementName(javaTypeName));
if ( javaTypeName == null ) {
String msg = "Invalid OXM file: <java-type> has no name attribute in " + oxmFile;
@@ -140,7 +139,6 @@ public class NodesYAMLfromOXM extends OxmFileProcessor {
throw new AAIException(msg);
}
namespaceFilter.add(getXmlRootElementName(javaTypeName));
-
processJavaTypeElementSwagger( javaTypeName, javaTypeElement, pathSb,
definitionsSb, null, null, null, null, null, null);
}
@@ -274,7 +272,11 @@ public class NodesYAMLfromOXM extends OxmFileProcessor {
}
if ( indexedProps != null
&& indexedProps.contains(xmlElementElement.getAttribute("name") ) ) {
- containerProps.add(xmlElementElement.getQueryParamYAML());
+ containerProps.add(xmlElementElement.getQueryParamYAML(elementDescription));
+ NodeGetOperation.addContainerProps(container, containerProps);
+ } else if ( indexedProps == null || indexedProps.isEmpty() && "true".equals(xmlElementElement.getAttribute("required")) ){
+ // no indexedProps and element is required, also considered using xml-key in this case
+ containerProps.add(xmlElementElement.getPathParamYAMLRqd(elementDescription, false));
NodeGetOperation.addContainerProps(container, containerProps);
}
if ( xmlElementElement.isStandardType()) {
@@ -500,8 +502,7 @@ public class NodesYAMLfromOXM extends OxmFileProcessor {
}
Path path = Paths.get(outfileName);
Charset charset = Charset.forName("UTF-8");
- try {
- BufferedWriter bw = Files.newBufferedWriter(path, charset);
+ try(BufferedWriter bw = Files.newBufferedWriter(path, charset);) {
bw.write(fileContent);
if ( bw != null ) {
bw.close();
diff --git a/aai-core/src/main/java/org/onap/aai/util/genxsd/OxmFileProcessor.java b/aai-core/src/main/java/org/onap/aai/util/genxsd/OxmFileProcessor.java
index a758be50..8edab757 100644
--- a/aai-core/src/main/java/org/onap/aai/util/genxsd/OxmFileProcessor.java
+++ b/aai-core/src/main/java/org/onap/aai/util/genxsd/OxmFileProcessor.java
@@ -43,7 +43,6 @@ import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
-
import org.onap.aai.edges.EdgeIngestor;
import org.onap.aai.edges.exceptions.EdgeRuleNotFoundException;
import org.onap.aai.exceptions.AAIException;
@@ -65,7 +64,7 @@ public abstract class OxmFileProcessor {
public static final String LINE_SEPARATOR = System.getProperty("line.separator");
public static final String DOUBLE_LINE_SEPARATOR = System.getProperty("line.separator") + System.getProperty("line.separator");
-
+
EdgeIngestor ei;
NodeIngestor ni;
protected Set<String> namespaceFilter;
@@ -75,17 +74,17 @@ public abstract class OxmFileProcessor {
protected Document doc = null;
protected String apiVersion = null;
protected SchemaVersions schemaVersions;
-
- protected Map combinedJavaTypes;
-
-
+
+
protected static int annotationsStartVersion = 9; // minimum version to support annotations in xsd
protected static int annotationsMinVersion = 6; // lower versions support annotations in xsd
protected static int swaggerSupportStartsVersion = 1; // minimum version to support swagger documentation
protected static int swaggerDiffStartVersion = 1; // minimum version to support difference
protected static int swaggerMinBasepath = 6; // minimum version to support difference
-
-
+
+ protected Map combinedJavaTypes;
+
+
protected String apiVersionFmt = null;
protected HashMap<String, String> generatedJavaType = new HashMap<String, String>();
protected HashMap<String, String> appliedPaths = new HashMap<String, String>();
@@ -125,8 +124,8 @@ public abstract class OxmFileProcessor {
this.ni = ni;
this.ei = ei;
}
-
-
+
+
public void setOxmVersion(File oxmFile, SchemaVersion v) {
this.oxmFile = oxmFile;
@@ -137,16 +136,16 @@ public abstract class OxmFileProcessor {
this.xml = xml;
this.v = v;
}
-
+
public void setVersion(SchemaVersion v) {
this.oxmFile = null;
this.v = v;
}
-
+
public void setNodeIngestor(NodeIngestor ni) {
this.ni = ni;
}
-
+
public void setEdgeIngestor(EdgeIngestor ei) {
this.ei = ei;
}
@@ -158,25 +157,25 @@ public abstract class OxmFileProcessor {
public void setSchemaVersions(SchemaVersions schemaVersions) {
this.schemaVersions = schemaVersions;
}
-
+
protected void init() throws ParserConfigurationException, SAXException, IOException, AAIException, EdgeRuleNotFoundException {
- if(this.xml != null || this.oxmFile != null ) {
+ if(this.xml != null || this.oxmFile != null ) {
createDocument();
}
if(this.doc == null) {
this.doc = ni.getSchema(v);
}
namespaceFilter = new HashSet<>();
-
+
NodeList bindingsNodes = doc.getElementsByTagName("xml-bindings");
Element bindingElement;
NodeList javaTypesNodes;
Element javaTypesElement;
-
+
if ( bindingsNodes == null || bindingsNodes.getLength() == 0 ) {
throw new AAIException("OXM file error: missing <binding-nodes> in " + oxmFile);
- }
-
+ }
+
bindingElement = (Element) bindingsNodes.item(0);
javaTypesNodes = bindingElement.getElementsByTagName("java-types");
if ( javaTypesNodes.getLength() < 1 ) {
@@ -192,14 +191,14 @@ public abstract class OxmFileProcessor {
private void createDocument() throws ParserConfigurationException, SAXException, IOException, AAIException {
DocumentBuilder dBuilder = null;
- try {
+ try {
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
dbFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
dBuilder = dbFactory.newDocumentBuilder();
} catch (ParserConfigurationException e) {
throw e;
}
- try {
+ try {
if ( xml == null ) {
doc = dBuilder.parse(oxmFile);
} else {
@@ -215,11 +214,11 @@ public abstract class OxmFileProcessor {
}
public abstract String getDocumentHeader();
public abstract String process() throws ParserConfigurationException, SAXException, IOException, AAIException, FileNotFoundException, EdgeRuleNotFoundException ;
-
+
public String getXMLRootElementName(Element javaTypeElement) {
String xmlRootElementName=null;
NamedNodeMap attributes;
-
+
NodeList valNodes = javaTypeElement.getElementsByTagName("xml-root-element");
Element valElement = (Element) valNodes.item(0);
attributes = valElement.getAttributes();
@@ -233,7 +232,7 @@ public abstract class OxmFileProcessor {
}
return xmlRootElementName;
}
-
+
public String getXmlRootElementName( String javaTypeName )
{
String attrName, attrValue;
@@ -263,22 +262,22 @@ public abstract class OxmFileProcessor {
}
return null;
}
-
+
public Map getCombinedJavaTypes() {
return combinedJavaTypes;
}
-
+
public void setCombinedJavaTypes(Map combinedJavaTypes) {
this.combinedJavaTypes = combinedJavaTypes;
}
-
+
public Element getJavaTypeElementSwagger( String javaTypeName )
{
-
+
String attrName, attrValue;
Attr attr;
Element javaTypeElement;
-
+
List<Element> combineElementList = new ArrayList<Element>();
for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
javaTypeElement = (Element) javaTypeNodes.item(i);
@@ -295,12 +294,11 @@ public abstract class OxmFileProcessor {
if ( combineElementList.size() == 0 ) {
return (Element) null;
} else if ( combineElementList.size() > 1 ) {
- // need to combine java-attributes
return combineElements( javaTypeName, combineElementList);
}
return combineElementList.get(0);
}
-
+
public boolean versionSupportsSwaggerDiff( String version) {
int ver = new Integer(version.substring(1)).intValue();
if ( ver >= HTMLfromOXM.swaggerDiffStartVersion ) {
@@ -308,7 +306,7 @@ public abstract class OxmFileProcessor {
}
return false;
}
-
+
public boolean versionSupportsBasePathProperty( String version) {
int ver = new Integer(version.substring(1)).intValue();
if ( ver <= HTMLfromOXM.swaggerMinBasepath ) {
@@ -340,11 +338,11 @@ public abstract class OxmFileProcessor {
for ( int i = 0; i < moreXmlElementNodes.getLength(); ++i ) {
xmlElement = (Element)moreXmlElementNodes.item(i);
- childNode = xmlElement.cloneNode(true);
+ childNode = xmlElement.cloneNode(true);
parentElement.insertBefore(childNode, refChild);
}
}
-
+
protected Node getXmlPropertiesNode(Element javaTypeElement ) {
NodeList nl = javaTypeElement.getChildNodes();
Node child;
@@ -356,7 +354,7 @@ public abstract class OxmFileProcessor {
}
return null;
}
-
+
protected Node merge( NodeList nl, Node mergeNode ) {
NamedNodeMap nnm = mergeNode.getAttributes();
Node childNode;
@@ -390,7 +388,7 @@ public abstract class OxmFileProcessor {
childNode = mergeNode.cloneNode(true);
return childNode;
}
-
+
protected void mergeXmlProperties(Node useChildProperties, NodeList propertiesToMerge ) {
NodeList nl = useChildProperties.getChildNodes();
Node childNode;
@@ -403,10 +401,10 @@ public abstract class OxmFileProcessor {
useChildProperties.appendChild(newNode);
}
}
-
+
}
}
-
+
protected void combineXmlProperties(int useElement, List<Element> combineElementList) {
// add or update xml-properties to the referenced element from the combined list
Element javaTypeElement = combineElementList.get(useElement);
@@ -443,7 +441,7 @@ public abstract class OxmFileProcessor {
}
}
-
+
protected Element combineElements( String javaTypeName, List<Element> combineElementList ) {
Element javaTypeElement;
NodeList parentNodes;
@@ -486,7 +484,7 @@ public abstract class OxmFileProcessor {
parentNodes = javaTypeElement.getElementsByTagName("java-attributes");
if ( parentNodes.getLength() == 0 ) {
continue;
- }
+ }
otherParentElement = (Element)parentNodes.item(0);
xmlElementNodes = otherParentElement.getElementsByTagName("xml-element");
if ( xmlElementNodes.getLength() <= 0 ) {
@@ -494,7 +492,7 @@ public abstract class OxmFileProcessor {
}
// xml-element that are not present
updateParentXmlElements( parentElement, xmlElementNodes);
-
+
}
}
// need to combine xml-properties
@@ -502,7 +500,7 @@ public abstract class OxmFileProcessor {
combinedJavaTypes.put( javaTypeName, useElement);
return combineElementList.get(useElement);
}
-
+
private static void prettyPrint(Node node, String tab)
{
diff --git a/aai-core/src/main/java/org/onap/aai/util/genxsd/PutOperation.java b/aai-core/src/main/java/org/onap/aai/util/genxsd/PutOperation.java
index cb5e779e..6597d034 100644
--- a/aai-core/src/main/java/org/onap/aai/util/genxsd/PutOperation.java
+++ b/aai-core/src/main/java/org/onap/aai/util/genxsd/PutOperation.java
@@ -84,14 +84,14 @@ public class PutOperation {
pathSb.append(" operationId: createOrUpdate" + useOpId + "\n");
pathSb.append(" consumes:\n");
pathSb.append(" - application/json\n");
- pathSb.append(" - application/xml\n");
+ pathSb.append(" - application/xml\n");
pathSb.append(" produces:\n");
pathSb.append(" - application/json\n");
pathSb.append(" - application/xml\n");
pathSb.append(" responses:\n");
pathSb.append(" \"default\":\n");
pathSb.append(" " + GenerateXsd.getResponsesUrl());
-
+
pathSb.append(" parameters:\n");
pathSb.append(pathParams); // for nesting
pathSb.append(" - name: body\n");
@@ -99,7 +99,11 @@ public class PutOperation {
pathSb.append(" description: " + xmlRootElementName + " object that needs to be created or updated. "+relationshipExamplesSb.toString()+"\n");
pathSb.append(" required: true\n");
pathSb.append(" schema:\n");
- pathSb.append(" $ref: \"#/definitions/" + xmlRootElementName + "\"\n");
+ String useElement = xmlRootElementName;
+ if ( xmlRootElementName.equals("relationship")) {
+ useElement += "-dict";
+ }
+ pathSb.append(" $ref: \"#/definitions/" + useElement + "\"\n");
this.tagRelationshipPathMapEntry();
return pathSb.toString();
}
@@ -110,5 +114,5 @@ public class PutOperation {
}
return "";
}
-
- } \ No newline at end of file
+
+ }
diff --git a/aai-core/src/main/java/org/onap/aai/util/genxsd/XSDElement.java b/aai-core/src/main/java/org/onap/aai/util/genxsd/XSDElement.java
index 9de7967e..db7c54c3 100644
--- a/aai-core/src/main/java/org/onap/aai/util/genxsd/XSDElement.java
+++ b/aai-core/src/main/java/org/onap/aai/util/genxsd/XSDElement.java
@@ -52,13 +52,13 @@ public class XSDElement implements Element {
this.xmlElementElement = xmlElementElement;
this.maxOccurs = maxOccurs;
}
-
+
public XSDElement(Element xmlElementElement) {
super();
this.xmlElementElement = xmlElementElement;
this.maxOccurs = null;
}
-
+
public String name() {
return this.getAttribute("name");
}
@@ -235,13 +235,23 @@ public class XSDElement implements Element {
}
public String getQueryParamYAML() {
+ return getQueryParamYAML(null);
+ }
+
+ public String getQueryParamYAML(String elementDescription ) {
+ // when elementDescription is not null, return parameters with description and example
StringBuffer sbParameter = new StringBuffer();
sbParameter.append((" - name: " + this.getAttribute("name") + "\n"));
sbParameter.append((" in: query\n"));
- if ( this.getAttribute("description") != null && this.getAttribute("description").length() > 0 )
- sbParameter.append((" description: " + this.getAttribute("description") + "\n"));
- else
+ String useDescription = elementDescription;
+ if ( elementDescription == null ) {
+ useDescription = this.getAttribute("description");
+ }
+ if ( useDescription != null && useDescription.length() > 0 ) {
+ sbParameter.append((" description: " + useDescription + "\n"));
+ } else {
sbParameter.append((" description:\n"));
+ }
sbParameter.append((" required: false\n"));
if ( ("java.lang.String").equals(this.getAttribute("type")))
sbParameter.append(" type: string\n");
@@ -256,16 +266,28 @@ public class XSDElement implements Element {
if ( ("java.lang.Boolean").equals(this.getAttribute("type"))) {
sbParameter.append(" type: boolean\n");
}
+ if ( elementDescription != null && StringUtils.isNotBlank(this.getAttribute("name"))) {
+ sbParameter.append(" example: "+"__"+this.getAttribute("name").toUpperCase()+"__"+"\n");
+ }
return sbParameter.toString();
}
public String getPathParamYAML(String elementDescription) {
+ return getPathParamYAMLRqd( elementDescription, true);
+ }
+
+ public String getPathParamYAMLRqd(String elementDescription, boolean isRqd) {
StringBuffer sbParameter = new StringBuffer();
sbParameter.append((" - name: " + this.getAttribute("name") + "\n"));
sbParameter.append((" in: path\n"));
if ( elementDescription != null && elementDescription.length() > 0 )
sbParameter.append((" description: " + elementDescription + "\n"));
- sbParameter.append((" required: true\n"));
+ if ( isRqd ) {
+ sbParameter.append((" required: true\n"));
+ } else {
+ // used by Nodes API for query params
+ sbParameter.append((" required: false\n"));
+ }
if ( ("java.lang.String").equals(this.getAttribute("type")))
sbParameter.append(" type: string\n");
if ( ("java.lang.Long").equals(this.getAttribute("type"))) {
@@ -306,7 +328,7 @@ public class XSDElement implements Element {
sbElement.append(" type=\"xs:int\"");
if ( elementType.equals("java.lang.Boolean"))
sbElement.append(" type=\"xs:boolean\"");
- if ( addType != null || elementType.startsWith("java.lang.") ) {
+ if ( addType != null || elementType.startsWith("java.lang.") ) {
sbElement.append(" minOccurs=\"0\"");
}
if ( elementContainerType != null && elementContainerType.equals("java.util.ArrayList")) {
diff --git a/aai-core/src/main/java/org/onap/aai/util/genxsd/YAMLfromOXM.java b/aai-core/src/main/java/org/onap/aai/util/genxsd/YAMLfromOXM.java
index a14a6977..f807bcb1 100644
--- a/aai-core/src/main/java/org/onap/aai/util/genxsd/YAMLfromOXM.java
+++ b/aai-core/src/main/java/org/onap/aai/util/genxsd/YAMLfromOXM.java
@@ -112,7 +112,7 @@ public class YAMLfromOXM extends OxmFileProcessor {
try {
init();
} catch(Exception e) {
- logger.error( "Error initializing " + this.getClass());
+ logger.error( "Error initializing " + this.getClass(),e);
throw e;
}
pathSb.append(getDocumentHeader());
@@ -138,7 +138,6 @@ public class YAMLfromOXM extends OxmFileProcessor {
throw new AAIException(msg);
}
namespaceFilter.add(getXmlRootElementName(javaTypeName));
-
processJavaTypeElementSwagger( javaTypeName, javaTypeElement, pathSb,
definitionsSb, null, null, null, null, null, null);
}
@@ -235,7 +234,7 @@ public class YAMLfromOXM extends OxmFileProcessor {
private String processJavaTypeElementSwagger( String javaTypeName, Element javaTypeElement,
StringBuffer pathSb, StringBuffer definitionsSb, String path, String tag, String opId,
String getItemName, StringBuffer pathParams, String validEdges) {
-
+
String xmlRootElementName = getXMLRootElementName(javaTypeElement);
StringBuilder definitionsLocalSb = new StringBuilder(256);
@@ -468,7 +467,7 @@ public class YAMLfromOXM extends OxmFileProcessor {
results.get(key).stream().filter((i) -> (i.getFrom().equals(xmlRootElementName) && (! i.isPrivateEdge() && i.getPreventDelete().equals("OUT")))).forEach((i) ->{ preventDelete.add(i.getTo().toUpperCase());} );
}
} catch(Exception e) {
- logger.debug("xmlRootElementName: "+xmlRootElementName+"\n"+e);
+ logger.debug("xmlRootElementName: "+xmlRootElementName+" from edge exception\n", e);
}
try {
EdgeRuleQuery q1 = new EdgeRuleQuery.Builder(xmlRootElementName).version(v).toOnly().build();
@@ -481,7 +480,7 @@ public class YAMLfromOXM extends OxmFileProcessor {
results.get(key).stream().filter((i) -> (i.getTo().equals(xmlRootElementName) && (! i.isPrivateEdge() && i.getPreventDelete().equals("IN")))).forEach((i) ->{ preventDelete.add(i.getFrom().toUpperCase());} );
}
} catch(Exception e) {
- logger.debug("xmlRootElementName: "+xmlRootElementName+"\n"+e);
+ logger.debug("xmlRootElementName: "+xmlRootElementName+" to edge exception\n", e);
}
if(preventDelete.size() > 0) {
prevent = xmlRootElementName.toUpperCase()+" cannot be deleted if related to "+String.join(",",preventDelete);
@@ -536,6 +535,7 @@ public class YAMLfromOXM extends OxmFileProcessor {
}
} catch (Exception e) {
e.printStackTrace();
+ logger.error("Exception adding in javaTypeDefinitions",e);
}
if ( xmlRootElementName.equals("inventory") ) {
logger.trace("skip xmlRootElementName(2)="+xmlRootElementName);
@@ -568,15 +568,10 @@ public class YAMLfromOXM extends OxmFileProcessor {
logger.error( "Exception creating output file " + outfileName);
e.printStackTrace();
}
- BufferedWriter bw = null;
Charset charset = Charset.forName("UTF-8");
Path path = Paths.get(outfileName);
- try {
- bw = Files.newBufferedWriter(path, charset);
+ try(BufferedWriter bw = Files.newBufferedWriter(path, charset)){
bw.write(fileContent);
- if ( bw != null ) {
- bw.close();
- }
} catch ( IOException e) {
logger.error( "Exception writing output file " + outfileName);
e.printStackTrace();
@@ -600,4 +595,4 @@ public class YAMLfromOXM extends OxmFileProcessor {
return false;
}
-} \ No newline at end of file
+}
diff --git a/aai-core/src/main/java/org/onap/aai/web/EventClientPublisher.java b/aai-core/src/main/java/org/onap/aai/web/EventClientPublisher.java
index ac897273..94d8f4cd 100644
--- a/aai-core/src/main/java/org/onap/aai/web/EventClientPublisher.java
+++ b/aai-core/src/main/java/org/onap/aai/web/EventClientPublisher.java
@@ -37,7 +37,7 @@ public class EventClientPublisher {
private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(EventClientPublisher.class);
- @Value("${dmaap.ribbon.listOfServers}")
+ @Value("${dmaap.ribbon.listOfServers:}")
private String hosts;
@Value("${dmaap.ribbon.username:}")
diff --git a/aai-core/src/main/resources/schema-ingest.properties b/aai-core/src/main/resources/schema-ingest.properties
new file mode 100644
index 00000000..4bae01db
--- /dev/null
+++ b/aai-core/src/main/resources/schema-ingest.properties
@@ -0,0 +1 @@
+schema.translator.list=config
diff --git a/aai-core/src/test/java/org/onap/aai/AAISetup.java b/aai-core/src/test/java/org/onap/aai/AAISetup.java
index ce8dfe20..fb914f01 100644
--- a/aai-core/src/test/java/org/onap/aai/AAISetup.java
+++ b/aai-core/src/test/java/org/onap/aai/AAISetup.java
@@ -56,10 +56,11 @@ import org.springframework.test.context.junit4.rules.SpringMethodRule;
EdgeSerializer.class,
NodeIngestor.class,
SpringContextAware.class,
- IntrospectionConfig.class,
+ IntrospectionConfig.class,
RestBeanConfig.class
})
-@TestPropertySource(properties = { "schema.uri.base.path = /aai", "schema.xsd.maxoccurs = 5000" , "schema.translator.list=config"})
+@TestPropertySource(properties = { "schema.uri.base.path = /aai", "schema.xsd.maxoccurs = 5000" , "schema.translator.list=config",
+ "schema.nodes.location=src/test/resources/onap/oxm", "schema.edges.location=src/test/resources/onap/dbedgerules"})
public abstract class AAISetup {
@ClassRule
@@ -70,16 +71,16 @@ public abstract class AAISetup {
@Autowired
protected Map<SchemaVersion, MoxyLoader> moxyLoaderInstance;
-
+
@Autowired
protected HttpEntry traversalHttpEntry;
-
+
@Autowired
protected HttpEntry traversalUriHttpEntry;
-
+
@Autowired
protected NodeIngestor nodeIngestor;
-
+
@Autowired
protected LoaderFactory loaderFactory;
@@ -90,8 +91,8 @@ public abstract class AAISetup {
protected String basePath;
@Value("${schema.xsd.maxoccurs}")
- protected String maxOccurs;
-
+ protected String maxOccurs;
+
protected static final String SERVICE_NAME = "JUNIT";
@BeforeClass
@@ -101,7 +102,7 @@ public abstract class AAISetup {
System.setProperty("aai.service.name", SERVICE_NAME);
QueryFormatTestHelper.setFinalStatic(AAIConstants.class.getField("AAI_HOME_ETC_OXM"), "src/test/resources/bundleconfig-local/etc/oxm/");
}
-
-
-
+
+
+
}
diff --git a/aai-core/src/test/java/org/onap/aai/DataLinkSetup.java b/aai-core/src/test/java/org/onap/aai/DataLinkSetup.java
new file mode 100644
index 00000000..0138f329
--- /dev/null
+++ b/aai-core/src/test/java/org/onap/aai/DataLinkSetup.java
@@ -0,0 +1,120 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.aai;
+
+import org.junit.BeforeClass;
+import org.junit.ClassRule;
+import org.junit.Rule;
+import org.onap.aai.config.IntrospectionConfig;
+import org.onap.aai.config.RestBeanConfig;
+import org.onap.aai.config.SpringContextAware;
+import org.onap.aai.edges.EdgeIngestor;
+import org.onap.aai.introspection.LoaderFactory;
+import org.onap.aai.introspection.MoxyLoader;
+import org.onap.aai.nodes.NodeIngestor;
+import org.onap.aai.rest.db.HttpEntry;
+import org.onap.aai.serialization.db.EdgeSerializer;
+import org.onap.aai.serialization.queryformats.QueryFormatTestHelper;
+import org.onap.aai.setup.AAIConfigTranslator;
+import org.onap.aai.setup.SchemaLocationsBean;
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.setup.SchemaVersions;
+import org.onap.aai.testutils.TestUtilConfigTranslatorforDataLink;
+import org.onap.aai.util.AAIConstants;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.test.annotation.DirtiesContext;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.junit4.rules.SpringClassRule;
+import org.springframework.test.context.junit4.rules.SpringMethodRule;
+
+import java.util.Map;
+
+
+@ContextConfiguration(classes = {
+ SchemaLocationsBean.class,
+ SchemaVersions.class,
+ TestUtilConfigTranslatorforDataLink.class,
+ EdgeIngestor.class,
+ EdgeSerializer.class,
+ NodeIngestor.class,
+ SpringContextAware.class,
+ IntrospectionConfig.class,
+ RestBeanConfig.class
+})
+@TestPropertySource(properties = {
+ "schema.uri.base.path = /aai",
+ "schema.xsd.maxoccurs = 5000",
+ "schema.version.api.default = v4",
+ "schema.version.edge.label.start = v4",
+ "schema.version.depth.start = v3",
+ "schema.version.app.root.start = v4",
+ "schema.version.related.link.start = v4",
+ "schema.version.namespace.change.start = v4",
+ "schema.version.list = v1,v2,v3,v4",
+ "schema.translator.list = config"
+})
+@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
+public abstract class DataLinkSetup {
+
+ @ClassRule
+ public static final SpringClassRule springClassRule = new SpringClassRule();
+
+ @Rule
+ public final SpringMethodRule springMethodRule = new SpringMethodRule();
+
+ @Autowired
+ protected Map<SchemaVersion, MoxyLoader> moxyLoaderInstance;
+
+ @Autowired
+ protected HttpEntry traversalHttpEntry;
+
+ @Autowired
+ protected HttpEntry traversalUriHttpEntry;
+
+ @Autowired
+ protected NodeIngestor nodeIngestor;
+
+ @Autowired
+ protected LoaderFactory loaderFactory;
+
+ @Autowired
+ protected SchemaVersions schemaVersions;
+
+ @Value("${schema.uri.base.path}")
+ protected String basePath;
+
+ @Value("${schema.xsd.maxoccurs}")
+ protected String maxOccurs;
+
+ protected static final String SERVICE_NAME = "JUNIT";
+
+ @BeforeClass
+ public static void setupBundleconfig() throws Exception {
+ System.setProperty("AJSC_HOME", ".");
+ System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
+ System.setProperty("aai.service.name", SERVICE_NAME);
+ QueryFormatTestHelper.setFinalStatic(AAIConstants.class.getField("AAI_HOME_ETC_OXM"), "src/test/resources/bundleconfig-local/etc/oxm/");
+ }
+
+
+
+}
diff --git a/aai-core/src/test/java/org/onap/aai/concurrent/AaiCallableTest.java b/aai-core/src/test/java/org/onap/aai/concurrent/AaiCallableTest.java
index b1507b7b..94b1ef6b 100644
--- a/aai-core/src/test/java/org/onap/aai/concurrent/AaiCallableTest.java
+++ b/aai-core/src/test/java/org/onap/aai/concurrent/AaiCallableTest.java
@@ -27,23 +27,23 @@ import org.slf4j.MDC;
import org.onap.aai.concurrent.AaiCallable;
public class AaiCallableTest extends AAISetup {
- @Test
- public void testAaiCallable() {
- MDC.put("test_name", "test_value");
-
- AaiCallable<Object> task = new AaiCallable<Object>() {
- @Override
- public Object process() {
- String mdcValue = MDC.get("test_name");
- assertTrue( "MDC value retained", "test_value".equals(mdcValue));
- return (new Object());
- }
- };
- try {
- task.call();
- }
- catch (Exception e) {
- e.printStackTrace();
- }
- }
+ @Test
+ public void testAaiCallable() {
+ MDC.put("test_name", "test_value");
+
+ AaiCallable<Object> task = new AaiCallable<Object>() {
+ @Override
+ public Object process() {
+ String mdcValue = MDC.get("test_name");
+ assertTrue( "MDC value retained", "test_value".equals(mdcValue));
+ return (new Object());
+ }
+ };
+ try {
+ task.call();
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
}
diff --git a/aai-core/src/test/java/org/onap/aai/exceptions/AAIExceptionTest.java b/aai-core/src/test/java/org/onap/aai/exceptions/AAIExceptionTest.java
index 02fb8fa2..99597f7f 100644
--- a/aai-core/src/test/java/org/onap/aai/exceptions/AAIExceptionTest.java
+++ b/aai-core/src/test/java/org/onap/aai/exceptions/AAIExceptionTest.java
@@ -26,87 +26,87 @@ import static org.junit.Assert.assertEquals;
public class AAIExceptionTest extends AAISetup {
- 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();
-
- /**
- * 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("java.lang.RuntimeException: This is a runtime exception.", 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 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(details);
- assertEquals(detailString, exception.getMessage());
- }
+ 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();
+
+ /**
+ * 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("java.lang.RuntimeException: This is a runtime exception.", 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 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(details);
+ assertEquals(detailString, exception.getMessage());
+ }
}
diff --git a/aai-core/src/test/java/org/onap/aai/exceptions/AAIExceptionWithInfoTest.java b/aai-core/src/test/java/org/onap/aai/exceptions/AAIExceptionWithInfoTest.java
index 3489c257..b0727813 100644
--- a/aai-core/src/test/java/org/onap/aai/exceptions/AAIExceptionWithInfoTest.java
+++ b/aai-core/src/test/java/org/onap/aai/exceptions/AAIExceptionWithInfoTest.java
@@ -28,119 +28,119 @@ import static org.junit.Assert.assertEquals;
public class AAIExceptionWithInfoTest extends AAISetup {
-
- 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 = "AAI_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("4004", 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("4004", 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("4004", exception.getErrorObject().getErrorCode());
- assertEquals(cause.toString(), 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("4004", exception.getErrorObject().getErrorCode());
- assertEquals(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());
- }
+
+ 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 = "AAI_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("4004", 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("4004", 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("4004", exception.getErrorObject().getErrorCode());
+ assertEquals(cause.toString(), 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("4004", exception.getErrorObject().getErrorCode());
+ assertEquals(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/onap/aai/introspection/IntrospectorTestSpec.java b/aai-core/src/test/java/org/onap/aai/introspection/IntrospectorTestSpec.java
index 3a875062..44cbe6cc 100644
--- a/aai-core/src/test/java/org/onap/aai/introspection/IntrospectorTestSpec.java
+++ b/aai-core/src/test/java/org/onap/aai/introspection/IntrospectorTestSpec.java
@@ -26,32 +26,32 @@ import static org.junit.Assert.assertEquals;
public abstract class IntrospectorTestSpec extends AAISetup {
-
-
- /**
- * 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"));
-
-
- }
-
+
+
+ /**
+ * 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/onap/aai/introspection/MoxyEngineTest.java b/aai-core/src/test/java/org/onap/aai/introspection/MoxyEngineTest.java
index c8d8caf4..463c9174 100644
--- a/aai-core/src/test/java/org/onap/aai/introspection/MoxyEngineTest.java
+++ b/aai-core/src/test/java/org/onap/aai/introspection/MoxyEngineTest.java
@@ -21,25 +21,27 @@ package org.onap.aai.introspection;
import org.junit.Test;
import org.onap.aai.introspection.exceptions.AAIUnknownObjectException;
+import org.springframework.test.annotation.DirtiesContext;
+@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
public class MoxyEngineTest extends IntrospectorTestSpec {
- /**
- * Container object.
- * @throws AAIUnknownObjectException
- */
- @Test
- public void containerObject() throws AAIUnknownObjectException {
-
+ /**
+ * Container object.
+ * @throws AAIUnknownObjectException
+ */
+ @Test
+ public void containerObject() throws AAIUnknownObjectException {
+
Loader loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDepthVersion());
Introspector obj = loader.introspectorFromName("port-groups");
this.containerTestSet(obj);
- }
-
-
-
+ }
+
+
+
}
diff --git a/aai-core/src/test/java/org/onap/aai/introspection/PropertyPredicatesTest.java b/aai-core/src/test/java/org/onap/aai/introspection/PropertyPredicatesTest.java
index 72b5d318..190e3243 100644
--- a/aai-core/src/test/java/org/onap/aai/introspection/PropertyPredicatesTest.java
+++ b/aai-core/src/test/java/org/onap/aai/introspection/PropertyPredicatesTest.java
@@ -24,6 +24,7 @@ import org.junit.Before;
import org.junit.Test;
import org.onap.aai.AAISetup;
import org.onap.aai.introspection.exceptions.AAIUnknownObjectException;
+import org.springframework.test.annotation.DirtiesContext;
import java.util.Set;
@@ -31,42 +32,43 @@ import static org.hamcrest.Matchers.hasItems;
import static org.hamcrest.Matchers.not;
import static org.junit.Assert.assertThat;
+@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
public class PropertyPredicatesTest extends AAISetup {
- private Loader loader;
- private ModelType introspectorFactoryType = ModelType.MOXY;
- private Introspector obj;
-
- @Before
- public void setup() throws Exception {
- loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, schemaVersions.getDefaultVersion());
- obj = loader.introspectorFromName("generic-vnf");
- }
-
- @Test
- public void includeInTestGeneration() throws AAIUnknownObjectException {
-
- Set<String> props = obj.getProperties(PropertyPredicates.includeInTestGeneration());
+ private Loader loader;
+ private ModelType introspectorFactoryType = ModelType.MOXY;
+ private Introspector obj;
+
+ @Before
+ public void setup() throws Exception {
+ loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, schemaVersions.getDefaultVersion());
+ obj = loader.introspectorFromName("generic-vnf");
+ }
+
+ @Test
+ public void includeInTestGeneration() throws AAIUnknownObjectException {
+
+ Set<String> props = obj.getProperties(PropertyPredicates.includeInTestGeneration());
- assertThat("props not found", props,
- not(hasItems("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("model-invariant-id", "model-version-id")));
+ }
+
+ @Test
+ public void isVisible() throws AAIUnknownObjectException {
+
+ Set<String> props = obj.getProperties(PropertyPredicates.isVisible());
- assertThat("props not found", props, hasItems("model-invariant-id", "model-version-id"));
- }
-
- @Test
- public void all() throws AAIUnknownObjectException {
-
- Set<String> props = obj.getProperties();
+ assertThat("props not found", props, hasItems("model-invariant-id", "model-version-id"));
+ }
+
+ @Test
+ public void all() throws AAIUnknownObjectException {
+
+ Set<String> props = obj.getProperties();
- assertThat("all found", props, hasItems("model-invariant-id", "model-version-id"));
- }
-
+ assertThat("all found", props, hasItems("model-invariant-id", "model-version-id"));
+ }
+
}
diff --git a/aai-core/src/test/java/org/onap/aai/introspection/generator/CreateExampleTest.java b/aai-core/src/test/java/org/onap/aai/introspection/generator/CreateExampleTest.java
index f0d39f9f..c7d4cf82 100644
--- a/aai-core/src/test/java/org/onap/aai/introspection/generator/CreateExampleTest.java
+++ b/aai-core/src/test/java/org/onap/aai/introspection/generator/CreateExampleTest.java
@@ -34,98 +34,98 @@ import java.util.List;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
public class CreateExampleTest extends AAISetup {
-
- private static CreateExample createExample;
- private Loader loader;
+
+ private static CreateExample createExample;
+ private Loader loader;
- private static boolean classLoaded = false;
-
-
- @BeforeClass
- public static void setUp() {
-
-
- }
-
-
- @Before
- public void createLoaderVersion(){
- if(!classLoaded){
- loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getAppRootVersion());
- createExample = new CreateExample(loader, "edge-prop-names");
- classLoaded = false;
- }
- }
-
- @Test
- public void testGetExampleObject() throws AAIException {
- Introspector introspector = loader.introspectorFromName("edge-prop-names");
- Introspector res = createExample.getExampleObject();
- assertEquals(introspector.getName(), res.getName());
- }
+ private static boolean classLoaded = false;
+
+
+ @BeforeClass
+ public static void setUp() {
+
+
+ }
+
+
+ @Before
+ public void createLoaderVersion(){
+ if(!classLoaded){
+ loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getAppRootVersion());
+ createExample = new CreateExample(loader, "edge-prop-names");
+ classLoaded = false;
+ }
+ }
+
+ @Test
+ public void testGetExampleObject() throws AAIException {
+ Introspector introspector = loader.introspectorFromName("edge-prop-names");
+ Introspector res = createExample.getExampleObject();
+ assertEquals(introspector.getName(), res.getName());
+ }
- @Test
- public void testProcessPrimitiveString() throws AAIUnknownObjectException {
- String propName = "direction";
- Introspector introspector = loader.introspectorFromName("edge-prop-names");
- createExample.processPrimitive(propName, introspector);
- }
-
- @Test
- public void testProcessPrimitiveLong() throws AAIUnknownObjectException {
- String propName = "vlan-id-inner";
- Introspector introspector = loader.introspectorFromName("ctag-assignment");
- createExample.processPrimitive(propName, introspector);
- }
+ @Test
+ public void testProcessPrimitiveString() throws AAIUnknownObjectException {
+ String propName = "direction";
+ Introspector introspector = loader.introspectorFromName("edge-prop-names");
+ createExample.processPrimitive(propName, introspector);
+ }
+
+ @Test
+ public void testProcessPrimitiveLong() throws AAIUnknownObjectException {
+ String propName = "vlan-id-inner";
+ Introspector introspector = loader.introspectorFromName("ctag-assignment");
+ createExample.processPrimitive(propName, introspector);
+ }
- @Test
- public void testProcessPrimitiveBoolean() throws AAIUnknownObjectException {
- String propName = "in-maint";
- Introspector introspector = loader.introspectorFromName("vserver");
- createExample.processPrimitive(propName, introspector);
- }
-
- @Test
- public void testProcessPrimitiveInteger() throws AAIUnknownObjectException {
- String propName = "module-index";
- Introspector introspector = loader.introspectorFromName("vf-module");
- createExample.processPrimitive(propName, introspector);
- }
-
- @Test
- public void testProcessPrimitiveList() throws AAIUnknownObjectException {
- String propName = "ipaddress-v4-vig";
- Introspector introspector = loader.introspectorFromName("vig-server");
- createExample.processPrimitiveList(propName, introspector);
- }
+ @Test
+ public void testProcessPrimitiveBoolean() throws AAIUnknownObjectException {
+ String propName = "in-maint";
+ Introspector introspector = loader.introspectorFromName("vserver");
+ createExample.processPrimitive(propName, introspector);
+ }
+
+ @Test
+ public void testProcessPrimitiveInteger() throws AAIUnknownObjectException {
+ String propName = "module-index";
+ Introspector introspector = loader.introspectorFromName("vf-module");
+ createExample.processPrimitive(propName, introspector);
+ }
+
+ @Test
+ public void testProcessPrimitiveList() throws AAIUnknownObjectException {
+ String propName = "ipaddress-v4-vig";
+ Introspector introspector = loader.introspectorFromName("vig-server");
+ createExample.processPrimitiveList(propName, introspector);
+ }
- @Test
- public void testProcessComplexObj() {
- // empty method
- Introspector introspector = Mockito.mock(Introspector.class);
- createExample.processComplexObj(introspector);
- }
+ @Test
+ public void testProcessComplexObj() {
+ // empty method
+ Introspector introspector = Mockito.mock(Introspector.class);
+ createExample.processComplexObj(introspector);
+ }
- @Test
- public void testModifyComplexList() {
- // empty method
- List<Introspector> introList = new ArrayList<Introspector>();
- List<Object> objList = new ArrayList<Object>();
- Introspector introspector = Mockito.mock(Introspector.class);
- createExample.modifyComplexList(introList, objList, introspector, introspector);
- }
+ @Test
+ public void testModifyComplexList() {
+ // empty method
+ List<Introspector> introList = new ArrayList<Introspector>();
+ List<Object> objList = new ArrayList<Object>();
+ Introspector introspector = Mockito.mock(Introspector.class);
+ createExample.modifyComplexList(introList, objList, introspector, introspector);
+ }
- @Test
- public void testCreateComplexObjIfNull() {
- boolean res = createExample.createComplexObjIfNull();
- assertTrue(res);
- }
+ @Test
+ public void testCreateComplexObjIfNull() {
+ boolean res = createExample.createComplexObjIfNull();
+ assertTrue(res);
+ }
- @Test
- public void testCreateComplexListSize() {
- Introspector introspector = Mockito.mock(Introspector.class);
- int res = createExample.createComplexListSize(introspector, introspector);
- assertEquals(1, res);
- }
+ @Test
+ public void testCreateComplexListSize() {
+ Introspector introspector = Mockito.mock(Introspector.class);
+ int res = createExample.createComplexListSize(introspector, introspector);
+ assertEquals(1, res);
+ }
}
diff --git a/aai-core/src/test/java/org/onap/aai/introspection/sideeffect/DataCopyTest.java b/aai-core/src/test/java/org/onap/aai/introspection/sideeffect/DataCopyTest.java
index f0165466..f9911295 100644
--- a/aai-core/src/test/java/org/onap/aai/introspection/sideeffect/DataCopyTest.java
+++ b/aai-core/src/test/java/org/onap/aai/introspection/sideeffect/DataCopyTest.java
@@ -63,226 +63,199 @@ import static org.mockito.Mockito.when;
public class DataCopyTest extends AAISetup{
-
-
- private static JanusGraph graph;
- private final static ModelType introspectorFactoryType = ModelType.MOXY;
- 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();
+
+
+ private static JanusGraph graph;
+ private final static ModelType introspectorFactoryType = ModelType.MOXY;
+ 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();
-
- @Parameterized.Parameter(value = 0)
- public QueryStyle queryStyle;
+
+ @Parameterized.Parameter(value = 0)
+ public QueryStyle queryStyle;
- @Parameterized.Parameters(name = "QueryStyle.{0}")
- public static Collection<Object[]> data() {
- return Arrays.asList(new Object[][]{
- {QueryStyle.TRAVERSAL},
- {QueryStyle.TRAVERSAL_URI}
- });
- }
-
-
- @BeforeClass
- public static void setup() throws NoSuchFieldException, SecurityException, Exception {
- graph = JanusGraphFactory.build().set("storage.backend","inmemory").open();
- System.setProperty("AJSC_HOME", ".");
- System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
-
- graph.traversal().addV("aai-node-type", "model", "model-invariant-id", "key1", AAIProperties.AAI_URI, "/service-design-and-creation/models/model/key1").as("v1")
- .addV("aai-node-type", "model-ver", "model-ver", "myValue", "model-version-id", "key2", "model-version", "testValue", AAIProperties.AAI_URI, "/service-design-and-creation/models/model/key1/model-vers/model-ver/key2")
- .addOutE("org.onap.relationships.inventory.BelongsTo", "v1", EdgeProperty.CONTAINS.toString(), true)
- .addV("aai-node-type", "model", "model-invariant-id", "key3", AAIProperties.AAI_URI, "/service-design-and-creation/models/model/key3").as("v2")
- .addV("aai-node-type", "model-ver", "model-ver", "myValue", "model-version-id", "key4", AAIProperties.AAI_URI, "/service-design-and-creation/models/model/key3/model-vers/model-ver/key4")
- .addOutE("org.onap.relationships.inventory.BelongsTo", "v2", EdgeProperty.CONTAINS.toString(), true)
- .next();
- graph.tx().commit();
- }
-
- @AfterClass
- public static void tearDown() {
- graph.tx().rollback();
- graph.close();
- }
-
- @Before
- public void initMock() {
- loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, schemaVersions.getDefaultVersion());
- MockitoAnnotations.initMocks(this);
- dbEngine = new JanusGraphDBEngine(
- queryStyle,
- type,
- loader);
- }
-
- @Test
- public void runPopulatePersonaModelVer() throws URISyntaxException, AAIException, UnsupportedEncodingException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, MalformedURLException {
-
- final Loader loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
- final Introspector obj = loader.introspectorFromName("generic-vnf");
- 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());
- Graph 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(schemaVersions.getDefaultVersion(), spy, introspectorFactoryType, "AAI_TEST");
- SideEffectRunner runner = new SideEffectRunner
- .Builder(spy, serializer).addSideEffect(DataCopy.class).build();
-
- runner.execute(obj, self);
+ @Parameterized.Parameters(name = "QueryStyle.{0}")
+ public static Collection<Object[]> data() {
+ return Arrays.asList(new Object[][]{
+ {QueryStyle.TRAVERSAL},
+ {QueryStyle.TRAVERSAL_URI}
+ });
+ }
+
+
+ @BeforeClass
+ public static void setup() throws NoSuchFieldException, SecurityException, Exception {
+ graph = JanusGraphFactory.build().set("storage.backend","inmemory").open();
+ System.setProperty("AJSC_HOME", ".");
+ System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
+
+ graph.traversal().addV("aai-node-type", "model", "model-invariant-id", "key1", AAIProperties.AAI_URI, "/service-design-and-creation/models/model/key1").as("v1")
+ .addV("aai-node-type", "model-ver", "model-ver", "myValue", "model-version-id", "key2", "model-version", "testValue", AAIProperties.AAI_URI, "/service-design-and-creation/models/model/key1/model-vers/model-ver/key2")
+ .addOutE("org.onap.relationships.inventory.BelongsTo", "v1", EdgeProperty.CONTAINS.toString(), true)
+ .addV("aai-node-type", "model", "model-invariant-id", "key3", AAIProperties.AAI_URI, "/service-design-and-creation/models/model/key3").as("v2")
+ .addV("aai-node-type", "model-ver", "model-ver", "myValue", "model-version-id", "key4", AAIProperties.AAI_URI, "/service-design-and-creation/models/model/key3/model-vers/model-ver/key4")
+ .addOutE("org.onap.relationships.inventory.BelongsTo", "v2", EdgeProperty.CONTAINS.toString(), true)
+ .next();
+ graph.tx().commit();
+ }
+
+ @AfterClass
+ public static void tearDown() {
+ graph.tx().rollback();
+ graph.close();
+ }
+
+ @Before
+ public void initMock() {
+ loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, schemaVersions.getDefaultVersion());
+ MockitoAnnotations.initMocks(this);
+ dbEngine = new JanusGraphDBEngine(
+ queryStyle,
+ type,
+ loader);
+ }
+
+ @Test
+ public void runPopulatePersonaModelVer() throws URISyntaxException, AAIException, UnsupportedEncodingException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, MalformedURLException {
+
+ final Loader loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
+ final Introspector obj = loader.introspectorFromName("generic-vnf");
+ 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());
+ Graph 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(schemaVersions.getDefaultVersion(), 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-version"));
-
- g.tx().rollback();
-
-
- }
-
- @Test
- public void runPopulateModelVersionId() throws URISyntaxException, AAIException, UnsupportedEncodingException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, MalformedURLException {
-
- final Loader loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDepthVersion());
- final Introspector obj = loader.introspectorFromName("generic-vnf");
- 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());
- Graph 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(schemaVersions.getDefaultVersion(), 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.tx().rollback();
- }
-
- @Test
- public void verifyNestedSideEffect() throws URISyntaxException, AAIException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, IOException {
-
- final Loader loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
- 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());
- Graph 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(schemaVersions.getDefaultVersion(), 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(""));
+ assertEquals("value populated", "testValue", obj.getValue("persona-model-version"));
+
+ g.tx().rollback();
+
+
+ }
+
+ @Test
+ public void verifyNestedSideEffect() throws URISyntaxException, AAIException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, IOException {
+
+ final Loader loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
+ 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());
+ Graph 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(schemaVersions.getDefaultVersion(), 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.tx().rollback();
+ g.tx().rollback();
- }
-
- @Test
- public void expectedMissingPropertyExceptionInURI() throws AAIException, UnsupportedEncodingException {
-
- final Loader loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
- final Introspector obj = loader.introspectorFromName("generic-vnf");
- obj.setValue("vnf-id", "myId");
- obj.setValue("model-invariant-id", "key1");
+ }
+
+ @Test
+ public void expectedMissingPropertyExceptionInURI() throws AAIException, UnsupportedEncodingException {
+
+ final Loader loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
+ final Introspector obj = loader.introspectorFromName("generic-vnf");
+ obj.setValue("vnf-id", "myId");
+ obj.setValue("model-invariant-id", "key1");
- TransactionalGraphEngine spy = spy(dbEngine);
- TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
- Graph 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(schemaVersions.getDefaultVersion(), 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, schemaVersions.getDefaultVersion());
- final Introspector obj = loader.introspectorFromName("generic-vnf");
- 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());
+ Graph 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(schemaVersions.getDefaultVersion(), 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, schemaVersions.getDefaultVersion());
+ final Introspector obj = loader.introspectorFromName("generic-vnf");
+ 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());
- Graph 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(schemaVersions.getDefaultVersion(), 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, schemaVersions.getDefaultVersion());
- final Introspector obj = loader.introspectorFromName("generic-vnf");
- obj.setValue("vnf-id", "myId");
+ TransactionalGraphEngine spy = spy(dbEngine);
+ TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
+ Graph 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(schemaVersions.getDefaultVersion(), 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, schemaVersions.getDefaultVersion());
+ final Introspector obj = loader.introspectorFromName("generic-vnf");
+ obj.setValue("vnf-id", "myId");
- TransactionalGraphEngine spy = spy(dbEngine);
- TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
- Graph 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(schemaVersions.getDefaultVersion(), 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/oxm/sideeffect/" + filename);
- String s = IOUtils.toString(is, "UTF-8");
- IOUtils.closeQuietly(is);
-
- return s;
- }
+ TransactionalGraphEngine spy = spy(dbEngine);
+ TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
+ Graph 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(schemaVersions.getDefaultVersion(), 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/oxm/sideeffect/" + filename);
+ String s = IOUtils.toString(is, "UTF-8");
+ IOUtils.closeQuietly(is);
+
+ return s;
+ }
}
diff --git a/aai-core/src/test/java/org/onap/aai/introspection/sideeffect/DataLinkTest.java b/aai-core/src/test/java/org/onap/aai/introspection/sideeffect/DataLinkTest.java
index aed7bd59..5b9a0fa6 100644
--- a/aai-core/src/test/java/org/onap/aai/introspection/sideeffect/DataLinkTest.java
+++ b/aai-core/src/test/java/org/onap/aai/introspection/sideeffect/DataLinkTest.java
@@ -36,6 +36,7 @@ import org.junit.runners.Parameterized;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.onap.aai.AAISetup;
+import org.onap.aai.DataLinkSetup;
import org.onap.aai.db.props.AAIProperties;
import org.onap.aai.dbmap.DBConnectionType;
import org.onap.aai.exceptions.AAIException;
@@ -61,305 +62,305 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
@RunWith(value = Parameterized.class)
-public class DataLinkTest extends AAISetup {
+public class DataLinkTest extends DataLinkSetup {
- private static JanusGraph graph;
- private final static ModelType introspectorFactoryType = ModelType.MOXY;
- 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();
+ private static JanusGraph graph;
+ private final static ModelType introspectorFactoryType = ModelType.MOXY;
+ 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();
-
- @Parameterized.Parameter(value = 0)
- public QueryStyle queryStyle;
+
+ @Parameterized.Parameter(value = 0)
+ public QueryStyle queryStyle;
- @Parameterized.Parameters(name = "QueryStyle.{0}")
- public static Collection<Object[]> data() {
- return Arrays.asList(new Object[][]{
- {QueryStyle.TRAVERSAL},
- {QueryStyle.TRAVERSAL_URI}
- });
- }
-
- @BeforeClass
- public static void setup() throws NoSuchFieldException, SecurityException, Exception {
- graph = JanusGraphFactory.build().set("storage.backend","inmemory").open();
-
+ @Parameterized.Parameters(name = "QueryStyle.{0}")
+ public static Collection<Object[]> data() {
+ return Arrays.asList(new Object[][]{
+ {QueryStyle.TRAVERSAL},
+ {QueryStyle.TRAVERSAL_URI}
+ });
+ }
+
+ @BeforeClass
+ public static void setup() throws NoSuchFieldException, SecurityException, Exception {
+ graph = JanusGraphFactory.build().set("storage.backend","inmemory").open();
+
- graph.traversal().addV("aai-node-type", "vpn-binding", "vpn-id", "addKey", AAIProperties.AAI_URI, "/network/vpn-bindings/vpn-binding/addKey").as("v1")
- .addV("aai-node-type", "vpn-binding", "vpn-id", "modifyKey", AAIProperties.AAI_URI, "/network/vpn-bindings/vpn-binding/modifyKey").as("v2")
- .addV("aai-node-type", "route-target", "global-route-target", "modifyTargetKey", "route-target-role", "modifyRoleKey", "linked", true, AAIProperties.AAI_URI, "/network/vpn-bindings/vpn-binding/modifyKey/route-targets/route-target/modifyTargetKey/modifyRoleKey")
- .addOutE("org.onap.relationships.inventory.BelongsTo", "v2", EdgeProperty.CONTAINS.toString(), true)
- .addV("aai-node-type", "vpn-binding", "vpn-id", "deleteKey",AAIProperties.AAI_URI, "/network/vpn-bindings/vpn-binding/deleteKey").as("v3" )
- .addV("aai-node-type", "route-target", "global-route-target", "deleteTargetKey", "route-target-role", "deleteRoleKey", "linked", true, AAIProperties.AAI_URI, "/network/vpn-bindings/vpn-binding/deleteKey/route-targets/route-target/deleteTargetKey/deleteRoleKey")
- .addOutE("org.onap.relationships.inventory.BelongsTo", "v3", EdgeProperty.CONTAINS.toString(), true)
- .addV("aai-node-type", "vpn-binding", "vpn-id", "getKey", AAIProperties.AAI_URI, "/network/vpn-bindings/vpn-binding/getKey").as("v4")
- .addV("aai-node-type", "route-target", "global-route-target", "getTargetKey", "route-target-role", "getRoleKey", "linked", true, AAIProperties.AAI_URI, "/network/vpn-bindings/vpn-binding/getKey/route-targets/route-target/getTargetKeyNoLink/getRoleKeyNoLink")
- .addOutE("org.onap.relationships.inventory.BelongsTo", "v4", EdgeProperty.CONTAINS.toString(), true)
- .addV("aai-node-type", "vpn-binding", "vpn-id", "getKeyNoLink", AAIProperties.AAI_URI, "/network/vpn-bindings/vpn-binding/getKeyNoLink").as("v5")
- .addV("aai-node-type", "route-target", "global-route-target", "getTargetKeyNoLink", "route-target-role", "getRoleKeyNoLink", AAIProperties.AAI_URI, "/network/vpn-bindings/vpn-binding/getKeyNoLink/route-targets/route-target/getTargetKeyNoLink/getRoleKeyNoLink")
- .addOutE("org.onap.relationships.inventory.BelongsTo", "v5", EdgeProperty.CONTAINS.toString(), true)
- .next();
- graph.tx().commit();
+ graph.traversal().addV("aai-node-type", "vpn-binding", "vpn-id", "addKey", AAIProperties.AAI_URI, "/network/vpn-bindings/vpn-binding/addKey").as("v1")
+ .addV("aai-node-type", "vpn-binding", "vpn-id", "modifyKey", AAIProperties.AAI_URI, "/network/vpn-bindings/vpn-binding/modifyKey").as("v2")
+ .addV("aai-node-type", "route-target", "global-route-target", "modifyTargetKey", "route-target-role", "modifyRoleKey", "linked", true, AAIProperties.AAI_URI, "/network/vpn-bindings/vpn-binding/modifyKey/route-targets/route-target/modifyTargetKey/modifyRoleKey")
+ .addOutE("org.onap.relationships.inventory.BelongsTo", "v2", EdgeProperty.CONTAINS.toString(), true)
+ .addV("aai-node-type", "vpn-binding", "vpn-id", "deleteKey",AAIProperties.AAI_URI, "/network/vpn-bindings/vpn-binding/deleteKey").as("v3" )
+ .addV("aai-node-type", "route-target", "global-route-target", "deleteTargetKey", "route-target-role", "deleteRoleKey", "linked", true, AAIProperties.AAI_URI, "/network/vpn-bindings/vpn-binding/deleteKey/route-targets/route-target/deleteTargetKey/deleteRoleKey")
+ .addOutE("org.onap.relationships.inventory.BelongsTo", "v3", EdgeProperty.CONTAINS.toString(), true)
+ .addV("aai-node-type", "vpn-binding", "vpn-id", "getKey", AAIProperties.AAI_URI, "/network/vpn-bindings/vpn-binding/getKey").as("v4")
+ .addV("aai-node-type", "route-target", "global-route-target", "getTargetKey", "route-target-role", "getRoleKey", "linked", true, AAIProperties.AAI_URI, "/network/vpn-bindings/vpn-binding/getKey/route-targets/route-target/getTargetKeyNoLink/getRoleKeyNoLink")
+ .addOutE("org.onap.relationships.inventory.BelongsTo", "v4", EdgeProperty.CONTAINS.toString(), true)
+ .addV("aai-node-type", "vpn-binding", "vpn-id", "getKeyNoLink", AAIProperties.AAI_URI, "/network/vpn-bindings/vpn-binding/getKeyNoLink").as("v5")
+ .addV("aai-node-type", "route-target", "global-route-target", "getTargetKeyNoLink", "route-target-role", "getRoleKeyNoLink", AAIProperties.AAI_URI, "/network/vpn-bindings/vpn-binding/getKeyNoLink/route-targets/route-target/getTargetKeyNoLink/getRoleKeyNoLink")
+ .addOutE("org.onap.relationships.inventory.BelongsTo", "v5", EdgeProperty.CONTAINS.toString(), true)
+ .next();
+ graph.tx().commit();
- /*Commented for SysOut issues
- */
- //graph.traversal().V().has("aai-uri","/network/vpn-bindings/vpn-binding/deleteKey").properties().forEachRemaining(p->System.out.println(p.key() +" : " + p.value()));
-
- }
-
- @AfterClass
- public static void tearDown() {
- graph.tx().rollback();
- graph.close();
- }
-
- @Before
- public void initMock() {
- loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, schemaVersions.getDefaultVersion());
- MockitoAnnotations.initMocks(this);
- dbEngine = new JanusGraphDBEngine(
- queryStyle,
- type,
- loader);
- }
-
- @Test
- public void verifyCreationOfVertex() throws URISyntaxException, AAIException, UnsupportedEncodingException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, MalformedURLException {
-
- final Loader loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDepthVersion());
- 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());
- Graph g = graph.newTransaction();
- GraphTraversalSource traversal = g.traversal();
-// Graph g = graph.newTransaction();
-// GraphTraversalSource traversal = g;
- // System.out.println("Begin method inventory:");
- Iterator<Vertex> vertexItr = traversal.V();
- while( vertexItr != null && vertexItr.hasNext() ){
- Vertex v = vertexItr.next();
- // System.out.println("\nnodeType="+v.<String>property("aai-node-type"));
- for(String key: v.keys()) {
- // System.out.println("label="+v.label()+";key= "+key+";value= "+v.value(key)+";id= "+v.id());
- }
- Direction d = null;
- Iterator<Edge> edgeItr = v.edges(Direction.BOTH);
- while( edgeItr != null && edgeItr.hasNext() ){
- Edge e = edgeItr.next();
- //System.out.println("outV="+e.outVertex().property(AAIProperties.NODE_TYPE)+"/"+e.outVertex().id()+";inV= "+e.inVertex().property(AAIProperties.NODE_TYPE)+"/"+e.inVertex().id());
- }
- }
- //System.out.println("End method inventory:");
- 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(schemaVersions.getDefaultVersion(), spy, introspectorFactoryType, "AAI_TEST");
- SideEffectRunner runner = new SideEffectRunner
- .Builder(spy, serializer).addSideEffect(DataLinkWriter.class).build();
-
- runner.execute(obj, self);
+ /*Commented for SysOut issues
+ */
+ //graph.traversal().V().has("aai-uri","/network/vpn-bindings/vpn-binding/deleteKey").properties().forEachRemaining(p->System.out.println(p.key() +" : " + p.value()));
+
+ }
+
+ @AfterClass
+ public static void tearDown() {
+ graph.tx().rollback();
+ graph.close();
+ }
+
+ @Before
+ public void initMock() {
+ loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, schemaVersions.getDefaultVersion());
+ MockitoAnnotations.initMocks(this);
+ dbEngine = new JanusGraphDBEngine(
+ queryStyle,
+ type,
+ loader);
+ }
+
+ @Test
+ public void verifyCreationOfVertex() throws URISyntaxException, AAIException, UnsupportedEncodingException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, MalformedURLException {
+
+ final Loader loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDepthVersion());
+ 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());
+ Graph g = graph.newTransaction();
+ GraphTraversalSource traversal = g.traversal();
+// Graph g = graph.newTransaction();
+// GraphTraversalSource traversal = g;
+ // System.out.println("Begin method inventory:");
+ Iterator<Vertex> vertexItr = traversal.V();
+ while( vertexItr != null && vertexItr.hasNext() ){
+ Vertex v = vertexItr.next();
+ // System.out.println("\nnodeType="+v.<String>property("aai-node-type"));
+ for(String key: v.keys()) {
+ // System.out.println("label="+v.label()+";key= "+key+";value= "+v.value(key)+";id= "+v.id());
+ }
+ Direction d = null;
+ Iterator<Edge> edgeItr = v.edges(Direction.BOTH);
+ while( edgeItr != null && edgeItr.hasNext() ){
+ Edge e = edgeItr.next();
+ //System.out.println("outV="+e.outVertex().property(AAIProperties.NODE_TYPE)+"/"+e.outVertex().id()+";inV= "+e.inVertex().property(AAIProperties.NODE_TYPE)+"/"+e.inVertex().id());
+ }
+ }
+ //System.out.println("End method inventory:");
+ 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(schemaVersions.getDefaultVersion(), 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.tx().rollback();
-
- }
-
- @Test
- public void verifyModificationOfVertex() throws URISyntaxException, AAIException, UnsupportedEncodingException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, MalformedURLException {
-
- final Loader loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDepthVersion());
- 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());
-// Graph g = graph.newTransaction();
-// GraphTraversalSource traversal = g;
- Graph g = graph.newTransaction();
- GraphTraversalSource traversal = g.traversal();
- Iterator<Vertex> vertexItr = traversal.V();
- while( vertexItr != null && vertexItr.hasNext() ){
- Vertex v = vertexItr.next();
- //System.out.println("\nnodeType="+v.<String>property("aai-node-type"));
- for(String key: v.keys()) {
- //System.out.println("label="+v.label()+";key= "+key+";value= "+v.value(key)+"/"+v.id());
- }
- Direction d = null;
- Iterator<Edge> edgeItr = v.edges(Direction.BOTH);
- while( edgeItr != null && edgeItr.hasNext() ){
- Edge e = edgeItr.next();
- // System.out.println("outV="+e.outVertex().property(AAIProperties.NODE_TYPE)+"/"+e.outVertex().id()+";inV= "+e.inVertex().property(AAIProperties.NODE_TYPE)+"/"+e.inVertex().id());
- }
- }
- // System.out.println("End method inventory:");
+ 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.tx().rollback();
+
+ }
+
+ @Test
+ public void verifyModificationOfVertex() throws URISyntaxException, AAIException, UnsupportedEncodingException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, MalformedURLException {
+
+ final Loader loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDepthVersion());
+ 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());
+// Graph g = graph.newTransaction();
+// GraphTraversalSource traversal = g;
+ Graph g = graph.newTransaction();
+ GraphTraversalSource traversal = g.traversal();
+ Iterator<Vertex> vertexItr = traversal.V();
+ while( vertexItr != null && vertexItr.hasNext() ){
+ Vertex v = vertexItr.next();
+ //System.out.println("\nnodeType="+v.<String>property("aai-node-type"));
+ for(String key: v.keys()) {
+ //System.out.println("label="+v.label()+";key= "+key+";value= "+v.value(key)+"/"+v.id());
+ }
+ Direction d = null;
+ Iterator<Edge> edgeItr = v.edges(Direction.BOTH);
+ while( edgeItr != null && edgeItr.hasNext() ){
+ Edge e = edgeItr.next();
+ // System.out.println("outV="+e.outVertex().property(AAIProperties.NODE_TYPE)+"/"+e.outVertex().id()+";inV= "+e.inVertex().property(AAIProperties.NODE_TYPE)+"/"+e.inVertex().id());
+ }
+ }
+ // System.out.println("End method inventory:");
- when(spy.asAdmin()).thenReturn(adminSpy);
- when(adminSpy.getTraversalSource()).thenReturn(traversal);
-// when(spy.tx()).thenReturn(graph);
- 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(schemaVersions.getDefaultVersion(), spy, introspectorFactoryType, "AAI_TEST");
- SideEffectRunner runner = new SideEffectRunner
- .Builder(spy, serializer).addSideEffect(DataLinkWriter.class).build();
- //System.out.println("Traversal Source: "+traversal.toString());
- vertexItr = traversal.V();
- // System.out.println("Begin method inventory:");
- while( vertexItr != null && vertexItr.hasNext() ){
- Vertex v = vertexItr.next();
- //System.out.println("\nnodeType="+v.<String>property("aai-node-type"));
- for(String key: v.keys()) {
- // System.out.println("label="+v.label()+";key= "+key+";value= "+v.value(key)+"/"+v.id());
- }
- Iterator<Edge> edgeItr = v.edges(Direction.BOTH);
- while( edgeItr != null && edgeItr.hasNext() ){
- Edge e = edgeItr.next();
- //System.out.println("outV="+e.outVertex().property(AAIProperties.NODE_TYPE)+"/"+e.outVertex().id()+";inV= "+e.inVertex().property(AAIProperties.NODE_TYPE)+"/"+e.inVertex().id());
- }
- }
- //System.out.println("End method inventory:");
- try {
- runner.execute(obj, self);
- } catch(Exception e) {
+ when(spy.asAdmin()).thenReturn(adminSpy);
+ when(adminSpy.getTraversalSource()).thenReturn(traversal);
+// when(spy.tx()).thenReturn(graph);
+ 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(schemaVersions.getDefaultVersion(), spy, introspectorFactoryType, "AAI_TEST");
+ SideEffectRunner runner = new SideEffectRunner
+ .Builder(spy, serializer).addSideEffect(DataLinkWriter.class).build();
+ //System.out.println("Traversal Source: "+traversal.toString());
+ vertexItr = traversal.V();
+ // System.out.println("Begin method inventory:");
+ while( vertexItr != null && vertexItr.hasNext() ){
+ Vertex v = vertexItr.next();
+ //System.out.println("\nnodeType="+v.<String>property("aai-node-type"));
+ for(String key: v.keys()) {
+ // System.out.println("label="+v.label()+";key= "+key+";value= "+v.value(key)+"/"+v.id());
+ }
+ Iterator<Edge> edgeItr = v.edges(Direction.BOTH);
+ while( edgeItr != null && edgeItr.hasNext() ){
+ Edge e = edgeItr.next();
+ //System.out.println("outV="+e.outVertex().property(AAIProperties.NODE_TYPE)+"/"+e.outVertex().id()+";inV= "+e.inVertex().property(AAIProperties.NODE_TYPE)+"/"+e.inVertex().id());
+ }
+ }
+ //System.out.println("End method inventory:");
+ try {
+ runner.execute(obj, self);
+ } catch(Exception e) {
- }
-// runner.execute(obj, self);
- //System.out.println("=================\n");
- vertexItr = traversal.V();
- while( vertexItr != null && vertexItr.hasNext() ){
- Vertex v = vertexItr.next();
- //System.out.println("\nnodeType="+v.<String>property("aai-node-type"));
- for(String key: v.keys()) {
- // System.out.println("label="+v.label()+";key= "+key+";value= "+v.value(key)+"/"+v.id());
- }
- Iterator<Edge> edgeItr = v.edges(Direction.BOTH);
- while( edgeItr != null && edgeItr.hasNext() ){
- Edge e = edgeItr.next();
- // System.out.println("outV="+e.outVertex().property(AAIProperties.NODE_TYPE)+"/"+e.outVertex().id()+";inV= "+e.inVertex().property(AAIProperties.NODE_TYPE)+"/"+e.inVertex().id());
- }
- }
- assertThat("new route-target vertex found with/or without link", traversal.V()
- .has(AAIProperties.NODE_TYPE, "route-target").has("global-route-target", "modifyTargetKey2").has("route-target-role", "modifyRoleKey2").hasNext(),is(true));
- assertThat("new route-target vertex found", traversal.V()
- .has(AAIProperties.NODE_TYPE, "route-target").has("global-route-target", "modifyTargetKey2").has("route-target-role", "modifyRoleKey2").has("linked", true).hasNext(),is(true));
- assertThat("previous link removed", traversal.V()
- .has(AAIProperties.NODE_TYPE, "route-target").has("global-route-target", "modifyTargetKey").has("route-target-role", "modifyRoleKey").has("linked").hasNext(),is(not(true)));
- assertThat("previous vertex still exists", traversal.V()
- .has(AAIProperties.NODE_TYPE, "route-target").has("global-route-target", "modifyTargetKey").has("route-target-role", "modifyRoleKey").hasNext(),is(true));
- g.tx().rollback();
-
- }
-
- @Test
- public void verifyDeleteOfVertex() throws URISyntaxException, AAIException, UnsupportedEncodingException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, MalformedURLException {
-
- final Loader loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDepthVersion());
- final Introspector obj = loader.introspectorFromName("vpn-binding");
- obj.setValue("vpn-id", "deleteKey");
- TransactionalGraphEngine spy = spy(dbEngine);
- TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
- Graph g = graph.newTransaction();
- GraphTraversalSource traversal = g.traversal();
- when(spy.asAdmin()).thenReturn(adminSpy);
- when(adminSpy.getTraversalSource()).thenReturn(traversal);
- when(adminSpy.getReadOnlyTraversalSource()).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(schemaVersions.getDefaultVersion(), spy, introspectorFactoryType, "AAI_TEST");
- SideEffectRunner runner = new SideEffectRunner
- .Builder(spy, serializer).addSideEffect(DataLinkWriter.class).build();
-
- runner.execute(obj, self);
+ }
+// runner.execute(obj, self);
+ //System.out.println("=================\n");
+ vertexItr = traversal.V();
+ while( vertexItr != null && vertexItr.hasNext() ){
+ Vertex v = vertexItr.next();
+ //System.out.println("\nnodeType="+v.<String>property("aai-node-type"));
+ for(String key: v.keys()) {
+ // System.out.println("label="+v.label()+";key= "+key+";value= "+v.value(key)+"/"+v.id());
+ }
+ Iterator<Edge> edgeItr = v.edges(Direction.BOTH);
+ while( edgeItr != null && edgeItr.hasNext() ){
+ Edge e = edgeItr.next();
+ // System.out.println("outV="+e.outVertex().property(AAIProperties.NODE_TYPE)+"/"+e.outVertex().id()+";inV= "+e.inVertex().property(AAIProperties.NODE_TYPE)+"/"+e.inVertex().id());
+ }
+ }
+ assertThat("new route-target vertex found with/or without link", traversal.V()
+ .has(AAIProperties.NODE_TYPE, "route-target").has("global-route-target", "modifyTargetKey2").has("route-target-role", "modifyRoleKey2").hasNext(),is(true));
+ assertThat("new route-target vertex found", traversal.V()
+ .has(AAIProperties.NODE_TYPE, "route-target").has("global-route-target", "modifyTargetKey2").has("route-target-role", "modifyRoleKey2").has("linked", true).hasNext(),is(true));
+ assertThat("previous link removed", traversal.V()
+ .has(AAIProperties.NODE_TYPE, "route-target").has("global-route-target", "modifyTargetKey").has("route-target-role", "modifyRoleKey").has("linked").hasNext(),is(not(true)));
+ assertThat("previous vertex still exists", traversal.V()
+ .has(AAIProperties.NODE_TYPE, "route-target").has("global-route-target", "modifyTargetKey").has("route-target-role", "modifyRoleKey").hasNext(),is(true));
+ g.tx().rollback();
+
+ }
+
+ @Test
+ public void verifyDeleteOfVertex() throws URISyntaxException, AAIException, UnsupportedEncodingException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, MalformedURLException {
+
+ final Loader loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDepthVersion());
+ final Introspector obj = loader.introspectorFromName("vpn-binding");
+ obj.setValue("vpn-id", "deleteKey");
+ TransactionalGraphEngine spy = spy(dbEngine);
+ TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
+ Graph g = graph.newTransaction();
+ GraphTraversalSource traversal = g.traversal();
+ when(spy.asAdmin()).thenReturn(adminSpy);
+ when(adminSpy.getTraversalSource()).thenReturn(traversal);
+ when(adminSpy.getReadOnlyTraversalSource()).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(schemaVersions.getDefaultVersion(), 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()
- );
+ 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.tx().rollback();
-
- }
-
- @Test
- public void verifyPropertyPopulation() throws URISyntaxException, AAIException, UnsupportedEncodingException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, MalformedURLException {
-
- final Loader loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDepthVersion());
- final Introspector obj = loader.introspectorFromName("vpn-binding");
- obj.setValue("vpn-id", "getKey");
- TransactionalGraphEngine spy = spy(dbEngine);
- TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
- Graph 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(schemaVersions.getDefaultVersion(), spy, introspectorFactoryType, "AAI_TEST");
- SideEffectRunner runner = new SideEffectRunner
- .Builder(spy, serializer).addSideEffect(DataLinkReader.class).build();
-
- runner.execute(obj, self);
+ g.tx().rollback();
+
+ }
+
+ @Test
+ public void verifyPropertyPopulation() throws URISyntaxException, AAIException, UnsupportedEncodingException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, MalformedURLException {
+
+ final Loader loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDepthVersion());
+ final Introspector obj = loader.introspectorFromName("vpn-binding");
+ obj.setValue("vpn-id", "getKey");
+ TransactionalGraphEngine spy = spy(dbEngine);
+ TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
+ Graph 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(schemaVersions.getDefaultVersion(), 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.tx().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());
- Graph 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(schemaVersions.getDefaultVersion(), 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("both properties have been populated in target object", true, obj.getValue("global-route-target").equals("getTargetKey") && obj.getValue("route-target-role").equals("getRoleKey"));
+ g.tx().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());
+ Graph 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(schemaVersions.getDefaultVersion(), 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));
+ 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.tx().rollback();
-
- }
+ g.tx().rollback();
+
+ }
}
diff --git a/aai-core/src/test/java/org/onap/aai/introspection/sideeffect/PrivateEdgeTest.java b/aai-core/src/test/java/org/onap/aai/introspection/sideeffect/PrivateEdgeTest.java
index bfa77283..5cd1fb53 100644
--- a/aai-core/src/test/java/org/onap/aai/introspection/sideeffect/PrivateEdgeTest.java
+++ b/aai-core/src/test/java/org/onap/aai/introspection/sideeffect/PrivateEdgeTest.java
@@ -58,125 +58,125 @@ import static org.mockito.Mockito.when;
@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
public class PrivateEdgeTest extends AAISetup{
- private static JanusGraph graph;
- private final static ModelType introspectorFactoryType = ModelType.MOXY;
- private final static DBConnectionType type = DBConnectionType.REALTIME;
- private Loader loader;
- private static TransactionalGraphEngine dbEngine;
-
-
-
- @Rule
- public ExpectedException thrown = ExpectedException.none();
+ private static JanusGraph graph;
+ private final static ModelType introspectorFactoryType = ModelType.MOXY;
+ private final static DBConnectionType type = DBConnectionType.REALTIME;
+ private Loader loader;
+ private static TransactionalGraphEngine dbEngine;
+
+
+
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
- @Parameterized.Parameter(value = 0)
- public QueryStyle queryStyle;
-
- @Parameterized.Parameters(name = "QueryStyle.{0}")
- public static Collection<Object[]> data() {
- return Arrays.asList(new Object[][]{
- {QueryStyle.TRAVERSAL},
- {QueryStyle.TRAVERSAL_URI}
- });
- }
-
- @BeforeClass
- public static void setup() throws Exception {
-
- graph = JanusGraphFactory.build().set("storage.backend","inmemory").open();
-
- System.setProperty("AJSC_HOME", ".");
- System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
-
-
-
- graph.traversal()
- .addV("aai-node-type", "model",
- "model-invariant-id", "key1",
- AAIProperties.AAI_URI, "/service-design-and-creation/models/model/key1").as("v1")
- .addV("aai-node-type", "model-ver",
- "model-ver", "myValue",
- "model-version-id", "key2",
- "model-version", "testValue",
- AAIProperties.AAI_URI, "/service-design-and-creation/models/model/key1/model-vers/model-ver/key2")
- .addOutE("org.onap.relationships.inventory.BelongsTo", "v1",
- EdgeProperty.CONTAINS.toString(), true
- )
- .addV("aai-node-type", "model",
- "model-invariant-id", "key100",
- AAIProperties.AAI_URI, "/service-design-and-creation/models/model/key100").as("v5")
- .addV("aai-node-type", "model-ver",
- "model-ver", "myValue",
- "model-version-id", "key200",
- "model-version", "testValue",
- AAIProperties.AAI_URI, "/service-design-and-creation/models/model/key100/model-vers/model-ver/key200")
- .addOutE("org.onap.relationships.inventory.BelongsTo", "v5",
- EdgeProperty.CONTAINS.toString(), true
- )
- .addV("aai-node-type", "model",
- "model-invariant-id", "key3",
- AAIProperties.AAI_URI, "/service-design-and-creation/models/model/key3").as("v2")
- .addV("aai-node-type", "model-ver",
- "model-ver", "myValue",
- "model-version-id", "key4",
- AAIProperties.AAI_URI, "/service-design-and-creation/models/model/key3/model-vers/model-ver/key4")
- .addOutE("org.onap.relationships.inventory.BelongsTo", "v2",
- EdgeProperty.CONTAINS.toString(), true
- )
- .next();
- graph.tx().commit();
- }
-
- @AfterClass
- public static void tearDown() {
- graph.tx().rollback();
- graph.close();
- }
-
- @Before
- public void initMock() {
- loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, schemaVersions.getDefaultVersion());
- MockitoAnnotations.initMocks(this);
- dbEngine = new JanusGraphDBEngine(
- queryStyle,
- type,
- loader);
- }
-
- @Test
- public void testWhenPrivateEdgeThrowsExceptionWhenHavingOnlyOnePartOfKey() throws Exception {
-
- final Loader loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
- final Introspector obj = loader.introspectorFromName("generic-vnf");
- obj.setValue("vnf-id", "myId");
- obj.setValue("model-invariant-id", "key1");
- TransactionalGraphEngine spy = spy(dbEngine);
- TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
- Graph g = graph.newTransaction();
- GraphTraversalSource traversal = g.traversal();
- when(spy.asAdmin()).thenReturn(adminSpy);
- when(adminSpy.getTraversalSource()).thenReturn(traversal);
-
- Vertex selfV = traversal.addV(
- "aai-node-type", "generic-vnf",
- "vnf-id", "myId",
- "aai-uri",obj.getURI(),
- "model-invariant-id", "key1"
- ).next();
-
- thrown.expectMessage(containsString("Cannot complete privateEdge uri"));
- DBSerializer serializer = new DBSerializer(schemaVersions.getDefaultVersion(), spy, introspectorFactoryType, "AAI_TEST");
- PrivateEdge privateEdge = new PrivateEdge(obj, selfV, spy, serializer);
- privateEdge.execute();
-
- List<Edge> edgeList = traversal.E().has("private", true).toList();
-
- assertNull(edgeList);
- assertThat(edgeList, is(not(empty())));
- assertThat(edgeList.size(), is(1));
-
- g.tx().rollback();
- }
+ @Parameterized.Parameter(value = 0)
+ public QueryStyle queryStyle;
+
+ @Parameterized.Parameters(name = "QueryStyle.{0}")
+ public static Collection<Object[]> data() {
+ return Arrays.asList(new Object[][]{
+ {QueryStyle.TRAVERSAL},
+ {QueryStyle.TRAVERSAL_URI}
+ });
+ }
+
+ @BeforeClass
+ public static void setup() throws Exception {
+
+ graph = JanusGraphFactory.build().set("storage.backend","inmemory").open();
+
+ System.setProperty("AJSC_HOME", ".");
+ System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
+
+
+
+ graph.traversal()
+ .addV("aai-node-type", "model",
+ "model-invariant-id", "key1",
+ AAIProperties.AAI_URI, "/service-design-and-creation/models/model/key1").as("v1")
+ .addV("aai-node-type", "model-ver",
+ "model-ver", "myValue",
+ "model-version-id", "key2",
+ "model-version", "testValue",
+ AAIProperties.AAI_URI, "/service-design-and-creation/models/model/key1/model-vers/model-ver/key2")
+ .addOutE("org.onap.relationships.inventory.BelongsTo", "v1",
+ EdgeProperty.CONTAINS.toString(), true
+ )
+ .addV("aai-node-type", "model",
+ "model-invariant-id", "key100",
+ AAIProperties.AAI_URI, "/service-design-and-creation/models/model/key100").as("v5")
+ .addV("aai-node-type", "model-ver",
+ "model-ver", "myValue",
+ "model-version-id", "key200",
+ "model-version", "testValue",
+ AAIProperties.AAI_URI, "/service-design-and-creation/models/model/key100/model-vers/model-ver/key200")
+ .addOutE("org.onap.relationships.inventory.BelongsTo", "v5",
+ EdgeProperty.CONTAINS.toString(), true
+ )
+ .addV("aai-node-type", "model",
+ "model-invariant-id", "key3",
+ AAIProperties.AAI_URI, "/service-design-and-creation/models/model/key3").as("v2")
+ .addV("aai-node-type", "model-ver",
+ "model-ver", "myValue",
+ "model-version-id", "key4",
+ AAIProperties.AAI_URI, "/service-design-and-creation/models/model/key3/model-vers/model-ver/key4")
+ .addOutE("org.onap.relationships.inventory.BelongsTo", "v2",
+ EdgeProperty.CONTAINS.toString(), true
+ )
+ .next();
+ graph.tx().commit();
+ }
+
+ @AfterClass
+ public static void tearDown() {
+ graph.tx().rollback();
+ graph.close();
+ }
+
+ @Before
+ public void initMock() {
+ loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, schemaVersions.getDefaultVersion());
+ MockitoAnnotations.initMocks(this);
+ dbEngine = new JanusGraphDBEngine(
+ queryStyle,
+ type,
+ loader);
+ }
+
+ @Test
+ public void testWhenPrivateEdgeThrowsExceptionWhenHavingOnlyOnePartOfKey() throws Exception {
+
+ final Loader loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
+ final Introspector obj = loader.introspectorFromName("generic-vnf");
+ obj.setValue("vnf-id", "myId");
+ obj.setValue("model-invariant-id", "key1");
+ TransactionalGraphEngine spy = spy(dbEngine);
+ TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
+ Graph g = graph.newTransaction();
+ GraphTraversalSource traversal = g.traversal();
+ when(spy.asAdmin()).thenReturn(adminSpy);
+ when(adminSpy.getTraversalSource()).thenReturn(traversal);
+
+ Vertex selfV = traversal.addV(
+ "aai-node-type", "generic-vnf",
+ "vnf-id", "myId",
+ "aai-uri",obj.getURI(),
+ "model-invariant-id", "key1"
+ ).next();
+
+ thrown.expectMessage(containsString("Cannot complete privateEdge uri"));
+ DBSerializer serializer = new DBSerializer(schemaVersions.getDefaultVersion(), spy, introspectorFactoryType, "AAI_TEST");
+ PrivateEdge privateEdge = new PrivateEdge(obj, selfV, spy, serializer);
+ privateEdge.execute();
+
+ List<Edge> edgeList = traversal.E().has("private", true).toList();
+
+ assertNull(edgeList);
+ assertThat(edgeList, is(not(empty())));
+ assertThat(edgeList.size(), is(1));
+
+ g.tx().rollback();
+ }
}
diff --git a/aai-core/src/test/java/org/onap/aai/introspection/tools/CreateUUIDTest.java b/aai-core/src/test/java/org/onap/aai/introspection/tools/CreateUUIDTest.java
index b6f15e47..e44fdd52 100644
--- a/aai-core/src/test/java/org/onap/aai/introspection/tools/CreateUUIDTest.java
+++ b/aai-core/src/test/java/org/onap/aai/introspection/tools/CreateUUIDTest.java
@@ -24,10 +24,12 @@ import org.junit.Test;
import org.onap.aai.AAISetup;
import org.onap.aai.introspection.*;
import org.onap.aai.introspection.exceptions.AAIUnknownObjectException;
+import org.springframework.test.annotation.DirtiesContext;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
public class CreateUUIDTest extends AAISetup {
private CreateUUID createUUID;
diff --git a/aai-core/src/test/java/org/onap/aai/introspection/tools/DefaultFieldsTest.java b/aai-core/src/test/java/org/onap/aai/introspection/tools/DefaultFieldsTest.java
index 8047342d..5fd185d5 100644
--- a/aai-core/src/test/java/org/onap/aai/introspection/tools/DefaultFieldsTest.java
+++ b/aai-core/src/test/java/org/onap/aai/introspection/tools/DefaultFieldsTest.java
@@ -24,12 +24,14 @@ import org.junit.Test;
import org.onap.aai.AAISetup;
import org.onap.aai.introspection.*;
import org.onap.aai.introspection.exceptions.AAIUnknownObjectException;
+import org.springframework.test.annotation.DirtiesContext;
import static junit.framework.TestCase.assertNotNull;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
public class DefaultFieldsTest extends AAISetup {
private Loader loader;
@@ -76,4 +78,4 @@ public class DefaultFieldsTest extends AAISetup {
assertFalse("It shouldn't be resolving this issue as hostname is required key", isResolved);
}
-} \ No newline at end of file
+}
diff --git a/aai-core/src/test/java/org/onap/aai/introspection/tools/InjectKeysFromURITest.java b/aai-core/src/test/java/org/onap/aai/introspection/tools/InjectKeysFromURITest.java
index fa457922..713a8ae0 100644
--- a/aai-core/src/test/java/org/onap/aai/introspection/tools/InjectKeysFromURITest.java
+++ b/aai-core/src/test/java/org/onap/aai/introspection/tools/InjectKeysFromURITest.java
@@ -24,6 +24,7 @@ import org.junit.Test;
import org.onap.aai.AAISetup;
import org.onap.aai.introspection.*;
import org.onap.aai.introspection.exceptions.AAIUnknownObjectException;
+import org.springframework.test.annotation.DirtiesContext;
import java.net.URI;
@@ -33,6 +34,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
public class InjectKeysFromURITest extends AAISetup {
private Loader loader;
@@ -91,4 +93,4 @@ public class InjectKeysFromURITest extends AAISetup {
pserver.getValue("hostname"));
}
-} \ No newline at end of file
+}
diff --git a/aai-core/src/test/java/org/onap/aai/introspection/tools/IntrospectorValidatorTest.java b/aai-core/src/test/java/org/onap/aai/introspection/tools/IntrospectorValidatorTest.java
index f71aa2aa..68a03b3b 100644
--- a/aai-core/src/test/java/org/onap/aai/introspection/tools/IntrospectorValidatorTest.java
+++ b/aai-core/src/test/java/org/onap/aai/introspection/tools/IntrospectorValidatorTest.java
@@ -24,6 +24,7 @@ import org.junit.Test;
import org.onap.aai.AAISetup;
import org.onap.aai.introspection.*;
import org.onap.aai.introspection.exceptions.AAIUnknownObjectException;
+import org.springframework.test.annotation.DirtiesContext;
import static junit.framework.TestCase.assertNotNull;
import static org.eclipse.persistence.jpa.jpql.Assert.fail;
@@ -31,6 +32,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
public class IntrospectorValidatorTest extends AAISetup {
private Loader loader;
@@ -122,4 +124,4 @@ public class IntrospectorValidatorTest extends AAISetup {
assertNotNull("Get resolvers should not be null", b.getResolvers());
}
-} \ No newline at end of file
+}
diff --git a/aai-core/src/test/java/org/onap/aai/introspection/tools/RemoveNonVisiblePropertyTest.java b/aai-core/src/test/java/org/onap/aai/introspection/tools/RemoveNonVisiblePropertyTest.java
index 2e99e3e0..cf1b7782 100644
--- a/aai-core/src/test/java/org/onap/aai/introspection/tools/RemoveNonVisiblePropertyTest.java
+++ b/aai-core/src/test/java/org/onap/aai/introspection/tools/RemoveNonVisiblePropertyTest.java
@@ -24,11 +24,13 @@ import org.junit.Test;
import org.onap.aai.AAISetup;
import org.onap.aai.introspection.*;
import org.onap.aai.introspection.exceptions.AAIUnknownObjectException;
+import org.springframework.test.annotation.DirtiesContext;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.assertNull;
+@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
public class RemoveNonVisiblePropertyTest extends AAISetup {
private Loader loader;
@@ -65,4 +67,4 @@ public class RemoveNonVisiblePropertyTest extends AAISetup {
}
-} \ No newline at end of file
+}
diff --git a/aai-core/src/test/java/org/onap/aai/introspection/validation/IntrospectorValidationTest.java b/aai-core/src/test/java/org/onap/aai/introspection/validation/IntrospectorValidationTest.java
index dac04769..0902aec8 100644
--- a/aai-core/src/test/java/org/onap/aai/introspection/validation/IntrospectorValidationTest.java
+++ b/aai-core/src/test/java/org/onap/aai/introspection/validation/IntrospectorValidationTest.java
@@ -39,53 +39,53 @@ import static org.junit.Assert.assertEquals;
public class IntrospectorValidationTest extends AAISetup {
- private final static ModelType introspectorFactoryType = ModelType.MOXY;
- private Loader loader;
- private IntrospectorValidator validator;
- @Autowired
- private LoaderFactory loaderFactory;
+ private final static ModelType introspectorFactoryType = ModelType.MOXY;
+ private Loader loader;
+ private IntrospectorValidator validator;
+ @Autowired
+ private LoaderFactory loaderFactory;
- @Before
- public void createValidator() throws Exception {
- System.setProperty("AJSC_HOME", ".");
- System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
- loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, schemaVersions.getRelatedLinkVersion());
- validator = new IntrospectorValidator.Builder()
- .validateRequired(false)
- .restrictDepth(10000)
- .build();
- }
- @Ignore
- @Test
- public void verifySuccessWhenEmpty() throws AAIException {
- Introspector obj = loader.introspectorFromName("generic-vnf");
- obj.setValue("vnf-id", "key1");
- validator.validate(obj);
- List<Issue> issues = validator.getIssues();
- assertEquals("no issues found", true, issues.isEmpty());
- }
+ @Before
+ public void createValidator() throws Exception {
+ System.setProperty("AJSC_HOME", ".");
+ System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+ loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, schemaVersions.getRelatedLinkVersion());
+ validator = new IntrospectorValidator.Builder()
+ .validateRequired(false)
+ .restrictDepth(10000)
+ .build();
+ }
+ @Ignore
+ @Test
+ public void verifySuccessWhenEmpty() throws AAIException {
+ Introspector obj = loader.introspectorFromName("generic-vnf");
+ obj.setValue("vnf-id", "key1");
+ validator.validate(obj);
+ List<Issue> issues = validator.getIssues();
+ assertEquals("no issues found", true, issues.isEmpty());
+ }
- @Ignore
- @Test
- public void verifyRequiresSingleFieldFailure() throws AAIException {
- Introspector obj = loader.introspectorFromName("generic-vnf");
- obj.setValue("vnf-id", "key1");
- obj.setValue("model-invariant-id", "id1");
- validator.validate(obj);
- List<Issue> issues = validator.getIssues();
- assertEquals("issues found", true, issues.size() == 1);
- Issue issue = issues.get(0);
- assertEquals("found expected issue", IssueType.DEPENDENT_PROP_NOT_FOUND, issue.getType());
- }
- @Ignore
- @Test
- public void verifyRequiresSuccess() throws AAIException {
- Introspector obj = loader.introspectorFromName("generic-vnf");
- obj.setValue("vnf-id", "key1");
- obj.setValue("model-invariant-id", "id1");
- obj.setValue("model-version-id", "version-id1");
- validator.validate(obj);
- List<Issue> issues = validator.getIssues();
- assertEquals("no issues found", true, issues.isEmpty());
- }
+ @Ignore
+ @Test
+ public void verifyRequiresSingleFieldFailure() throws AAIException {
+ Introspector obj = loader.introspectorFromName("generic-vnf");
+ obj.setValue("vnf-id", "key1");
+ obj.setValue("model-invariant-id", "id1");
+ validator.validate(obj);
+ List<Issue> issues = validator.getIssues();
+ assertEquals("issues found", true, issues.size() == 1);
+ Issue issue = issues.get(0);
+ assertEquals("found expected issue", IssueType.DEPENDENT_PROP_NOT_FOUND, issue.getType());
+ }
+ @Ignore
+ @Test
+ public void verifyRequiresSuccess() throws AAIException {
+ Introspector obj = loader.introspectorFromName("generic-vnf");
+ obj.setValue("vnf-id", "key1");
+ obj.setValue("model-invariant-id", "id1");
+ obj.setValue("model-version-id", "version-id1");
+ validator.validate(obj);
+ List<Issue> issues = validator.getIssues();
+ assertEquals("no issues found", true, issues.isEmpty());
+ }
}
diff --git a/aai-core/src/test/java/org/onap/aai/logging/CustomLogPatternLayoutTest.java b/aai-core/src/test/java/org/onap/aai/logging/CustomLogPatternLayoutTest.java
index b4d14d30..198bb064 100644
--- a/aai-core/src/test/java/org/onap/aai/logging/CustomLogPatternLayoutTest.java
+++ b/aai-core/src/test/java/org/onap/aai/logging/CustomLogPatternLayoutTest.java
@@ -27,24 +27,24 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
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));
- }
+
+ /**
+ * 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/java/org/onap/aai/logging/EcompErrorCategoryTest.java b/aai-core/src/test/java/org/onap/aai/logging/EcompErrorCategoryTest.java
index eaa8a536..b29cf51f 100644
--- a/aai-core/src/test/java/org/onap/aai/logging/EcompErrorCategoryTest.java
+++ b/aai-core/src/test/java/org/onap/aai/logging/EcompErrorCategoryTest.java
@@ -29,7 +29,7 @@ import org.junit.*;
public class EcompErrorCategoryTest {
- EcompErrorCategory _ecompErrorCategory;
+ EcompErrorCategory _ecompErrorCategory;
ILoggingEvent mockEvent;
@Before
@@ -41,7 +41,7 @@ public class EcompErrorCategoryTest {
}
@Test
public void warn(){
- String defaultCategory = "WARN";
+ String defaultCategory = "WARN";
assertEquals(_ecompErrorCategory.convert(mockEvent), defaultCategory);
}
diff --git a/aai-core/src/test/java/org/onap/aai/logging/EcompResponseCodeTest.java b/aai-core/src/test/java/org/onap/aai/logging/EcompResponseCodeTest.java
index 0bdfc748..10edb456 100644
--- a/aai-core/src/test/java/org/onap/aai/logging/EcompResponseCodeTest.java
+++ b/aai-core/src/test/java/org/onap/aai/logging/EcompResponseCodeTest.java
@@ -29,7 +29,7 @@ import org.junit.*;
public class EcompResponseCodeTest {
- EcompResponseCode _ecompResponseCode;
+ EcompResponseCode _ecompResponseCode;
ILoggingEvent mockEvent;
@Before
diff --git a/aai-core/src/test/java/org/onap/aai/logging/ErrorObjectTest.java b/aai-core/src/test/java/org/onap/aai/logging/ErrorObjectTest.java
index ea361606..8db1ece9 100644
--- a/aai-core/src/test/java/org/onap/aai/logging/ErrorObjectTest.java
+++ b/aai-core/src/test/java/org/onap/aai/logging/ErrorObjectTest.java
@@ -26,136 +26,136 @@ import static org.junit.Assert.*;
import org.junit.*;
public class ErrorObjectTest {
-
- ErrorObject newErrorObject = new ErrorObject("disposition","category","severity", 200, "restErrorCode","errorCode","errorText");
-
- //Constructor Tests
- @Test
- public void createObjectTest1(){
- //No HTTP Status argument
- ErrorObject errorObject = new ErrorObject("severity","errorcode","errortext","disposition","category");
- assertNotNull(errorObject);
- }
- @Test
- public void createObjectTest2(){
- //HTTP Status code as integer
- ErrorObject errorObject = new ErrorObject("severity",200,"errorcode","errortext","disposition","category");
- assertNotNull(errorObject);
- }
- @Test
- public void createObjectTest3(){
- //HTTP Status code as Status
- ErrorObject errorObject = new ErrorObject("severity",Status.OK,"errorcode","errortext","disposition","category");
- assertNotNull(errorObject);
- }
- //Disposition Tests
- @Test
- public void getDispositionTest() {
- assertEquals(newErrorObject.getDisposition(), "disposition");
- }
- @Test
- public void setDispositionTest() {
- newErrorObject.setDisposition("newDisposition");
- assertEquals(newErrorObject.getDisposition(), "newDisposition");
- }
-
- //Category Tests
- @Test
- public void getCategoryTest(){
- assertEquals(newErrorObject.getCategory(), "category");
- }
- @Test
- public void setCategoryTest(){
- newErrorObject.setCategory("newCategory");
- assertEquals(newErrorObject.getCategory(), "newCategory");
- }
-
- //Severity Tests
- @Test
- public void getSeverityTest(){
- assertEquals(newErrorObject.getSeverity(), "severity");
- }
- @Test
- public void setSeverityTest(){
- newErrorObject.setSeverity("newSeverity");
- assertEquals(newErrorObject.getSeverity(), "newSeverity");
- }
-
- //Error Code Tests
- @Test
- public void getErrorCodeTest(){
- assertEquals(newErrorObject.getErrorCode(), "errorCode");
- }
- @Test
- public void SetErrorCodeTest(){
- newErrorObject.setErrorCode("newErrorCode");
- assertEquals(newErrorObject.getErrorCode(), "newErrorCode");
- }
-
- //HTTP Response Code Tests
- @Test
- public void getHTTPCodeTest(){
- assertEquals(newErrorObject.getHTTPResponseCode(), Status.OK);
- }
- @Test
- public void setHTTPCodeTest(){
- newErrorObject.setHTTPResponseCode(201);
- assertEquals(newErrorObject.getHTTPResponseCode(), Status.CREATED);
- }
- @Test(expected=IllegalArgumentException.class)
- public void invalidHttpCodeTest(){
- newErrorObject.setHTTPResponseCode(6281723);
- }
- @Test(expected=IllegalArgumentException.class)
- public void invalidHttpCodeTest2(){
- newErrorObject.setHTTPResponseCode("82901");
- }
-
- //Rest Error Code Tests
- @Test
- public void getRestErrorCodeTest(){
- assertEquals(newErrorObject.getRESTErrorCode(), "restErrorCode");
- }
- @Test
- public void setRestErrorCodeTest(){
- newErrorObject.setRESTErrorCode("newRestErrorCode");
- assertEquals(newErrorObject.getRESTErrorCode(), "newRestErrorCode");
- }
-
- //Error Text Tests
- @Test
- public void getErrorTextTest(){
- assertEquals(newErrorObject.getErrorText(), "errorText");
- }
- @Test
- public void setErrorTextTest(){
- newErrorObject.setErrorText("newErrorText");
- assertEquals(newErrorObject.getErrorText(), "newErrorText");
- }
- @Test
- public void getErrorCodeStringTest(){
- assertEquals(newErrorObject.getErrorCodeString(), "disposition.category.errorCode");
- }
- @Test
- public void getErrorCodeStringDisposition5Test(){
- //get Error Code String while Disposition = 5
- newErrorObject.setDisposition("5");
- assertEquals(newErrorObject.getErrorCodeString(), "ERR.5.category.errorCode");
- }
- @Test
- public void getSeverityCodeTest(){
- newErrorObject.setSeverity("WARN");
- assertEquals(newErrorObject.getSeverityCode(newErrorObject.getSeverity()), "1");
-
- newErrorObject.setSeverity("ERROR");
- assertEquals(newErrorObject.getSeverityCode(newErrorObject.getSeverity()), "2");
-
- newErrorObject.setSeverity("FATAL");
- assertEquals(newErrorObject.getSeverityCode(newErrorObject.getSeverity()), "3");
- }
- //To String Test
- @Test
- public void toStringTest(){
- assertEquals(newErrorObject.toString(), "ErrorObject [errorCode=errorCode, errorText=errorText, restErrorCode=restErrorCode, httpResponseCode=OK, severity=severity, disposition=disposition, category=category]");
- }
+
+ ErrorObject newErrorObject = new ErrorObject("disposition","category","severity", 200, "restErrorCode","errorCode","errorText");
+
+ //Constructor Tests
+ @Test
+ public void createObjectTest1(){
+ //No HTTP Status argument
+ ErrorObject errorObject = new ErrorObject("severity","errorcode","errortext","disposition","category");
+ assertNotNull(errorObject);
+ }
+ @Test
+ public void createObjectTest2(){
+ //HTTP Status code as integer
+ ErrorObject errorObject = new ErrorObject("severity",200,"errorcode","errortext","disposition","category");
+ assertNotNull(errorObject);
+ }
+ @Test
+ public void createObjectTest3(){
+ //HTTP Status code as Status
+ ErrorObject errorObject = new ErrorObject("severity",Status.OK,"errorcode","errortext","disposition","category");
+ assertNotNull(errorObject);
+ }
+ //Disposition Tests
+ @Test
+ public void getDispositionTest() {
+ assertEquals(newErrorObject.getDisposition(), "disposition");
+ }
+ @Test
+ public void setDispositionTest() {
+ newErrorObject.setDisposition("newDisposition");
+ assertEquals(newErrorObject.getDisposition(), "newDisposition");
+ }
+
+ //Category Tests
+ @Test
+ public void getCategoryTest(){
+ assertEquals(newErrorObject.getCategory(), "category");
+ }
+ @Test
+ public void setCategoryTest(){
+ newErrorObject.setCategory("newCategory");
+ assertEquals(newErrorObject.getCategory(), "newCategory");
+ }
+
+ //Severity Tests
+ @Test
+ public void getSeverityTest(){
+ assertEquals(newErrorObject.getSeverity(), "severity");
+ }
+ @Test
+ public void setSeverityTest(){
+ newErrorObject.setSeverity("newSeverity");
+ assertEquals(newErrorObject.getSeverity(), "newSeverity");
+ }
+
+ //Error Code Tests
+ @Test
+ public void getErrorCodeTest(){
+ assertEquals(newErrorObject.getErrorCode(), "errorCode");
+ }
+ @Test
+ public void SetErrorCodeTest(){
+ newErrorObject.setErrorCode("newErrorCode");
+ assertEquals(newErrorObject.getErrorCode(), "newErrorCode");
+ }
+
+ //HTTP Response Code Tests
+ @Test
+ public void getHTTPCodeTest(){
+ assertEquals(newErrorObject.getHTTPResponseCode(), Status.OK);
+ }
+ @Test
+ public void setHTTPCodeTest(){
+ newErrorObject.setHTTPResponseCode(201);
+ assertEquals(newErrorObject.getHTTPResponseCode(), Status.CREATED);
+ }
+ @Test(expected=IllegalArgumentException.class)
+ public void invalidHttpCodeTest(){
+ newErrorObject.setHTTPResponseCode(6281723);
+ }
+ @Test(expected=IllegalArgumentException.class)
+ public void invalidHttpCodeTest2(){
+ newErrorObject.setHTTPResponseCode("82901");
+ }
+
+ //Rest Error Code Tests
+ @Test
+ public void getRestErrorCodeTest(){
+ assertEquals(newErrorObject.getRESTErrorCode(), "restErrorCode");
+ }
+ @Test
+ public void setRestErrorCodeTest(){
+ newErrorObject.setRESTErrorCode("newRestErrorCode");
+ assertEquals(newErrorObject.getRESTErrorCode(), "newRestErrorCode");
+ }
+
+ //Error Text Tests
+ @Test
+ public void getErrorTextTest(){
+ assertEquals(newErrorObject.getErrorText(), "errorText");
+ }
+ @Test
+ public void setErrorTextTest(){
+ newErrorObject.setErrorText("newErrorText");
+ assertEquals(newErrorObject.getErrorText(), "newErrorText");
+ }
+ @Test
+ public void getErrorCodeStringTest(){
+ assertEquals(newErrorObject.getErrorCodeString(), "disposition.category.errorCode");
+ }
+ @Test
+ public void getErrorCodeStringDisposition5Test(){
+ //get Error Code String while Disposition = 5
+ newErrorObject.setDisposition("5");
+ assertEquals(newErrorObject.getErrorCodeString(), "ERR.5.category.errorCode");
+ }
+ @Test
+ public void getSeverityCodeTest(){
+ newErrorObject.setSeverity("WARN");
+ assertEquals(newErrorObject.getSeverityCode(newErrorObject.getSeverity()), "1");
+
+ newErrorObject.setSeverity("ERROR");
+ assertEquals(newErrorObject.getSeverityCode(newErrorObject.getSeverity()), "2");
+
+ newErrorObject.setSeverity("FATAL");
+ assertEquals(newErrorObject.getSeverityCode(newErrorObject.getSeverity()), "3");
+ }
+ //To String Test
+ @Test
+ public void toStringTest(){
+ assertEquals(newErrorObject.toString(), "ErrorObject [errorCode=errorCode, errorText=errorText, restErrorCode=restErrorCode, httpResponseCode=OK, severity=severity, disposition=disposition, category=category]");
+ }
}
diff --git a/aai-core/src/test/java/org/onap/aai/logging/LoggingContextTest.java b/aai-core/src/test/java/org/onap/aai/logging/LoggingContextTest.java
index 1aafa4a1..0e2a1c3d 100644
--- a/aai-core/src/test/java/org/onap/aai/logging/LoggingContextTest.java
+++ b/aai-core/src/test/java/org/onap/aai/logging/LoggingContextTest.java
@@ -27,80 +27,80 @@ import static org.junit.Assert.*;
public class LoggingContextTest {
- private static final int MAX_STORED_CONTEXTS = 100;
+ private static final int MAX_STORED_CONTEXTS = 100;
- @Test
- public void testStopWatch() {
- try {
- LoggingContext.stopWatchStop();
- throw new AssertionError("No exception thrown when LoggingContext.stopWatchStop() called without a prior LoggingContext.stopWatchStart()");
- } catch (StopWatchNotStartedException e) {
- //Expected
- }
+ @Test
+ public void testStopWatch() {
+ try {
+ LoggingContext.stopWatchStop();
+ throw new AssertionError("No exception thrown when LoggingContext.stopWatchStop() called without a prior LoggingContext.stopWatchStart()");
+ } catch (StopWatchNotStartedException e) {
+ //Expected
+ }
- LoggingContext.stopWatchStart();
+ LoggingContext.stopWatchStart();
- assertTrue(LoggingContext.stopWatchStop() >= 0);
+ assertTrue(LoggingContext.stopWatchStop() >= 0);
- try {
- LoggingContext.stopWatchStop();
- throw new AssertionError("No exception thrown when LoggingContext.stopWatchStop() twice in succession");
- } catch (StopWatchNotStartedException e) {
- //Expected
- }
- }
+ try {
+ LoggingContext.stopWatchStop();
+ throw new AssertionError("No exception thrown when LoggingContext.stopWatchStop() twice in succession");
+ } catch (StopWatchNotStartedException e) {
+ //Expected
+ }
+ }
- @Test
- public void testRequestId() { //AKA Transaction ID
- final String sUuid = "57d51eaa-edc6-4f50-a69d-f2d4d2445120";
+ @Test
+ public void testRequestId() { //AKA Transaction ID
+ final String sUuid = "57d51eaa-edc6-4f50-a69d-f2d4d2445120";
- LoggingContext.requestId(sUuid);
+ LoggingContext.requestId(sUuid);
- assertEquals(LoggingContext.requestId(), UUID.fromString(sUuid));
+ assertEquals(LoggingContext.requestId(), UUID.fromString(sUuid));
- final UUID uuid = UUID.randomUUID();
+ final UUID uuid = UUID.randomUUID();
- LoggingContext.requestId(uuid);
+ LoggingContext.requestId(uuid);
- assertEquals(LoggingContext.requestId(), uuid);
+ assertEquals(LoggingContext.requestId(), uuid);
- LoggingContext.requestId("foo"); //Illegal - this will result in a new, randomly
- //generated UUID as per the logging spec
+ LoggingContext.requestId("foo"); //Illegal - this will result in a new, randomly
+ //generated UUID as per the logging spec
- assertNotNull(LoggingContext.requestId()); //Make sure ANY UUID was assigned
- assertNotEquals(LoggingContext.requestId(), uuid); //Make sure it actually changed from the last
- //known valid UUID
- }
+ assertNotNull(LoggingContext.requestId()); //Make sure ANY UUID was assigned
+ assertNotEquals(LoggingContext.requestId(), uuid); //Make sure it actually changed from the last
+ //known valid UUID
+ }
- @Test
- public void testClear() {
- LoggingContext.init();
- LoggingContext.clear();
+ @Test
+ public void testClear() {
+ LoggingContext.init();
+ LoggingContext.clear();
- assertEquals(Collections.emptyMap(), LoggingContext.getCopy());
- }
+ assertEquals(Collections.emptyMap(), LoggingContext.getCopy());
+ }
- @Test
- public void testSaveRestore() {
+ @Test
+ public void testSaveRestore() {
- final Deque<Map<String, String>> contexts = new LinkedList<Map<String, String>> ();
+ final Deque<Map<String, String>> contexts = new LinkedList<Map<String, String>> ();
- LoggingContext.init();
+ LoggingContext.init();
- for (int i = 0; i < MAX_STORED_CONTEXTS; i++) {
- LoggingContext.customField1(String.valueOf(i));
-
- assertEquals(LoggingContext.customField1(), String.valueOf(i));
+ for (int i = 0; i < MAX_STORED_CONTEXTS; i++) {
+ LoggingContext.customField1(String.valueOf(i));
+
+ assertEquals(LoggingContext.customField1(), String.valueOf(i));
- LoggingContext.save();
+ LoggingContext.save();
- contexts.push(LoggingContext.getCopy());
- }
+ contexts.push(LoggingContext.getCopy());
+ }
- while (contexts.peek() != null) {
- LoggingContext.restore();
+ while (contexts.peek() != null) {
+ LoggingContext.restore();
- assertEquals(LoggingContext.getCopy(), contexts.pop());
- }
- }
+ assertEquals(LoggingContext.getCopy(), contexts.pop());
+ }
+ }
}
diff --git a/aai-core/src/test/java/org/onap/aai/parsers/query/GraphTraversalTest.java b/aai-core/src/test/java/org/onap/aai/parsers/query/GraphTraversalTest.java
index d452b00c..478f8bfa 100644
--- a/aai-core/src/test/java/org/onap/aai/parsers/query/GraphTraversalTest.java
+++ b/aai-core/src/test/java/org/onap/aai/parsers/query/GraphTraversalTest.java
@@ -30,6 +30,7 @@ import org.junit.rules.ExpectedException;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.onap.aai.AAISetup;
+import org.onap.aai.DataLinkSetup;
import org.onap.aai.db.props.AAIProperties;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.introspection.ModelType;
@@ -37,6 +38,7 @@ import org.onap.aai.rest.RestTokens;
import org.onap.aai.serialization.engines.QueryStyle;
import org.onap.aai.serialization.engines.JanusGraphDBEngine;
import org.onap.aai.serialization.engines.TransactionalGraphEngine;
+import org.springframework.test.annotation.DirtiesContext;
import javax.ws.rs.core.MultivaluedHashMap;
import javax.ws.rs.core.MultivaluedMap;
@@ -54,774 +56,775 @@ import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertEquals;
@RunWith(value = Parameterized.class)
-public class GraphTraversalTest extends AAISetup {
-
- private TransactionalGraphEngine dbEngine;
- private TransactionalGraphEngine dbEnginev9;
-
- @Parameterized.Parameter(value = 0)
- public QueryStyle queryStyle;
-
- @Parameterized.Parameters(name = "QueryStyle.{0}")
- public static Collection<Object[]> data() {
- return Arrays.asList(new Object[][]{
- {QueryStyle.TRAVERSAL},
- {QueryStyle.TRAVERSAL_URI}
- });
- }
-
- @Rule public ExpectedException thrown = ExpectedException.none();
-
-
- /**
- * Configure.
- * @throws Exception
- * @throws SecurityException
- * @throws NoSuchFieldException
- */
- @Before
- public void configure() throws Exception {
- dbEngine =
- new JanusGraphDBEngine(queryStyle,
- loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion()),
- false);
-
- dbEnginev9 =
- new JanusGraphDBEngine(queryStyle,
- loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDepthVersion()),
- false);
- }
-
- /**
- * Parent query.
- *
- * @throws UnsupportedEncodingException the unsupported encoding exception
- * @throws AAIException the AAI exception
- */
- @Test
+@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
+public class GraphTraversalTest extends DataLinkSetup {
+
+ private TransactionalGraphEngine dbEngine;
+ private TransactionalGraphEngine dbEngineDepthVersion;
+
+ @Parameterized.Parameter(value = 0)
+ public QueryStyle queryStyle;
+
+ @Parameterized.Parameters(name = "QueryStyle.{0}")
+ public static Collection<Object[]> data() {
+ return Arrays.asList(new Object[][]{
+ {QueryStyle.TRAVERSAL},
+ {QueryStyle.TRAVERSAL_URI}
+ });
+ }
+
+ @Rule public ExpectedException thrown = ExpectedException.none();
+
+
+ /**
+ * Configure.
+ * @throws Exception
+ * @throws SecurityException
+ * @throws NoSuchFieldException
+ */
+ @Before
+ public void configure() throws Exception {
+ dbEngine =
+ new JanusGraphDBEngine(queryStyle,
+ loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion()),
+ false);
+
+ dbEngineDepthVersion =
+ new JanusGraphDBEngine(queryStyle,
+ loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDepthVersion()),
+ 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());
-
-
+ 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
+ /**
+ * 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")
- .in("org.onap.relationships.inventory.BelongsTo")
- .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());
-
-
+ 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")
+ .in("org.onap.relationships.inventory.BelongsTo")
+ .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
+
+ /**
+ * 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")
- .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);
- GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
- .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.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());
-
-
+ 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")
+ .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);
+ GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
+ .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.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
+
+ /**
+ * 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")
- .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");
- GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
- .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.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());
-
-
+ 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")
+ .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");
+ GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
+ .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.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
+
+ @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());
-
-
+ 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")
+ .in("org.onap.relationships.inventory.BelongsTo")
+ .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")
+ .in("org.onap.relationships.inventory.BelongsTo")
+ .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 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")
- .in("org.onap.relationships.inventory.BelongsTo")
- .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")
- .in("org.onap.relationships.inventory.BelongsTo")
- .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
+
+ /**
+ * 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")
- .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", 333);
- GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
- .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.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());
-
-
+ 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")
+ .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", 333);
+ GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
+ .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.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
+
+ /**
+ * 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").has(AAIProperties.NODE_TYPE, P.within("vce", "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());
-
-
+ URI uri = UriBuilder.fromPath("vnf/key1").build();
+
+ QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri);
+
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+ .has("vnf-id", "key1").has(AAIProperties.NODE_TYPE, P.within("vce", "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
+
+ /**
+ * 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);
+ 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").has(AAIProperties.NODE_TYPE, P.within("vce", "generic-vnf"))
+ .union(__.in("org.onap.relationships.inventory.BelongsTo").has(AAIProperties.NODE_TYPE, "vf-module")).has("vf-module-id", "key2");
+
+ GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
+ .has("vnf-id", "key1").has(AAIProperties.NODE_TYPE, P.within("vce", "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/generic-vnfs").build();
+ MultivaluedMap<String, String> map = new MultivaluedHashMap<>();
+ map.putSingle("persona-model-customization-id", "key2");
+ QueryParser query = dbEngineDepthVersion.getQueryBuilder().createQueryFromURI(uri, map);
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+ .has("aai-node-type", "generic-vnf")
+ .has("model-customization-id", "key2");
+ GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
+ .has("aai-node-type", "generic-vnf");
+
+ 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",
+ "generic-vnf",
+ 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 = dbEngineDepthVersion.getQueryBuilder().createQueryFromURI(uri, map);
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+ .has("aai-node-type", "vpn-binding")
+ .where(__.in("org.onap.relationships.inventory.BelongsTo").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());
+ }
+
+ @Test
+ public void pluralCousin() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("cloud-infrastructure/complexes/complex/key1/related-to/pservers").build();
+
+ QueryParser query = dbEngineDepthVersion.getQueryBuilder().createQueryFromURI(uri);
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+ .has("physical-location-id", "key1")
+ .has("aai-node-type", "complex")
+ .in("org.onap.relationships.inventory.LocatedIn").has("aai-node-type", "pserver");
+ GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
+ .has("physical-location-id", "key1")
+ .has("aai-node-type", "complex");
+
+ assertEquals(
+ "gremlin query should be " + expected.toString(),
+ expected.toString(),
+ query.getQueryBuilder().getQuery().toString());
+ assertEquals(
+ "parent",
+ expectedParent.toString(),
+ query.getQueryBuilder().getParentQuery().getQuery().toString());
+
+ assertEquals(
+ "result type should be",
+ "pserver",
+ query.getResultType());
+ assertEquals(
+ "result type should be",
+ "complex",
+ query.getParentResultType());
+ //this is controversial but we're not allowing writes on this currently
+ assertEquals("dependent",true, query.isDependent());
+ }
+
+ @Test
+ public void specificCousin() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("cloud-infrastructure/complexes/complex/key1/related-to/pservers/pserver/key2").build();
+
+ QueryParser query = dbEngineDepthVersion.getQueryBuilder().createQueryFromURI(uri);
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+ .has("physical-location-id", "key1")
+ .has("aai-node-type", "complex")
+ .in("org.onap.relationships.inventory.LocatedIn").has("aai-node-type", "pserver")
+ .has("hostname", "key2");
+ GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
+ .has("physical-location-id", "key1")
+ .has("aai-node-type", "complex");
+
+ assertEquals(
+ "gremlin query should be " + expected.toString(),
+ expected.toString(),
+ query.getQueryBuilder().getQuery().toString());
+ assertEquals(
+ "parent",
+ expectedParent.toString(),
+ query.getQueryBuilder().getParentQuery().getQuery().toString());
+
+ assertEquals(
+ "result type should be",
+ "pserver",
+ query.getResultType());
+ assertEquals(
+ "result type should be",
+ "complex",
+ query.getParentResultType());
+ //this is controversial but we're not allowing writes on this currently
+ assertEquals("dependent",true, query.isDependent());
+ }
+
+ @Test
+ public void doubleSpecificCousin() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("cloud-infrastructure/complexes/complex/key1/related-to/pservers/pserver/key2/related-to/vservers/vserver/key3").build();
+
+ QueryParser query = dbEngineDepthVersion.getQueryBuilder().createQueryFromURI(uri);
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+ .has("physical-location-id", "key1")
+ .has("aai-node-type", "complex")
+ .in("org.onap.relationships.inventory.LocatedIn").has("aai-node-type", "pserver")
+ .has("hostname", "key2")
+ .in("tosca.relationships.HostedOn").has("aai-node-type", "vserver")
+ .has("vserver-id", "key3");
+ GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
+ .has("physical-location-id", "key1")
+ .has("aai-node-type", "complex")
+ .in("org.onap.relationships.inventory.LocatedIn").has("aai-node-type", "pserver")
+ .has("hostname", "key2");
+
+ assertEquals(
+ "gremlin query should be " + expected.toString(),
+ expected.toString(),
+ query.getQueryBuilder().getQuery().toString());
+ assertEquals(
+ "parent",
+ expectedParent.toString(),
+ query.getQueryBuilder().getParentQuery().getQuery().toString());
+
+ assertEquals(
+ "result type should be",
+ "vserver",
+ query.getResultType());
+ assertEquals(
+ "result type should be",
+ "pserver",
+ query.getParentResultType());
+ //this is controversial but we're not allowing writes on this currently
+ assertEquals("dependent",true, query.isDependent());
+ }
+
+ @Test
+ public void traversalEndsInRelatedTo() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("cloud-infrastructure/complexes/complex/key1/related-to").build();
+
+ thrown.expect(AAIException.class);
+ thrown.expectMessage(containsString(RestTokens.COUSIN.toString()));
+ QueryParser query = dbEngineDepthVersion.getQueryBuilder().createQueryFromURI(uri);
+
+ }
+
+ @Test
+ public void pluralCousinToPluralCousin() throws UnsupportedEncodingException, AAIException {
+ URI uri = UriBuilder.fromPath("cloud-infrastructure/complexes/related-to/pservers").build();
+
+ thrown.expect(AAIException.class);
+ thrown.expectMessage(containsString("chain plurals"));
+ QueryParser query = dbEngineDepthVersion.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").has(AAIProperties.NODE_TYPE, P.within("vce", "generic-vnf"))
- .union(__.in("org.onap.relationships.inventory.BelongsTo").has(AAIProperties.NODE_TYPE, "vf-module")).has("vf-module-id", "key2");
-
- GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
- .has("vnf-id", "key1").has(AAIProperties.NODE_TYPE, P.within("vce", "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/generic-vnfs").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", "generic-vnf")
- .has("model-customization-id", "key2");
- GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
- .has("aai-node-type", "generic-vnf");
-
- 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",
- "generic-vnf",
- 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(__.in("org.onap.relationships.inventory.BelongsTo").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());
- }
-
- @Test
- public void pluralCousin() throws UnsupportedEncodingException, AAIException {
- URI uri = UriBuilder.fromPath("cloud-infrastructure/complexes/complex/key1/related-to/pservers").build();
-
- QueryParser query = dbEnginev9.getQueryBuilder().createQueryFromURI(uri);
- GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
- .has("physical-location-id", "key1")
- .has("aai-node-type", "complex")
- .in("org.onap.relationships.inventory.LocatedIn").has("aai-node-type", "pserver");
- GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
- .has("physical-location-id", "key1")
- .has("aai-node-type", "complex");
-
- assertEquals(
- "gremlin query should be " + expected.toString(),
- expected.toString(),
- query.getQueryBuilder().getQuery().toString());
- assertEquals(
- "parent",
- expectedParent.toString(),
- query.getQueryBuilder().getParentQuery().getQuery().toString());
-
- assertEquals(
- "result type should be",
- "pserver",
- query.getResultType());
- assertEquals(
- "result type should be",
- "complex",
- query.getParentResultType());
- //this is controversial but we're not allowing writes on this currently
- assertEquals("dependent",true, query.isDependent());
- }
-
- @Test
- public void specificCousin() throws UnsupportedEncodingException, AAIException {
- URI uri = UriBuilder.fromPath("cloud-infrastructure/complexes/complex/key1/related-to/pservers/pserver/key2").build();
-
- QueryParser query = dbEnginev9.getQueryBuilder().createQueryFromURI(uri);
- GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
- .has("physical-location-id", "key1")
- .has("aai-node-type", "complex")
- .in("org.onap.relationships.inventory.LocatedIn").has("aai-node-type", "pserver")
- .has("hostname", "key2");
- GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
- .has("physical-location-id", "key1")
- .has("aai-node-type", "complex");
-
- assertEquals(
- "gremlin query should be " + expected.toString(),
- expected.toString(),
- query.getQueryBuilder().getQuery().toString());
- assertEquals(
- "parent",
- expectedParent.toString(),
- query.getQueryBuilder().getParentQuery().getQuery().toString());
-
- assertEquals(
- "result type should be",
- "pserver",
- query.getResultType());
- assertEquals(
- "result type should be",
- "complex",
- query.getParentResultType());
- //this is controversial but we're not allowing writes on this currently
- assertEquals("dependent",true, query.isDependent());
- }
-
- @Test
- public void doubleSpecificCousin() throws UnsupportedEncodingException, AAIException {
- URI uri = UriBuilder.fromPath("cloud-infrastructure/complexes/complex/key1/related-to/pservers/pserver/key2/related-to/vservers/vserver/key3").build();
-
- QueryParser query = dbEnginev9.getQueryBuilder().createQueryFromURI(uri);
- GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
- .has("physical-location-id", "key1")
- .has("aai-node-type", "complex")
- .in("org.onap.relationships.inventory.LocatedIn").has("aai-node-type", "pserver")
- .has("hostname", "key2")
- .in("tosca.relationships.HostedOn").has("aai-node-type", "vserver")
- .has("vserver-id", "key3");
- GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
- .has("physical-location-id", "key1")
- .has("aai-node-type", "complex")
- .in("org.onap.relationships.inventory.LocatedIn").has("aai-node-type", "pserver")
- .has("hostname", "key2");
-
- assertEquals(
- "gremlin query should be " + expected.toString(),
- expected.toString(),
- query.getQueryBuilder().getQuery().toString());
- assertEquals(
- "parent",
- expectedParent.toString(),
- query.getQueryBuilder().getParentQuery().getQuery().toString());
-
- assertEquals(
- "result type should be",
- "vserver",
- query.getResultType());
- assertEquals(
- "result type should be",
- "pserver",
- query.getParentResultType());
- //this is controversial but we're not allowing writes on this currently
- assertEquals("dependent",true, query.isDependent());
- }
-
- @Test
- public void traversalEndsInRelatedTo() throws UnsupportedEncodingException, AAIException {
- URI uri = UriBuilder.fromPath("cloud-infrastructure/complexes/complex/key1/related-to").build();
-
- thrown.expect(AAIException.class);
- thrown.expectMessage(containsString(RestTokens.COUSIN.toString()));
- QueryParser query = dbEnginev9.getQueryBuilder().createQueryFromURI(uri);
-
- }
-
- @Test
- public void pluralCousinToPluralCousin() throws UnsupportedEncodingException, AAIException {
- URI uri = UriBuilder.fromPath("cloud-infrastructure/complexes/related-to/pservers").build();
-
- thrown.expect(AAIException.class);
- thrown.expectMessage(containsString("chain plurals"));
- QueryParser query = dbEnginev9.getQueryBuilder().createQueryFromURI(uri);
-
- }
}
diff --git a/aai-core/src/test/java/org/onap/aai/parsers/query/LegacyQueryTest.java b/aai-core/src/test/java/org/onap/aai/parsers/query/LegacyQueryTest.java
index f266fc07..8272f775 100644
--- a/aai-core/src/test/java/org/onap/aai/parsers/query/LegacyQueryTest.java
+++ b/aai-core/src/test/java/org/onap/aai/parsers/query/LegacyQueryTest.java
@@ -43,116 +43,116 @@ import static org.junit.Assert.assertEquals;
public class LegacyQueryTest extends AAISetup {
- private TransactionalGraphEngine dbEngine;
- private SchemaVersion version;
- private DynamicJAXBContext context = nodeIngestor.getContextForVersion(version);
+ private TransactionalGraphEngine dbEngine;
+ private SchemaVersion version;
+ private DynamicJAXBContext context = nodeIngestor.getContextForVersion(version);
- public void setup(){
- version = new SchemaVersion("v8");
- dbEngine =
- new JanusGraphDBEngine(QueryStyle.GREMLIN_TRAVERSAL,
- loaderFactory.createLoaderForVersion(ModelType.MOXY, version),
- false);
- }
+ public void setup(){
+ version = new SchemaVersion("v10");
+ dbEngine =
+ new JanusGraphDBEngine(QueryStyle.GREMLIN_TRAVERSAL,
+ loaderFactory.createLoaderForVersion(ModelType.MOXY, version),
+ false);
+ }
- /**
- * Parent query.
- *
- * @throws JAXBException the JAXB exception
- * @throws UnsupportedEncodingException the unsupported encoding exception
- * @throws AAIException the AAI exception
- */
- @Test
+ /**
+ * 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();
+
+ URI uri = UriBuilder.fromPath("cloud-infrastructure/pservers/pserver/key1").build();
- QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri);
+ 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());
-
+ 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
+ /**
+ * 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);
+ 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')"
- + ".out('hasLAGInterface').has('aai-node-type', 'lag-interface')"
- + ".has('interface-name', 'key2')";
- String parentExpected =
- ".has('hostname', 'key1').has('aai-node-type', 'pserver')";
- assertEquals(
- "gremlin query should be for node",
- expected,
- query.getQueryBuilder().getQuery());
- assertEquals(
- "parent gremlin query should be for parent",
- parentExpected,
- query.getQueryBuilder().getParentQuery().getQuery());
- assertEquals(
- "result type should be lag-interface",
- "lag-interface",
- query.getResultType());
+ String expected =
+ ".has('hostname', 'key1').has('aai-node-type', 'pserver')"
+ + ".out('hasLAGInterface').has('aai-node-type', 'lag-interface')"
+ + ".has('interface-name', 'key2')";
+ String parentExpected =
+ ".has('hostname', 'key1').has('aai-node-type', 'pserver')";
+ assertEquals(
+ "gremlin query should be for node",
+ expected,
+ query.getQueryBuilder().getQuery());
+ assertEquals(
+ "parent gremlin query should be for parent",
+ parentExpected,
+ 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
+
+ /**
+ * 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());
-
+ 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/onap/aai/parsers/query/RelationshipGremlinQueryTest.java b/aai-core/src/test/java/org/onap/aai/parsers/query/RelationshipGremlinQueryTest.java
index f072bb1b..045f6b30 100644
--- a/aai-core/src/test/java/org/onap/aai/parsers/query/RelationshipGremlinQueryTest.java
+++ b/aai-core/src/test/java/org/onap/aai/parsers/query/RelationshipGremlinQueryTest.java
@@ -49,275 +49,275 @@ import static org.junit.Assert.assertEquals;
@Ignore
public class RelationshipGremlinQueryTest extends AAISetup {
- @Autowired
- private NodeIngestor injestor;
- private TransactionalGraphEngine dbEngine;
- private SchemaVersion version;
- private DynamicJAXBContext context = injestor.getContextForVersion(version);
-
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
- @Before
- public void setup(){
- version = new SchemaVersion("v8");
- dbEngine =
- new JanusGraphDBEngine(QueryStyle.GREMLIN_TRAVERSAL,
- loaderFactory.createLoaderForVersion(ModelType.MOXY, version),
- false);
- }
-
- /**
- * Parent query.
- *
- * @throws JAXBException the JAXB exception
- * @throws UnsupportedEncodingException the unsupported encoding exception
- * @throws AAIException the AAI exception
- */
- @Test
+ @Autowired
+ private NodeIngestor injestor;
+ private TransactionalGraphEngine dbEngine;
+ private SchemaVersion version;
+ private DynamicJAXBContext context = injestor.getContextForVersion(version);
+
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+
+ @Before
+ public void setup(){
+ version = new SchemaVersion("v10");
+ dbEngine =
+ new JanusGraphDBEngine(QueryStyle.GREMLIN_TRAVERSAL,
+ loaderFactory.createLoaderForVersion(ModelType.MOXY, version),
+ false);
+ }
+
+ /**
+ * 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());
-
+
+ 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
+ /**
+ * 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());
+ 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
+
+ /**
+ * 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());
-
+ 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);
}
-
- /**
- * 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);
- }
-
+
+ /**
+ * 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.
*
@@ -328,345 +328,345 @@ public class RelationshipGremlinQueryTest extends AAISetup {
*/
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());
-
+
+ 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
+
+ /**
+ * 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());
-
+ 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
+
+ @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());
-
+ 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
+
+ /**
+ * 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());
-
+ 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
+
+ /**
+ * 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','generic-vnf'))";
-
- String expectedParent =
- ".has('vnf-id', 'key1')"
- + ".has('aai-node-type', P.within('vce','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());
-
+ 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','generic-vnf'))";
+
+ String expectedParent =
+ ".has('vnf-id', 'key1')"
+ + ".has('aai-node-type', P.within('vce','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);
+
}
-
- /**
- * 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/onap/aai/parsers/query/RelationshipQueryTest.java b/aai-core/src/test/java/org/onap/aai/parsers/query/RelationshipQueryTest.java
index 2846e7fc..71089c6b 100644
--- a/aai-core/src/test/java/org/onap/aai/parsers/query/RelationshipQueryTest.java
+++ b/aai-core/src/test/java/org/onap/aai/parsers/query/RelationshipQueryTest.java
@@ -45,232 +45,232 @@ import static org.junit.Assert.assertEquals;
public class RelationshipQueryTest extends AAISetup {
- private TransactionalGraphEngine dbEngine;
- private SchemaVersion version;
- private DynamicJAXBContext context = nodeIngestor.getContextForVersion(version);
-
- @Before
- public void setup(){
- version = new SchemaVersion("v8");
- dbEngine =
- new JanusGraphDBEngine(QueryStyle.GREMLIN_TRAVERSAL,
- loaderFactory.createLoaderForVersion(ModelType.MOXY, version),
- false);
- }
- /**
- * Parent query.
- *
- * @throws JAXBException the JAXB exception
- * @throws UnsupportedEncodingException the unsupported encoding exception
- * @throws AAIException the AAI exception
- */
- @Test
+ private TransactionalGraphEngine dbEngine;
+ private SchemaVersion version;
+ private DynamicJAXBContext context = nodeIngestor.getContextForVersion(version);
+
+ @Before
+ public void setup(){
+ version = new SchemaVersion("v10");
+ dbEngine =
+ new JanusGraphDBEngine(QueryStyle.GREMLIN_TRAVERSAL,
+ loaderFactory.createLoaderForVersion(ModelType.MOXY, version),
+ false);
+ }
+ /**
+ * 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());
-
+
+ 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
- */
- @Ignore
- @Test
+ /**
+ * Child query.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Ignore
+ @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').out('hasLAGInterface').has('aai-node-type', 'lag-interface')"
- + ".has('interface-name', 'key2')";
- String parentExpected =
- ".has('hostname', 'key1').has('aai-node-type', 'pserver')";
- assertEquals(
- "gremlin query should be for node",
- expected,
- query.getQueryBuilder().getQuery());
- assertEquals(
- "parent gremlin query should be for parent",
- parentExpected,
- query.getQueryBuilder().getParentQuery().getQuery());
- assertEquals(
- "result type should be lag-interface",
- "lag-interface",
- query.getResultType());
+ 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').out('hasLAGInterface').has('aai-node-type', 'lag-interface')"
+ + ".has('interface-name', 'key2')";
+ String parentExpected =
+ ".has('hostname', 'key1').has('aai-node-type', 'pserver')";
+ assertEquals(
+ "gremlin query should be for node",
+ expected,
+ query.getQueryBuilder().getQuery());
+ assertEquals(
+ "parent gremlin query should be for parent",
+ parentExpected,
+ 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
- */
- @Ignore
- @Test
+
+ /**
+ * Naming exceptions.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Ignore
+ @Test
public void namingExceptions() throws JAXBException, UnsupportedEncodingException, AAIException {
- 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());
-
+ 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
- */
- @Ignore
- @Test
+
+ /**
+ * Double key.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Ignore
+ @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());
-
+ 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/onap/aai/parsers/query/UniqueRelationshipQueryTest.java b/aai-core/src/test/java/org/onap/aai/parsers/query/UniqueRelationshipQueryTest.java
index f7e239b4..319f0b88 100644
--- a/aai-core/src/test/java/org/onap/aai/parsers/query/UniqueRelationshipQueryTest.java
+++ b/aai-core/src/test/java/org/onap/aai/parsers/query/UniqueRelationshipQueryTest.java
@@ -49,253 +49,253 @@ import static org.junit.Assert.assertEquals;
@Ignore
public class UniqueRelationshipQueryTest extends AAISetup {
- @Autowired
- private NodeIngestor ingestor ;
-
- private TransactionalGraphEngine dbEngine;
- private SchemaVersion version ;
- private DynamicJAXBContext context = ingestor.getContextForVersion(version);
- private Unmarshaller unmarshaller = null;
-
- /**
- * Setup.
- *
- * @throws JAXBException the JAXB exception
- */
- @Before
- public void setup() throws JAXBException {
- version = new SchemaVersion("v8");
- dbEngine = new JanusGraphDBEngine(QueryStyle.GREMLIN_UNIQUE,
- loaderFactory.createLoaderForVersion(ModelType.MOXY, version),
- false);
- 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
+ @Autowired
+ private NodeIngestor ingestor ;
+
+ private TransactionalGraphEngine dbEngine;
+ private SchemaVersion version ;
+ private DynamicJAXBContext context = ingestor.getContextForVersion(version);
+ private Unmarshaller unmarshaller = null;
+
+ /**
+ * Setup.
+ *
+ * @throws JAXBException the JAXB exception
+ */
+ @Before
+ public void setup() throws JAXBException {
+ version = new SchemaVersion("v10");
+ dbEngine = new JanusGraphDBEngine(QueryStyle.GREMLIN_UNIQUE,
+ loaderFactory.createLoaderForVersion(ModelType.MOXY, version),
+ false);
+ 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);
-
+
+ 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
+ /**
+ * 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);
+ 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
+
+ /**
+ * 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);
-
+ 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
+
+ /**
+ * 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);
-
+ 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
+
+ /**
+ * 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);
-
+ 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());
}
-
- /**
- * 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/onap/aai/parsers/query/UniqueURIQueryTest.java b/aai-core/src/test/java/org/onap/aai/parsers/query/UniqueURIQueryTest.java
index 5c31fd01..631574b4 100644
--- a/aai-core/src/test/java/org/onap/aai/parsers/query/UniqueURIQueryTest.java
+++ b/aai-core/src/test/java/org/onap/aai/parsers/query/UniqueURIQueryTest.java
@@ -44,150 +44,150 @@ import static org.junit.Assert.assertEquals;
public class UniqueURIQueryTest extends AAISetup {
- private TransactionalGraphEngine dbEngine;
- private SchemaVersion version;
- private DynamicJAXBContext context = nodeIngestor.getContextForVersion(version);
-
- /**
- * Parent query.
- *
- * @throws UnsupportedEncodingException the unsupported encoding exception
- * @throws AAIException the AAI exception
- */
- @Test
+ private TransactionalGraphEngine dbEngine;
+ private SchemaVersion version;
+ private DynamicJAXBContext context = nodeIngestor.getContextForVersion(version);
+
+ /**
+ * Parent query.
+ *
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ * @throws AAIException the AAI exception
+ */
+ @Test
public void parentQuery() throws UnsupportedEncodingException, AAIException {
- version = new SchemaVersion("v8");
- dbEngine = new JanusGraphDBEngine(QueryStyle.GREMLIN_UNIQUE,
- loaderFactory.createLoaderForVersion(ModelType.MOXY, version),
- false);
- 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);
-
+ version = new SchemaVersion("v10");
+ dbEngine = new JanusGraphDBEngine(QueryStyle.GREMLIN_UNIQUE,
+ loaderFactory.createLoaderForVersion(ModelType.MOXY, version),
+ false);
+ 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
+
+ /**
+ * 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);
-
+ 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
+ /**
+ * 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);
-
+ 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
+
+ /**
+ * 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);
-
+ 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
+
+ /**
+ * 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).in("org.onap.relationships.inventory.BelongsTo").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);
-
+ 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).in("org.onap.relationships.inventory.BelongsTo").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());
}
-
- /**
- * 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/onap/aai/parsers/relationship/RelationshipToURITest.java b/aai-core/src/test/java/org/onap/aai/parsers/relationship/RelationshipToURITest.java
index 363def60..42f1fd44 100644
--- a/aai-core/src/test/java/org/onap/aai/parsers/relationship/RelationshipToURITest.java
+++ b/aai-core/src/test/java/org/onap/aai/parsers/relationship/RelationshipToURITest.java
@@ -30,6 +30,7 @@ import org.onap.aai.introspection.*;
import org.onap.aai.parsers.exceptions.AAIIdentityMapParseException;
import org.onap.aai.parsers.exceptions.AmbiguousMapAAIException;
import org.onap.aai.setup.SchemaVersion;
+import org.springframework.test.annotation.DirtiesContext;
import java.io.FileInputStream;
import java.io.IOException;
@@ -40,186 +41,157 @@ import static org.hamcrest.Matchers.hasProperty;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertEquals;
+@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
public class RelationshipToURITest extends AAISetup {
- private final ModelType modelType = ModelType.MOXY;
- private final SchemaVersion version10 = new SchemaVersion("v10");
- private final SchemaVersion version9 = new SchemaVersion("v9");
-
-
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
- @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/generic-vnfs/generic-vnf/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/generic-vnfs/generic-vnf/key1");
+ private final ModelType modelType = ModelType.MOXY;
+ private final SchemaVersion version10 = new SchemaVersion("v10");
+
+
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+
+ @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/generic-vnfs/generic-vnf/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/generic-vnfs/generic-vnf/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/generic-vnfs/generic-vnf/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/generic-vnfs/generic-vnf/key2");
-
- RelationshipToURI parse = new RelationshipToURI(loader, obj);
- URI uri = parse.getUri();
-
- assertEquals("related-link is equal", expected, uri);
+ 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/generic-vnfs/generic-vnf/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 failNothingToParse() throws AAIException, URISyntaxException, IOException {
+ Loader loader = loaderFactory.createLoaderForVersion(modelType, version10);
+ Introspector obj = loader.unmarshal("relationship", this.getJsonString("nothing-to-parse.json"));
+ URI expected = new URI("/aai/v10/network/generic-vnfs/generic-vnf/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/generic-vnfs/generic-vnf/key1");
+
+ RelationshipToURI parse = new RelationshipToURI(loader, obj);
+
-
- }
-
- @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/generic-vnfs/generic-vnf/key1");
-
- thrown.expect(AAIIdentityMapParseException.class);
- thrown.expect(hasProperty("code", is("AAI_3000")));
- RelationshipToURI parse = new RelationshipToURI(loader, obj);
-
+ URI uri = parse.getUri();
+
+ assertEquals("related-link is equal", expected, uri);
- URI uri = parse.getUri();
-
- }
-
- @Test
- public void failNothingToParse() throws AAIException, URISyntaxException, IOException {
- Loader loader = loaderFactory.createLoaderForVersion(modelType, version10);
- Introspector obj = loader.unmarshal("relationship", this.getJsonString("nothing-to-parse.json"));
- URI expected = new URI("/aai/v10/network/generic-vnfs/generic-vnf/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/generic-vnfs/generic-vnf/key1");
-
- RelationshipToURI parse = new RelationshipToURI(loader, obj);
-
+
+ }
+
+ @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/generic-vnfs/generic-vnf/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);
- 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/generic-vnfs/generic-vnf/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);
+ @Ignore
+ @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);
-
- }
-
- @Ignore
- @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/bundleconfig-local/etc/relationship/" + filename);
- String s = IOUtils.toString(is, "UTF-8");
- IOUtils.closeQuietly(is);
-
- return s;
- }
+ 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/bundleconfig-local/etc/relationship/" + filename);
+ String s = IOUtils.toString(is, "UTF-8");
+ IOUtils.closeQuietly(is);
+
+ return s;
+ }
}
diff --git a/aai-core/src/test/java/org/onap/aai/parsers/uri/URIParserTest.java b/aai-core/src/test/java/org/onap/aai/parsers/uri/URIParserTest.java
index b585f0cc..aab124f3 100644
--- a/aai-core/src/test/java/org/onap/aai/parsers/uri/URIParserTest.java
+++ b/aai-core/src/test/java/org/onap/aai/parsers/uri/URIParserTest.java
@@ -39,67 +39,67 @@ import static org.hamcrest.Matchers.is;
public class URIParserTest extends AAISetup {
- private Loader loader ;
+ private Loader loader ;
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
- /**
- * Invalid path.
- *
- * @throws JAXBException the JAXB exception
- * @throws AAIException the AAI exception
- * @throws IllegalArgumentException the illegal argument exception
- * @throws UnsupportedEncodingException the unsupported encoding exception
- */
- @PostConstruct
- public void createLoader(){
- loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, new SchemaVersion("v8"));
- }
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+
+ /**
+ * Invalid path.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ */
+ @PostConstruct
+ public void createLoader(){
+ loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, new SchemaVersion("v10"));
+ }
- @Test
+ @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
+ 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
+ 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);
- }
+ 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/onap/aai/parsers/uri/URIToDBKeyTest.java b/aai-core/src/test/java/org/onap/aai/parsers/uri/URIToDBKeyTest.java
index 311ac358..757fbc1f 100644
--- a/aai-core/src/test/java/org/onap/aai/parsers/uri/URIToDBKeyTest.java
+++ b/aai-core/src/test/java/org/onap/aai/parsers/uri/URIToDBKeyTest.java
@@ -41,146 +41,146 @@ import static org.junit.Assert.assertEquals;
public class URIToDBKeyTest extends AAISetup {
- private Loader loader ;
+ private Loader loader ;
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
- /**
- * Uri.
- *
- * @throws JAXBException the JAXB exception
- * @throws AAIException the AAI exception
- * @throws IllegalArgumentException the illegal argument exception
- * @throws UnsupportedEncodingException the unsupported encoding exception
- */
- @PostConstruct
- public void createLoader(){
- loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
- }
-
- @Test
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+
+ /**
+ * Uri.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ */
+ @PostConstruct
+ public void createLoader(){
+ loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
+ }
+
+ @Test
public void uri() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
- URI uri = UriBuilder.fromPath("/aai/" + loader.getVersion() + "/cloud-infrastructure/cloud-regions/cloud-region/cloudOwner-key/cloudRegion-key/tenants/tenant/tenantId-key/vservers/vserver/vserverId-key/l-interfaces/l-interface/key3").build();
- URIToDBKey parse = new URIToDBKey(loader, uri);
- Object result = parse.getResult();
+ URI uri = UriBuilder.fromPath("/aai/" + loader.getVersion() + "/cloud-infrastructure/cloud-regions/cloud-region/cloudOwner-key/cloudRegion-key/tenants/tenant/tenantId-key/vservers/vserver/vserverId-key/l-interfaces/l-interface/key3").build();
+ URIToDBKey parse = new URIToDBKey(loader, uri);
+ Object result = parse.getResult();
- String expected = "cloud-region/tenant/vserver/l-interface";
-
- assertEquals("blah", expected, result);
-
- }
-
- /**
- * 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
- */
- @Test
+ String expected = "cloud-region/tenant/vserver/l-interface";
+
+ assertEquals("blah", expected, result);
+
+ }
+
+ /**
+ * 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
+ */
+ @Test
public void uriNoVersion() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
- URI uri = UriBuilder.fromPath("/cloud-infrastructure/cloud-regions/cloud-region/cloudOwner-key/cloudRegion-key/tenants/tenant/tenantId-key/vservers/vserver/vserverId-key/l-interfaces/l-interface/key3").build();
- URIToDBKey parse = new URIToDBKey(loader, uri);
- Object result = parse.getResult();
-
- String expected = "cloud-region/tenant/vserver/l-interface";
-
- assertEquals("blah", expected, result);
-
- }
-
+ URI uri = UriBuilder.fromPath("/cloud-infrastructure/cloud-regions/cloud-region/cloudOwner-key/cloudRegion-key/tenants/tenant/tenantId-key/vservers/vserver/vserverId-key/l-interfaces/l-interface/key3").build();
+ URIToDBKey parse = new URIToDBKey(loader, uri);
+ Object result = parse.getResult();
+
+ String expected = "cloud-region/tenant/vserver/l-interface";
+
+ assertEquals("blah", expected, result);
+
+ }
+
- /**
- * 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
+ /**
+ * 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/tenants/tenant/key1/vservers/vserver/key2/l-interadsfaces/l-interface/key3").build();
-
- thrown.expect(AAIException.class);
- thrown.expect(hasProperty("code", is("AAI_3001")));
-
- new URIToDBKey(loader, uri);
- }
-
- /**
- * NotValid namespace.
- *
- * @throws JAXBException the JAXB exception
- * @throws DoesNotStartWithValidNamespaceException the AAI exception
- * @throws IllegalArgumentException the illegal argument exception
- * @throws UnsupportedEncodingException the unsupported encoding exception
- */
- @Test
+ URI uri = UriBuilder.fromPath("/aai/" + loader.getVersion() + "/cloud-infrastructure/tenants/tenant/key1/vservers/vserver/key2/l-interadsfaces/l-interface/key3").build();
+
+ thrown.expect(AAIException.class);
+ thrown.expect(hasProperty("code", is("AAI_3001")));
+
+ new URIToDBKey(loader, uri);
+ }
+
+ /**
+ * NotValid namespace.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws DoesNotStartWithValidNamespaceException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ */
+ @Test
public void notValidNamespace() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
- URI uri = UriBuilder.fromPath("/cloud-region/cloud-regions/cloud-region/cloudOwner-key/cloudRegion-key/tenants/tenant/tenantId-key/vservers/vserver/vserverId-key/l-interfaces/l-interface/key3").build();
- thrown.expect(DoesNotStartWithValidNamespaceException.class);
- URIToDBKey parse = new URIToDBKey(loader, uri);
- }
-
-
- /**
- * No valid tokens.
- *
- * @throws JAXBException the JAXB exception
- * @throws AAIException the AAI exception
- * @throws IllegalArgumentException the illegal argument exception
- * @throws UnsupportedEncodingException the unsupported encoding exception
- */
- @Test
+ URI uri = UriBuilder.fromPath("/cloud-region/cloud-regions/cloud-region/cloudOwner-key/cloudRegion-key/tenants/tenant/tenantId-key/vservers/vserver/vserverId-key/l-interfaces/l-interface/key3").build();
+ thrown.expect(DoesNotStartWithValidNamespaceException.class);
+ URIToDBKey parse = new URIToDBKey(loader, uri);
+ }
+
+
+ /**
+ * No valid tokens.
+ *
+ * @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 noValidTokens() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
- URI uri = UriBuilder.fromPath("/aai/" + loader.getVersion() + "/cloud/blah/blah").build();
-
- thrown.expect(AAIException.class);
- thrown.expect(hasProperty("code", is("AAI_3000")));
-
- new URIToDBKey(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
+ URI uri = UriBuilder.fromPath("/aai/" + loader.getVersion() + "/cloud/blah/blah").build();
+
+ thrown.expect(AAIException.class);
+ thrown.expect(hasProperty("code", is("AAI_3000")));
+
+ new URIToDBKey(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("/aai/" + loader.getVersion() + "/cloud-infrastructure/cloud-regions/cloud-region/cloudOwner-key/cloudRegion-key/tenants/tenant/tenantId-key/vservers/vserver/vserverId-key/l-interfaces/l-interface/key3").build();
-
- URIToDBKey parse = new URIToDBKey(loader, uri);
- Object result = parse.getResult();
+ URI uri = UriBuilder.fromPath("/aai/" + loader.getVersion() + "/cloud-infrastructure/cloud-regions/cloud-region/cloudOwner-key/cloudRegion-key/tenants/tenant/tenantId-key/vservers/vserver/vserverId-key/l-interfaces/l-interface/key3").build();
+
+ URIToDBKey parse = new URIToDBKey(loader, uri);
+ Object result = parse.getResult();
- String expected = "cloud-region/tenant/vserver/l-interface";
-
- assertEquals("blah", expected, result);
- }
-
- /**
- * Naming exceptions.
- *
- * @throws IllegalArgumentException the illegal argument exception
- * @throws AAIException the AAI exception
- * @throws UnsupportedEncodingException the unsupported encoding exception
- */
- @Test
+ String expected = "cloud-region/tenant/vserver/l-interface";
+
+ assertEquals("blah", expected, result);
+ }
+
+ /**
+ * Naming exceptions.
+ *
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws AAIException the AAI exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ */
+ @Test
public void namingExceptions() throws IllegalArgumentException, AAIException, UnsupportedEncodingException {
- URI uri = UriBuilder.fromPath("network/vces/vce/key1/port-groups/port-group/key2/cvlan-tags/cvlan-tag/655").build();
- URIToDBKey parse = new URIToDBKey(loader, uri);
- Object result = parse.getResult();
+ URI uri = UriBuilder.fromPath("network/vces/vce/key1/port-groups/port-group/key2/cvlan-tags/cvlan-tag/655").build();
+ URIToDBKey parse = new URIToDBKey(loader, uri);
+ Object result = parse.getResult();
- String expected = "vce/port-group/cvlan-tag";
-
- assertEquals("blah", expected, result);
-
+ String expected = "vce/port-group/cvlan-tag";
+
+ assertEquals("blah", expected, result);
+
}
-
+
}
diff --git a/aai-core/src/test/java/org/onap/aai/parsers/uri/URIToExtensionInformationTest.java b/aai-core/src/test/java/org/onap/aai/parsers/uri/URIToExtensionInformationTest.java
index 4f949f90..cb365bb7 100644
--- a/aai-core/src/test/java/org/onap/aai/parsers/uri/URIToExtensionInformationTest.java
+++ b/aai-core/src/test/java/org/onap/aai/parsers/uri/URIToExtensionInformationTest.java
@@ -37,62 +37,62 @@ import static org.junit.Assert.assertEquals;
public class URIToExtensionInformationTest extends AAISetup {
-
- private Loader v8Loader ;
-
- /**
- * 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
- */
-
- @PostConstruct
- public void createLoader(){
- v8Loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, new SchemaVersion("v8"));
- }
-
- @Test
+
+ private Loader specificLoader ;
+
+ /**
+ * 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
+ */
+
+ @PostConstruct
+ public void createLoader(){
+ specificLoader = loaderFactory.createLoaderForVersion(ModelType.MOXY, new SchemaVersion("v10"));
+ }
+
+ @Test
public void vserversV8() throws JAXBException, AAIException, IllegalArgumentException, UnsupportedEncodingException {
- URI uri = UriBuilder.fromPath("/aai/" + v8Loader.getVersion() + "/cloud-infrastructure/cloud-regions/cloud-region/testOwner1/testRegion1/tenants/tenant/key1/vservers/vserver/key2").build();
- URIToExtensionInformation parse = new URIToExtensionInformation(v8Loader, uri);
-
- String namespace = "cloudInfrastructure";
- String preMethodName = "DynamicAddCloudInfrastructureCloudRegionsCloudRegionTenantsTenantVserversVserverPreProc";
- String postMethodName = "DynamicAddCloudInfrastructureCloudRegionsCloudRegionTenantsTenantVserversVserverPostProc";
- String topLevel = "CloudRegion";
- testSpec(parse, HttpMethod.PUT, namespace, preMethodName, postMethodName, topLevel);
+ URI uri = UriBuilder.fromPath("/aai/" + specificLoader.getVersion() + "/cloud-infrastructure/cloud-regions/cloud-region/testOwner1/testRegion1/tenants/tenant/key1/vservers/vserver/key2").build();
+ URIToExtensionInformation parse = new URIToExtensionInformation(specificLoader, uri);
+
+ String namespace = "cloudInfrastructure";
+ String preMethodName = "DynamicAddCloudInfrastructureCloudRegionsCloudRegionTenantsTenantVserversVserverPreProc";
+ String postMethodName = "DynamicAddCloudInfrastructureCloudRegionsCloudRegionTenantsTenantVserversVserverPostProc";
+ String topLevel = "CloudRegion";
+ testSpec(parse, HttpMethod.PUT, 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) {
-
+ /**
+ * 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);
+ 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);
+ assertEquals("postprocess method name", postMethodName, methodNameResult);
- String topLevelResult = info.getTopObject();
-
- assertEquals("topLevel", topLevel, topLevelResult);
- }
-
-
+ String topLevelResult = info.getTopObject();
+
+ assertEquals("topLevel", topLevel, topLevelResult);
+ }
+
+
}
diff --git a/aai-core/src/test/java/org/onap/aai/parsers/uri/URIToObjectTest.java b/aai-core/src/test/java/org/onap/aai/parsers/uri/URIToObjectTest.java
index fc2c64a1..2bf1e35e 100644
--- a/aai-core/src/test/java/org/onap/aai/parsers/uri/URIToObjectTest.java
+++ b/aai-core/src/test/java/org/onap/aai/parsers/uri/URIToObjectTest.java
@@ -31,6 +31,7 @@ import org.onap.aai.db.props.AAIProperties;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.introspection.*;
import org.onap.aai.introspection.exceptions.AAIUnknownObjectException;
+import org.springframework.test.annotation.DirtiesContext;
import javax.annotation.PostConstruct;
import javax.ws.rs.core.UriBuilder;
@@ -43,214 +44,215 @@ import static org.hamcrest.Matchers.hasProperty;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertEquals;
+@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
public class URIToObjectTest extends AAISetup {
- private SchemaVersion version ;
- private SchemaVersion currentVersion;
- private Loader loader ;
-
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
- /**
- * Uri.
- *
- * @throws JAXBException the JAXB exception
- * @throws AAIException the AAI exception
- * @throws IllegalArgumentException the illegal argument exception
- * @throws UnsupportedEncodingException the unsupported encoding exception
- */
- @PostConstruct
- public void createLoader(){
- version = schemaVersions.getRelatedLinkVersion();
- currentVersion = schemaVersions.getDefaultVersion();
- loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getRelatedLinkVersion());
- }
-
- @Test
+ private SchemaVersion version ;
+ private SchemaVersion currentVersion;
+ private Loader loader ;
+
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+
+ /**
+ * Uri.
+ *
+ * @throws JAXBException the JAXB exception
+ * @throws AAIException the AAI exception
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws UnsupportedEncodingException the unsupported encoding exception
+ */
+ @PostConstruct
+ public void createLoader(){
+ version = schemaVersions.getRelatedLinkVersion();
+ currentVersion = schemaVersions.getDefaultVersion();
+ loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getRelatedLinkVersion());
+ }
+
+ @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
+ 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
+ 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
+ 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
+ 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
- @Ignore
+ 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
+ @Ignore
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";
+ 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);
+
+ }
- 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
+ @Ignore
+ 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);
}
- /**
- * No list object.
- *
- * @throws IllegalArgumentException the illegal argument exception
- * @throws UnsupportedEncodingException the unsupported encoding exception
- * @throws AAIException the AAI exception
- */
- @Test
- @Ignore
- 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
+ @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\"}";
+ 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";
+ String topEntity = "l-interface";
+ String entity = "l-interface";
- testSet(result.marshal(false), parse, expected, topEntity, entity, version);
+ 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, SchemaVersion version) {
- assertEquals("blah", expected, json);
+ /**
+ * 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, SchemaVersion version) {
+ assertEquals("blah", expected, json);
- assertEquals("top entity", topEntity, parse.getTopEntityName());
+ assertEquals("top entity", topEntity, parse.getTopEntityName());
- assertEquals("entity", entity, parse.getEntityName());
+ assertEquals("entity", entity, parse.getEntityName());
- assertEquals("entity object", entity, parse.getEntity().getDbName());
+ assertEquals("entity object", entity, parse.getEntity().getDbName());
- assertEquals("parent list object", 1, parse.getParentList().size());
+ assertEquals("parent list object", 1, parse.getParentList().size());
- assertEquals("object version", version, parse.getObjectVersion());
- }
+ assertEquals("object version", version, parse.getObjectVersion());
+ }
}
diff --git a/aai-core/src/test/java/org/onap/aai/parsers/uri/URIToRelationshipObjectTest.java b/aai-core/src/test/java/org/onap/aai/parsers/uri/URIToRelationshipObjectTest.java
index 29ba1c2d..4d0ec6ca 100644
--- a/aai-core/src/test/java/org/onap/aai/parsers/uri/URIToRelationshipObjectTest.java
+++ b/aai-core/src/test/java/org/onap/aai/parsers/uri/URIToRelationshipObjectTest.java
@@ -41,113 +41,113 @@ import static org.junit.Assert.assertTrue;
public class URIToRelationshipObjectTest extends AAISetup {
- private SchemaVersion latest ;
- private Loader loader;
+ private SchemaVersion latest ;
+ private Loader loader;
- @Rule
- public ExpectedException thrown = ExpectedException.none();
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
- @PostConstruct
- public void createLoader(){
- latest = schemaVersions.getDefaultVersion();
- loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, latest);
- }
- /**
- * 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
+ @PostConstruct
+ public void createLoader(){
+ latest = schemaVersions.getDefaultVersion();
+ loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, latest);
+ }
+ /**
+ * 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\":\"/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
+
+ 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\":\"/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\":\"/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 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\":\"/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\":\"/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));
+ /**
+ * 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\":\"/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\":\"/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
+ }
+
+ /**
+ * 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\":\"/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);
-
- }
+ 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/onap/aai/query/builder/ExcludeQueryTest.java b/aai-core/src/test/java/org/onap/aai/query/builder/ExcludeQueryTest.java
index 73fe2c88..e466de49 100644
--- a/aai-core/src/test/java/org/onap/aai/query/builder/ExcludeQueryTest.java
+++ b/aai-core/src/test/java/org/onap/aai/query/builder/ExcludeQueryTest.java
@@ -48,89 +48,89 @@ import static org.junit.Assert.assertTrue;
@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
public class ExcludeQueryTest extends AAISetup {
- @Autowired
- EdgeSerializer edgeSer;
-
- private Loader loader;
-
- @Before
- public void setup() throws Exception {
- loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
- }
-
- private QueryBuilder<Vertex> buildTestQuery(QueryBuilder<Vertex> qb) throws AAIException{
- return qb.createEdgeTraversal(EdgeType.TREE, "cloud-region","availability-zone").getVerticesExcludeByProperty("hypervisor-type", "hypervisortype-11").store("x").cap("x").unfold().dedup();
- }
-
- @Test
- public void gremlinQueryExcludeTest() throws AAIException {
- Graph graph = TinkerGraph.open();
- GraphTraversalSource g = graph.traversal();
-
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "0", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-owner", "cloud-owner-1");
- Vertex availibityzone = graph.addVertex(T.label, "availability-zone", T.id, "1", "aai-node-type", "availability-zone", "availability-zone-name", "az-name-1", "hypervisor-type", "hypervisortype-1");
- Vertex availibityzone11 = graph.addVertex(T.label, "availability-zone", T.id, "11", "aai-node-type", "availability-zone", "availability-zone-name", "az-name-11", "hypervisor-type", "hypervisortype-11");
-
-
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "3", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-10", "cloud-owner", "cloud-owner-10");
- Vertex availibityzone1 = graph.addVertex(T.label, "availability-zone", T.id, "4", "aai-node-type", "availability-zone", "availability-zone-name", "az-name-10", "hypervisor-type", "hypervisortype-10");
- Vertex availibityzone12 = graph.addVertex(T.label, "availability-zone", T.id, "12", "aai-node-type", "availability-zone", "availability-zone-name", "az-name-12", "hypervisor-type", "hypervisortype-12");
-
- edgeSer.addTreeEdge(g, cloudregion, availibityzone);
- edgeSer.addTreeEdge(g, cloudregion, availibityzone11);
-
-
-
- edgeSer.addTreeEdge(g, cloudregion1, availibityzone1);
- edgeSer.addTreeEdge(g, cloudregion1, availibityzone12);
-
- List<Vertex> expected = new ArrayList<>();
- expected.add(availibityzone);
-
- GremlinTraversal<Vertex> qb = new GremlinTraversal<>(loader, g, cloudregion);
- QueryBuilder q = buildTestQuery(qb);
-
- List<Vertex> results = q.toList();
+ @Autowired
+ EdgeSerializer edgeSer;
+
+ private Loader loader;
+
+ @Before
+ public void setup() throws Exception {
+ loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
+ }
+
+ private QueryBuilder<Vertex> buildTestQuery(QueryBuilder<Vertex> qb) throws AAIException{
+ return qb.createEdgeTraversal(EdgeType.TREE, "cloud-region","availability-zone").getVerticesExcludeByProperty("hypervisor-type", "hypervisortype-11").store("x").cap("x").unfold().dedup();
+ }
+
+ @Test
+ public void gremlinQueryExcludeTest() throws AAIException {
+ Graph graph = TinkerGraph.open();
+ GraphTraversalSource g = graph.traversal();
+
+ Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "0", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-owner", "cloud-owner-1");
+ Vertex availibityzone = graph.addVertex(T.label, "availability-zone", T.id, "1", "aai-node-type", "availability-zone", "availability-zone-name", "az-name-1", "hypervisor-type", "hypervisortype-1");
+ Vertex availibityzone11 = graph.addVertex(T.label, "availability-zone", T.id, "11", "aai-node-type", "availability-zone", "availability-zone-name", "az-name-11", "hypervisor-type", "hypervisortype-11");
+
+
+ Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "3", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-10", "cloud-owner", "cloud-owner-10");
+ Vertex availibityzone1 = graph.addVertex(T.label, "availability-zone", T.id, "4", "aai-node-type", "availability-zone", "availability-zone-name", "az-name-10", "hypervisor-type", "hypervisortype-10");
+ Vertex availibityzone12 = graph.addVertex(T.label, "availability-zone", T.id, "12", "aai-node-type", "availability-zone", "availability-zone-name", "az-name-12", "hypervisor-type", "hypervisortype-12");
+
+ edgeSer.addTreeEdge(g, cloudregion, availibityzone);
+ edgeSer.addTreeEdge(g, cloudregion, availibityzone11);
+
+
+
+ edgeSer.addTreeEdge(g, cloudregion1, availibityzone1);
+ edgeSer.addTreeEdge(g, cloudregion1, availibityzone12);
+
+ List<Vertex> expected = new ArrayList<>();
+ expected.add(availibityzone);
+
+ GremlinTraversal<Vertex> qb = new GremlinTraversal<>(loader, g, cloudregion);
+ QueryBuilder q = buildTestQuery(qb);
+
+ List<Vertex> results = q.toList();
- assertTrue("results match", expected.containsAll(results) && results.containsAll(expected));
- }
+ assertTrue("results match", expected.containsAll(results) && results.containsAll(expected));
+ }
- @Test
- public void traversalQueryExcludeTest() throws AAIException {
- Graph graph = TinkerGraph.open();
- GraphTraversalSource g = graph.traversal();
-
-
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "0", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-owner", "cloud-owner-1");
- Vertex availibityzone = graph.addVertex(T.label, "availability-zone", T.id, "1", "aai-node-type", "availability-zone", "availability-zone-name", "az-name-1", "hypervisor-type", "hypervisortype-1");
- Vertex availibityzone11 = graph.addVertex(T.label, "availability-zone", T.id, "11", "aai-node-type", "availability-zone", "availability-zone-name", "az-name-11", "hypervisor-type", "hypervisortype-11");
-
-
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "3", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-10", "cloud-owner", "cloud-owner-10");
- Vertex availibityzone1 = graph.addVertex(T.label, "availability-zone", T.id, "4", "aai-node-type", "availability-zone", "availability-zone-name", "az-name-10", "hypervisor-type", "hypervisortype-10");
- Vertex availibityzone12 = graph.addVertex(T.label, "availability-zone", T.id, "12", "aai-node-type", "availability-zone", "availability-zone-name", "az-name-12", "hypervisor-type", "hypervisortype-12");
-
- edgeSer.addTreeEdge(g, cloudregion, availibityzone);
- edgeSer.addTreeEdge(g, cloudregion, availibityzone11);
-
-
-
- edgeSer.addTreeEdge(g, cloudregion1, availibityzone1);
- edgeSer.addTreeEdge(g, cloudregion1, availibityzone12);
-
- List<Vertex> expected = new ArrayList<>();
- expected.add(availibityzone);
-
-
-
-
- TraversalQuery<Vertex> qb = new TraversalQuery<>(loader, g, cloudregion);
- QueryBuilder<Vertex> q = buildTestQuery(qb);
-
- List<Vertex> results = q.toList();
+ @Test
+ public void traversalQueryExcludeTest() throws AAIException {
+ Graph graph = TinkerGraph.open();
+ GraphTraversalSource g = graph.traversal();
+
+
+ Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "0", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-owner", "cloud-owner-1");
+ Vertex availibityzone = graph.addVertex(T.label, "availability-zone", T.id, "1", "aai-node-type", "availability-zone", "availability-zone-name", "az-name-1", "hypervisor-type", "hypervisortype-1");
+ Vertex availibityzone11 = graph.addVertex(T.label, "availability-zone", T.id, "11", "aai-node-type", "availability-zone", "availability-zone-name", "az-name-11", "hypervisor-type", "hypervisortype-11");
+
+
+ Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "3", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-10", "cloud-owner", "cloud-owner-10");
+ Vertex availibityzone1 = graph.addVertex(T.label, "availability-zone", T.id, "4", "aai-node-type", "availability-zone", "availability-zone-name", "az-name-10", "hypervisor-type", "hypervisortype-10");
+ Vertex availibityzone12 = graph.addVertex(T.label, "availability-zone", T.id, "12", "aai-node-type", "availability-zone", "availability-zone-name", "az-name-12", "hypervisor-type", "hypervisortype-12");
+
+ edgeSer.addTreeEdge(g, cloudregion, availibityzone);
+ edgeSer.addTreeEdge(g, cloudregion, availibityzone11);
+
+
+
+ edgeSer.addTreeEdge(g, cloudregion1, availibityzone1);
+ edgeSer.addTreeEdge(g, cloudregion1, availibityzone12);
+
+ List<Vertex> expected = new ArrayList<>();
+ expected.add(availibityzone);
+
+
+
+
+ TraversalQuery<Vertex> qb = new TraversalQuery<>(loader, g, cloudregion);
+ QueryBuilder<Vertex> q = buildTestQuery(qb);
+
+ List<Vertex> results = q.toList();
- assertTrue("results match", expected.containsAll(results) && results.containsAll(expected));
- }
+ assertTrue("results match", expected.containsAll(results) && results.containsAll(expected));
+ }
diff --git a/aai-core/src/test/java/org/onap/aai/query/builder/GremlinTraversalTest.java b/aai-core/src/test/java/org/onap/aai/query/builder/GremlinTraversalTest.java
index 6df869fe..7873fc1b 100644
--- a/aai-core/src/test/java/org/onap/aai/query/builder/GremlinTraversalTest.java
+++ b/aai-core/src/test/java/org/onap/aai/query/builder/GremlinTraversalTest.java
@@ -26,48 +26,48 @@ import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.onap.aai.db.props.AAIProperties;
import org.onap.aai.introspection.ModelType;
public class GremlinTraversalTest extends QueryBuilderTestAbstraction {
-
- @Override
- protected QueryBuilder<Edge> getNewEdgeTraversalWithTestEdgeRules(Vertex v) {
- loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
- return new GremlinTraversal<>(loader, g, v);
- }
-
- @Override
- protected QueryBuilder<Edge> getNewEdgeTraversalWithTestEdgeRules() {
- loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
- return new GremlinTraversal<>(loader, g);
- }
-
- @Override
- protected QueryBuilder<Vertex> getNewVertexTraversalWithTestEdgeRules(Vertex v) {
- return new GremlinTraversal<>(loader, g, v);
- }
-
- @Override
- protected QueryBuilder<Vertex> getNewVertexTraversalWithTestEdgeRules() {
- return new GremlinTraversal<>(loader, g);
- }
-
- @Override
- protected QueryBuilder<Tree> getNewTreeTraversalWithTestEdgeRules(Vertex v) {
- return new GremlinTraversal<>(loader, g, v);
- }
+
+ @Override
+ protected QueryBuilder<Edge> getNewEdgeTraversalWithTestEdgeRules(Vertex v) {
+ loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
+ return new GremlinTraversal<>(loader, g, v);
+ }
+
+ @Override
+ protected QueryBuilder<Edge> getNewEdgeTraversalWithTestEdgeRules() {
+ loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
+ return new GremlinTraversal<>(loader, g);
+ }
+
+ @Override
+ protected QueryBuilder<Vertex> getNewVertexTraversalWithTestEdgeRules(Vertex v) {
+ return new GremlinTraversal<>(loader, g, v);
+ }
+
+ @Override
+ protected QueryBuilder<Vertex> getNewVertexTraversalWithTestEdgeRules() {
+ return new GremlinTraversal<>(loader, g);
+ }
+
+ @Override
+ protected QueryBuilder<Tree> getNewTreeTraversalWithTestEdgeRules(Vertex v) {
+ return new GremlinTraversal<>(loader, g, v);
+ }
- @Override
- protected QueryBuilder<Tree> getNewTreeTraversalWithTestEdgeRules() {
- return new GremlinTraversal<>(loader, g);
- }
+ @Override
+ protected QueryBuilder<Tree> getNewTreeTraversalWithTestEdgeRules() {
+ return new GremlinTraversal<>(loader, g);
+ }
- @Override
- protected QueryBuilder<Path> getNewPathTraversalWithTestEdgeRules(Vertex v) {
- return new GremlinTraversal<>(loader, g, v);
- }
+ @Override
+ protected QueryBuilder<Path> getNewPathTraversalWithTestEdgeRules(Vertex v) {
+ return new GremlinTraversal<>(loader, g, v);
+ }
- @Override
- protected QueryBuilder<Path> getNewPathTraversalWithTestEdgeRules() {
- return new GremlinTraversal<>(loader, g);
- }
+ @Override
+ protected QueryBuilder<Path> getNewPathTraversalWithTestEdgeRules() {
+ return new GremlinTraversal<>(loader, g);
+ }
-
+
}
diff --git a/aai-core/src/test/java/org/onap/aai/query/builder/QueryBuilderTestAbstraction.java b/aai-core/src/test/java/org/onap/aai/query/builder/QueryBuilderTestAbstraction.java
index ffb56057..a9f5a60f 100644
--- a/aai-core/src/test/java/org/onap/aai/query/builder/QueryBuilderTestAbstraction.java
+++ b/aai-core/src/test/java/org/onap/aai/query/builder/QueryBuilderTestAbstraction.java
@@ -63,683 +63,685 @@ import static org.junit.Assert.*;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {
- SchemaLocationsBean.class,
- SchemaVersions.class,
- QueryTestsConfigTranslator.class,
- NodeIngestor.class,
- EdgeIngestor.class,
- EdgeSerializer.class,
- SpringContextAware.class,
- IntrospectionConfig.class
+ SchemaLocationsBean.class,
+ SchemaVersions.class,
+ QueryTestsConfigTranslator.class,
+ NodeIngestor.class,
+ EdgeIngestor.class,
+ EdgeSerializer.class,
+ SpringContextAware.class,
+ IntrospectionConfig.class
})
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS)
@TestPropertySource(properties = {
- "schema.translator.list = config"
+ "schema.translator.list = config",
+ "schema.nodes.location=src/test/resources/onap/oxm",
+ "schema.edges.location=src/test/resources/onap/dbedgerules"
})
public abstract class QueryBuilderTestAbstraction {
- protected Loader loader;
- protected static Graph graph;
- protected GraphTraversalSource g;
-
- @Autowired
- protected EdgeSerializer testEdgeSer;
-
- @Autowired
- protected LoaderFactory loaderFactory;
-
- @Autowired
- protected SchemaVersions schemaVersions;
-
- @BeforeClass
- public static void setup() throws Exception {
- System.setProperty("AJSC_HOME", ".");
- System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
- QueryFormatTestHelper.setFinalStatic(AAIConstants.class.getField("AAI_HOME_ETC_OXM"), "src/test/resources/bundleconfig-local/etc/oxm/");
- graph = JanusGraphFactory.build().set("storage.backend", "inmemory").open();
- }
-
- @Before
- public void configure() throws Exception {
- loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
-
-
- g = graph.traversal();
- }
-
- @After
- public void deConfigure() throws Exception {
- g.tx().rollback();
- }
-
- @AfterClass
- public static void teardown() throws Exception {
- graph.close();
- }
-
- @Test
- public void createEdgeGVnfToVnfcTraversal() throws AAIException {
-
- Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","myvnf").next();
- Vertex vnfc = g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
- testEdgeSer.addEdge(g, gvnf, vnfc, "uses");
-
- QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(gvnf);
- tQ.createEdgeTraversal(EdgeType.COUSIN, "generic-vnf", "vnfc");
-
- assertEquals(vnfc, tQ.next());
-
-
- }
-
- @Test
- public void createEdgeLinterfaceToLogicalLinkTraversal() throws AAIException {
-
- Vertex lInterface = g.addV("aai-node-type","l-interface","interface-name","l-interface-a").next();
- Vertex logicalLink = g.addV("aai-node-type","logical-link","link-name","logical-link-a").next();
- testEdgeSer.addEdge(g, lInterface, logicalLink, "sourceLInterface");
-
- QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(lInterface);
- tQ.createEdgeTraversal(EdgeType.COUSIN, "l-interface", "logical-link");
-
- Vertex next = tQ.next();
-
- assertEquals(logicalLink, next);
-
-
- }
-
- @SuppressWarnings("rawtypes")
- @Test
- public void createEdgeLinterfaceToLogicalLinkTraversal_tree() throws AAIException {
- Vertex lInterface = g.addV("aai-node-type","l-interface","interface-name","l-interface-a").next();
- Vertex logicalLink = g.addV("aai-node-type","logical-link","link-name","logical-link-a").next();
- testEdgeSer.addEdge(g, lInterface, logicalLink, "sourceLInterface");
-
- QueryBuilder<Tree> tQ = getNewTreeTraversalWithTestEdgeRules(lInterface).createEdgeTraversal(EdgeType.COUSIN,
- loader.introspectorFromName("l-interface" ), loader.introspectorFromName("logical-link")).tree();
-
- Vertex lInterfaceExpected = graph.traversal().V().has("aai-node-type","l-interface").has("interface-name","l-interface-a").next();
- Vertex logicalLinkExpected = graph.traversal().V().has("aai-node-type", "logical-link").has("link-name","logical-link-a").next();
- Tree tree = tQ.next();
- assertTrue(tree.containsKey(lInterfaceExpected));
- assertTrue(((Tree) tree.get(lInterfaceExpected)).containsKey(logicalLinkExpected));
- }
-
- @SuppressWarnings("rawtypes")
- @Test
- public void createEdgeLinterfaceToLogicalLinkTraversal_Path() throws AAIException {
- Vertex pInterface = g.addV("aai-node-type","p-interface","interface-name","p-interface-a").next();
- Vertex lInterface = g.addV("aai-node-type","l-interface","interface-name","l-interface-a").next();
- Vertex logicalLink = g.addV("aai-node-type","logical-link","link-name","logical-link-a").next();
- testEdgeSer.addEdge(g, lInterface, logicalLink);
- testEdgeSer.addTreeEdge(g, pInterface, lInterface);
-
- QueryBuilder<Path> tQ = getNewPathTraversalWithTestEdgeRules(pInterface).createEdgeTraversal(EdgeType.TREE,
- loader.introspectorFromName("p-interface" ), loader.introspectorFromName("l-interface")).createEdgeTraversal(EdgeType.COUSIN,
- loader.introspectorFromName("l-interface" ), loader.introspectorFromName("logical-link")).path();
-
- Path path = tQ.next();
- assertThat(path.objects(), contains(pInterface, lInterface, logicalLink));
- }
-
- @SuppressWarnings("rawtypes")
- @Test
- public void parentVertexTest() throws AAIException {
- Vertex pInterface = g.addV("aai-node-type","p-interface","interface-name","p-interface-a").next();
- Vertex lInterface = g.addV("aai-node-type","l-interface","interface-name","l-interface-a").next();
-
- testEdgeSer.addTreeEdge(g, pInterface, lInterface);
-
- QueryBuilder<Vertex> tQ = getNewEdgeTraversalWithTestEdgeRules(lInterface).getParentVertex();
-
- Vertex parent = tQ.next();
- assertThat(parent, is(pInterface));
- }
-
-
- @Test
- public void createEdgeLinterfaceToLogicalLinkIntrospectorTraversal() throws AAIException {
-
- Vertex lInterface = g.addV("aai-node-type","l-interface","interface-name","l-interface-a").next();
- Vertex logicalLink = g.addV("aai-node-type","logical-link","link-name","logical-link-a").next();
- testEdgeSer.addEdge(g, lInterface, logicalLink, "sourceLInterface");
-
- QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(lInterface);
- tQ.createEdgeTraversal(EdgeType.COUSIN, loader.introspectorFromName("l-interface"), loader.introspectorFromName("logical-link"));
-
- Vertex next = tQ.next();
-
- assertEquals(logicalLink, next);
-
-
- }
-
- @Test
- public void createEdgeLinterfaceToLogicalLinkVertexToIntrospectorTraversal() throws AAIException {
-
- Vertex lInterface = g.addV("aai-node-type","l-interface","interface-name","l-interface-a").next();
- Vertex logicalLink = g.addV("aai-node-type","logical-link","link-name","logical-link-a").next();
- testEdgeSer.addEdge(g, lInterface, logicalLink, "sourceLInterface");
-
- QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(lInterface);
- tQ.createEdgeTraversal(EdgeType.COUSIN, lInterface, loader.introspectorFromName("logical-link"));
-
- Vertex next = tQ.next();
-
- assertEquals(logicalLink, next);
-
-
- }
-
- @Test
- public void edgeToVertexTraversalTest() throws AAIException {
-
- Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
- Vertex vnfc1 = g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
-
- testEdgeSer.addEdge(g, gvnf, vnfc1);
-
- QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(gvnf);
- tQ.createEdgeTraversal(EdgeType.COUSIN, "generic-vnf", "vnfc");
-
- List<Vertex> list = tQ.toList();
-
- assertEquals("Has 1 vertexes ", 1, list.size());
- assertTrue("Has vertex on the default edge ", list.contains(vnfc1));
-
-
- }
-
- @Test
- public void edgeToVertexTraversalSingleOutRuleTest() throws AAIException {
-
- Vertex vce = g.addV("aai-node-type","vce","vnf-id","vce").next();
- Vertex vnfc1 = g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
-
- testEdgeSer.addEdge(g, vce, vnfc1);
-
- QueryBuilder<Vertex> tQ1 = getNewVertexTraversalWithTestEdgeRules(vce);
- tQ1.createEdgeTraversal(EdgeType.COUSIN, "vce", "vnfc");
-
- QueryBuilder<Vertex> tQ2 = getNewVertexTraversalWithTestEdgeRules(vnfc1);
- tQ2.createEdgeTraversal(EdgeType.COUSIN, "vnfc", "vce");
-
- List<Vertex> list1 = tQ1.toList();
- List<Vertex> list2 = tQ2.toList();
-
- assertEquals("1 - Has 1 vertexes ", 1, list1.size());
- assertTrue("1 - traversal results in vnfc ", list1.contains(vnfc1));
- assertEquals("2 - Has 1 vertexes ", 1, list2.size());
- assertTrue("2 - traversal results in vce ", list2.contains(vce));
-
-
- }
-
- @Test
- public void edgeToVertexTraversalSingleInRuleTest() throws AAIException {
-
- Vertex vce = g.addV("aai-node-type","vce","vnf-id","vce").next();
- Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
-
- testEdgeSer.addEdge(g, vce, pserver);
-
- QueryBuilder<Vertex> tQ1 = getNewVertexTraversalWithTestEdgeRules(vce);
- tQ1.createEdgeTraversal(EdgeType.COUSIN, "vce", "pserver");
-
- List<Vertex> list = tQ1.toList();
-
- assertEquals("1 - Has 1 vertexes ", 1, list.size());
- assertTrue("1 - traversal results in vnfc ", list.contains(pserver));
-
-
- }
-
- @Test
- public void edgeToVertexMultiRuleTraversalTest() throws AAIException {
-
- Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
- Vertex vnfc1 = g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
- Vertex vnfc2 = g.addV("aai-node-type","vnfc","vnfc-name","b-name").next();
-
- testEdgeSer.addEdge(g, gvnf, vnfc1);
- testEdgeSer.addEdge(g, gvnf, vnfc2, "re-uses");
-
- QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(gvnf);
- tQ.createEdgeTraversal(EdgeType.COUSIN, "generic-vnf", "vnfc");
-
- List<Vertex> list = tQ.toList();
-
- assertEquals("Has 2 vertexes ", 2, list.size());
- assertTrue("Has vertex on the default edge ", list.contains(vnfc1));
- assertTrue("Has vertex on the re-uses edge ", list.contains(vnfc2));
-
-
- }
-
- @Test
- public void edgeToVertexMultiLabelTest() throws AAIException {
-
- Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
- Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
- Vertex vnfc1 = g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
-
- testEdgeSer.addEdge(g, gvnf, vnfc1);
- testEdgeSer.addEdge(g, pserver, vnfc1);
-
- QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(vnfc1);
- tQ.createEdgeTraversal(EdgeType.COUSIN, "vnfc", "generic-vnf");
-
- List<Vertex> list = tQ.toList();
-
- assertEquals("Has 1 vertexes ", 1, list.size());
- assertTrue("Only returns the generic vnf vertex", list.contains(gvnf));
-
-
- }
-
- @Test
- public void limitTraversalTest() throws AAIException {
-
- g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
- g.addV("aai-node-type","vnfc","vnfc-name","b-name").next();
-
- QueryBuilder<Vertex> tQ = new GremlinTraversal<>(loader, g);
- tQ.getVerticesByProperty("aai-node-type","vnfc").limit(1);
-
- List<Vertex> list = tQ.toList();
-
- assertEquals("Has 1 vertexes ", 1, list.size());
-
-
- }
-
- @Test
- public void getVertexesByPropertiesTraversalTest() throws AAIException {
-
- g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
- g.addV("aai-node-type","vnfc","vnfc-name","b-name").next();
-
- QueryBuilder<Vertex> tQ = new GremlinTraversal<>(loader, g);
- tQ.getVerticesByProperty("vnfc-name", Arrays.asList("a-name", "b-name"));
-
- List<Vertex> list = tQ.toList();
-
- assertEquals("Has 2 vertexes ", 2, list.size());
-
-
- }
-
- @Test
- public void getVertexesByIndexedPropertyTraversalTest() throws AAIException {
-
- g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
- g.addV("aai-node-type","vnfc","vnfc-name","b-name").next();
-
- QueryBuilder<Vertex> tQ = new GremlinTraversal<>(loader, g);
- tQ.getVerticesByIndexedProperty("aai-node-type","vnfc");
-
- List<Vertex> list = tQ.toList();
-
- assertEquals("Has 2 vertexes ", 2, list.size());
-
-
- }
-
- @Test
- public void dedupTraversalTest() throws AAIException {
-
- Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
- Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
-
- testEdgeSer.addEdge(g, gvnf, pserver);
- testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
-
- QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(gvnf);
- tQ.createEdgeTraversal(EdgeType.COUSIN, "generic-vnf", "pserver").dedup();
-
- List<Vertex> list = tQ.toList();
-
- assertEquals("Has 2 vertexes ", 1, list.size());
- assertTrue("result has pserver ", list.contains(pserver));
-
-
- }
-
- @Test
- public void storeCapTraversalTest() throws AAIException {
-
- Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
- Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
-
- testEdgeSer.addEdge(g, gvnf, pserver);
- testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
-
- GremlinTraversal<BulkSet<Vertex>> tQ = new GremlinTraversal<>(loader, g, gvnf);
- tQ.createEdgeTraversal(EdgeType.COUSIN, "generic-vnf", "pserver").store("x").cap("x");
-
- List<BulkSet<Vertex>> list = tQ.toList();
-
- assertEquals("Has 2 vertexes ", 1, list.size());
- assertEquals("result has pserver ",pserver, list.get(0).iterator().next());
-
-
- }
-
- @Test
- public void storeCapUnfoldTraversalTest() throws AAIException {
-
- Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
- Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
-
- testEdgeSer.addEdge(g, gvnf, pserver);
- testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
-
- QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(gvnf);
- tQ.createEdgeTraversal(EdgeType.COUSIN, "generic-vnf", "pserver").store("x").cap("x").unfold();
-
- List<Vertex> list = tQ.toList();
-
- assertEquals("Has 2 vertexes ", 2, list.size());
- assertTrue("result has pserver ", list.contains(pserver));
-
-
- }
-
- @Test
- public void nextAndHasNextTraversalTest() throws AAIException {
-
- Vertex v1 = g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
- Vertex v2 = g.addV("aai-node-type","vnfc","vnfc-name","b-name").next();
-
- QueryBuilder<Vertex> tQ = new GremlinTraversal<>(loader, g);
- tQ.getVerticesByProperty("aai-node-type","vnfc");
-
- List<Vertex> list = new ArrayList<>();
-
- assertTrue("Has next 1 ",tQ.hasNext());
- list.add(tQ.next());
- assertTrue("Has next 2 ",tQ.hasNext());
- list.add(tQ.next());
- assertFalse("Has next 3 ",tQ.hasNext());
- assertTrue("Has all the vertexes", list.contains(v1) && list.remove(v2));
-
- }
-
- @Test
- public void edgeToVertexMultiRuleOutTraversalTest() throws AAIException {
-
- Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
- Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
-
- testEdgeSer.addEdge(g, gvnf, pserver);
- testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
-
- QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(gvnf);
- tQ.createEdgeTraversal(EdgeType.COUSIN, "generic-vnf", "pserver");
-
- List<Vertex> list = tQ.toList();
-
- assertEquals("Has 2 vertexes ", 2, list.size());
- assertTrue("result has pserver ", list.contains(pserver));
-
-
- }
-
- @Test
- public void edgeToVertexMultiRuleInTraversalTest() throws AAIException {
-
- Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
- Vertex complex = g.addV("aai-node-type","complex","physical-location-id","a-name").next();
-
- testEdgeSer.addEdge(g, gvnf, complex);
- testEdgeSer.addEdge(g, gvnf, complex, "complex-generic-vnf-B");
-
- QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(gvnf);
- tQ.createEdgeTraversal(EdgeType.COUSIN, "generic-vnf", "complex");
-
- List<Vertex> list = tQ.toList();
-
- assertEquals("Has 2 vertexes ", 2, list.size());
- assertTrue("result has pserver ", list.contains(complex));
-
-
- }
-
- @Test
- public void edgeTraversalSingleInRuleTest() throws AAIException {
-
- Vertex vce = g.addV("aai-node-type","vce","vnf-id","vce").next();
- Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
-
- Edge e = testEdgeSer.addEdge(g, vce, pserver);
-
- QueryBuilder<Edge> tQ1 = getNewEdgeTraversalWithTestEdgeRules(vce);
- tQ1.getEdgesBetween(EdgeType.COUSIN, "vce", "pserver");
-
- List<Edge> list = tQ1.toList();
-
- assertEquals("1 - Has 1 edge ", 1, list.size());
- assertTrue("1 - traversal results in edge ", list.contains(e));
-
-
- }
-
- @Test
- public void edgeTraversalSingleOutRuleTest() throws AAIException {
-
- Vertex vce = g.addV("aai-node-type","vce","vnf-id","vce").next();
- Vertex vnfc1 = g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
-
- Edge e = testEdgeSer.addEdge(g, vce, vnfc1);
-
- QueryBuilder<Edge> tQ1 = getNewEdgeTraversalWithTestEdgeRules(vce);
- tQ1.getEdgesBetween(EdgeType.COUSIN, "vce", "vnfc");
-
- List<Edge> list1 = tQ1.toList();
-
- assertEquals("1 - Has 1 edge ", 1, list1.size());
- assertTrue("1 - traversal results in edge ", list1.contains(e));
-
-
- }
-
- @Test
- public void edgeTraversalMultiRuleOutTraversalTest() throws AAIException {
-
- Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
- Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
-
- Edge e1 = testEdgeSer.addEdge(g, gvnf, pserver);
- Edge e2 = testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
-
- QueryBuilder<Edge> tQ = getNewEdgeTraversalWithTestEdgeRules(gvnf);
- tQ.getEdgesBetween(EdgeType.COUSIN, "generic-vnf", "pserver");
-
- List<Edge> list = tQ.toList();
-
- assertEquals("Has 2 edges ", 2, list.size());
- assertTrue("result has default edge ", list.contains(e1));
- assertTrue("result has other edge ", list.contains(e2));
-
-
- }
-
- @Test
- public void edgeTraversalMultiRuleInTraversalTest() throws AAIException {
-
- Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
- Vertex complex = g.addV("aai-node-type","complex","physical-location-id","a-name").next();
-
- Edge e1 = testEdgeSer.addEdge(g, gvnf, complex);
- Edge e2 = testEdgeSer.addEdge(g, gvnf, complex, "complex-generic-vnf-B");
-
- QueryBuilder<Edge> tQ = getNewEdgeTraversalWithTestEdgeRules(gvnf);
- tQ.getEdgesBetween(EdgeType.COUSIN, "generic-vnf", "complex");
-
- List<Edge> list = tQ.toList();
-
- assertEquals("Has 2 edges ", 2, list.size());
- assertTrue("result has default edge ", list.contains(e1));
- assertTrue("result has other edge ", list.contains(e2));
-
-
- }
-
- @Test
- public void edgeTraversalMultiRuleTraversalTest() throws AAIException {
-
- Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
- Vertex vnfc1 = g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
- Vertex vnfc2 = g.addV("aai-node-type","vnfc","vnfc-name","b-name").next();
-
- Edge e1 = testEdgeSer.addEdge(g, gvnf, vnfc1);
- Edge e2 = testEdgeSer.addEdge(g, gvnf, vnfc2, "re-uses");
-
- QueryBuilder<Edge> tQ = getNewEdgeTraversalWithTestEdgeRules(gvnf);
- tQ.getEdgesBetween(EdgeType.COUSIN, "generic-vnf", "vnfc");
-
- List<Edge> list = tQ.toList();
-
- assertEquals("Has 2 edges ", 2, list.size());
- assertTrue("result has default edge ", list.contains(e1));
- assertTrue("result has other edge ", list.contains(e2));
-
-
- }
-
- @Ignore("This test is failing for TraversalQueryTest and Optimized but it passes for GremlinQueryTest")
- @Test (expected = NoEdgeRuleFoundException.class)
- public void getEdgesBetweenWithLabelsEmptyListTest() throws AAIException {
-
- Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
- Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
-
- testEdgeSer.addEdge(g, gvnf, pserver);
- testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
-
- QueryBuilder<Edge> tQ = getNewEdgeTraversalWithTestEdgeRules(gvnf);
- tQ.getEdgesBetweenWithLabels(EdgeType.COUSIN, "generic-vnf", "pserver", Collections.emptyList());
-
- }
-
- @Test
- public void getEdgesBetweenWithLabelsSingleItemTest() throws AAIException {
-
- Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
- Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
-
- Edge e1 = testEdgeSer.addEdge(g, gvnf, pserver);
- Edge e2 = testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
-
- QueryBuilder<Edge> tQ = getNewEdgeTraversalWithTestEdgeRules(gvnf);
- tQ.getEdgesBetweenWithLabels(EdgeType.COUSIN, "generic-vnf", "pserver", Collections.singletonList("generic-vnf-pserver-B"));
-
- List<Edge> list = tQ.toList();
+ protected Loader loader;
+ protected static Graph graph;
+ protected GraphTraversalSource g;
- assertEquals("Has 1 edges ", 1, list.size());
- assertFalse("result does not have default edge ", list.contains(e1));
- assertTrue("result has other edge ", list.contains(e2));
+ @Autowired
+ protected EdgeSerializer testEdgeSer;
- }
+ @Autowired
+ protected LoaderFactory loaderFactory;
- @Test
- public void getEdgesBetweenWithLabelsMultipleItemTest() throws AAIException {
+ @Autowired
+ protected SchemaVersions schemaVersions;
- Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
- Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
+ @BeforeClass
+ public static void setup() throws Exception {
+ System.setProperty("AJSC_HOME", ".");
+ System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
+ QueryFormatTestHelper.setFinalStatic(AAIConstants.class.getField("AAI_HOME_ETC_OXM"), "src/test/resources/bundleconfig-local/etc/oxm/");
+ graph = JanusGraphFactory.build().set("storage.backend", "inmemory").open();
+ }
- Edge e1 = testEdgeSer.addEdge(g, gvnf, pserver);
- Edge e2 = testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
+ @Before
+ public void configure() throws Exception {
+ loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
- QueryBuilder<Edge> tQ = getNewEdgeTraversalWithTestEdgeRules(gvnf);
- tQ.getEdgesBetweenWithLabels(EdgeType.COUSIN, "generic-vnf", "pserver", Arrays.asList("generic-vnf-pserver-B", "generic-vnf-pserver-A"));
- List<Edge> list = tQ.toList();
+ g = graph.traversal();
+ }
- assertEquals("Has 2 edges ", 2, list.size());
- assertTrue("result has generic-vnf-pserver-A edge ", list.contains(e1));
- assertTrue("result has generic-vnf-pserver-B edge ", list.contains(e2));
+ @After
+ public void deConfigure() throws Exception {
+ g.tx().rollback();
+ }
- }
+ @AfterClass
+ public static void teardown() throws Exception {
+ graph.close();
+ }
- @Ignore("This test is failing for TraversalQueryTest and Optimized but it passes for GremlinQueryTest")
- @Test (expected = NoEdgeRuleFoundException.class)
- public void createEdgeTraversalWithLabelsEmptyListTest() throws AAIException {
+ @Test
+ public void createEdgeGVnfToVnfcTraversal() throws AAIException {
- Vertex gvnf = getVertex();
+ Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","myvnf").next();
+ Vertex vnfc = g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
+ testEdgeSer.addEdge(g, gvnf, vnfc, "uses");
- QueryBuilder<Edge> tQ = getNewEdgeTraversalWithTestEdgeRules(gvnf);
- tQ.getEdgesBetweenWithLabels(EdgeType.COUSIN, "generic-vnf", "pserver", Collections.emptyList());
+ QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(gvnf);
+ tQ.createEdgeTraversal(EdgeType.COUSIN, "generic-vnf", "vnfc");
- tQ.toList();
+ assertEquals(vnfc, tQ.next());
- }
+ }
- private Vertex getVertex() throws AAIException {
- Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
- Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
+ @Test
+ public void createEdgeLinterfaceToLogicalLinkTraversal() throws AAIException {
- testEdgeSer.addEdge(g, gvnf, pserver);
- testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
- return gvnf;
- }
+ Vertex lInterface = g.addV("aai-node-type","l-interface","interface-name","l-interface-a").next();
+ Vertex logicalLink = g.addV("aai-node-type","logical-link","link-name","logical-link-a").next();
+ testEdgeSer.addEdge(g, lInterface, logicalLink, "sourceLInterface");
- @Test
- public void createEdgeTraversalWithLabelsSingleItemTest() throws AAIException {
+ QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(lInterface);
+ tQ.createEdgeTraversal(EdgeType.COUSIN, "l-interface", "logical-link");
- Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
- Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
+ Vertex next = tQ.next();
- Edge e1 = testEdgeSer.addEdge(g, gvnf, pserver);
- Edge e2 = testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
+ assertEquals(logicalLink, next);
- QueryBuilder<Edge> tQ = getNewEdgeTraversalWithTestEdgeRules(gvnf);
- tQ.getEdgesBetweenWithLabels(EdgeType.COUSIN, "generic-vnf", "pserver", Collections.singletonList("generic-vnf-pserver-B"));
- List<Edge> list = tQ.toList();
+ }
- assertEquals("Has 1 edges ", 1, list.size());
- assertFalse("result does not have default edge ", list.contains(e1));
- assertTrue("result has other edge ", list.contains(e2));
+ @SuppressWarnings("rawtypes")
+ @Test
+ public void createEdgeLinterfaceToLogicalLinkTraversal_tree() throws AAIException {
+ Vertex lInterface = g.addV("aai-node-type","l-interface","interface-name","l-interface-a").next();
+ Vertex logicalLink = g.addV("aai-node-type","logical-link","link-name","logical-link-a").next();
+ testEdgeSer.addEdge(g, lInterface, logicalLink, "sourceLInterface");
- }
+ QueryBuilder<Tree> tQ = getNewTreeTraversalWithTestEdgeRules(lInterface).createEdgeTraversal(EdgeType.COUSIN,
+ loader.introspectorFromName("l-interface" ), loader.introspectorFromName("logical-link")).tree();
- @Test
- public void createEdgeTraversalWithLabelsMultipleItemTest() throws AAIException {
+ Vertex lInterfaceExpected = graph.traversal().V().has("aai-node-type","l-interface").has("interface-name","l-interface-a").next();
+ Vertex logicalLinkExpected = graph.traversal().V().has("aai-node-type", "logical-link").has("link-name","logical-link-a").next();
+ Tree tree = tQ.next();
+ assertTrue(tree.containsKey(lInterfaceExpected));
+ assertTrue(((Tree) tree.get(lInterfaceExpected)).containsKey(logicalLinkExpected));
+ }
- Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
- Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
+ @SuppressWarnings("rawtypes")
+ @Test
+ public void createEdgeLinterfaceToLogicalLinkTraversal_Path() throws AAIException {
+ Vertex pInterface = g.addV("aai-node-type","p-interface","interface-name","p-interface-a").next();
+ Vertex lInterface = g.addV("aai-node-type","l-interface","interface-name","l-interface-a").next();
+ Vertex logicalLink = g.addV("aai-node-type","logical-link","link-name","logical-link-a").next();
+ testEdgeSer.addEdge(g, lInterface, logicalLink);
+ testEdgeSer.addTreeEdge(g, pInterface, lInterface);
- Edge e1 = testEdgeSer.addEdge(g, gvnf, pserver);
- Edge e2 = testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
+ QueryBuilder<Path> tQ = getNewPathTraversalWithTestEdgeRules(pInterface).createEdgeTraversal(EdgeType.TREE,
+ loader.introspectorFromName("p-interface" ), loader.introspectorFromName("l-interface")).createEdgeTraversal(EdgeType.COUSIN,
+ loader.introspectorFromName("l-interface" ), loader.introspectorFromName("logical-link")).path();
- QueryBuilder<Edge> tQ = getNewEdgeTraversalWithTestEdgeRules(gvnf);
- tQ.getEdgesBetweenWithLabels(EdgeType.COUSIN, "generic-vnf", "pserver", Arrays.asList("generic-vnf-pserver-B", "generic-vnf-pserver-A"));
+ Path path = tQ.next();
+ assertThat(path.objects(), contains(pInterface, lInterface, logicalLink));
+ }
- List<Edge> list = tQ.toList();
+ @SuppressWarnings("rawtypes")
+ @Test
+ public void parentVertexTest() throws AAIException {
+ Vertex pInterface = g.addV("aai-node-type","p-interface","interface-name","p-interface-a").next();
+ Vertex lInterface = g.addV("aai-node-type","l-interface","interface-name","l-interface-a").next();
- assertEquals("Has 2 edges ", 2, list.size());
- assertTrue("result has generic-vnf-pserver-A edge ", list.contains(e1));
- assertTrue("result has generic-vnf-pserver-B edge ", list.contains(e2));
+ testEdgeSer.addTreeEdge(g, pInterface, lInterface);
- }
+ QueryBuilder<Vertex> tQ = getNewEdgeTraversalWithTestEdgeRules(lInterface).getParentVertex();
- protected abstract QueryBuilder<Edge> getNewEdgeTraversalWithTestEdgeRules(Vertex v);
-
- protected abstract QueryBuilder<Edge> getNewEdgeTraversalWithTestEdgeRules();
-
- protected abstract QueryBuilder<Vertex> getNewVertexTraversalWithTestEdgeRules(Vertex v);
-
- protected abstract QueryBuilder<Vertex> getNewVertexTraversalWithTestEdgeRules();
+ Vertex parent = tQ.next();
+ assertThat(parent, is(pInterface));
+ }
- protected abstract QueryBuilder<Tree> getNewTreeTraversalWithTestEdgeRules(Vertex v);
- protected abstract QueryBuilder<Tree> getNewTreeTraversalWithTestEdgeRules();
+ @Test
+ public void createEdgeLinterfaceToLogicalLinkIntrospectorTraversal() throws AAIException {
- protected abstract QueryBuilder<Path> getNewPathTraversalWithTestEdgeRules(Vertex v);
+ Vertex lInterface = g.addV("aai-node-type","l-interface","interface-name","l-interface-a").next();
+ Vertex logicalLink = g.addV("aai-node-type","logical-link","link-name","logical-link-a").next();
+ testEdgeSer.addEdge(g, lInterface, logicalLink, "sourceLInterface");
+
+ QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(lInterface);
+ tQ.createEdgeTraversal(EdgeType.COUSIN, loader.introspectorFromName("l-interface"), loader.introspectorFromName("logical-link"));
+
+ Vertex next = tQ.next();
+
+ assertEquals(logicalLink, next);
+
+
+ }
+
+ @Test
+ public void createEdgeLinterfaceToLogicalLinkVertexToIntrospectorTraversal() throws AAIException {
+
+ Vertex lInterface = g.addV("aai-node-type","l-interface","interface-name","l-interface-a").next();
+ Vertex logicalLink = g.addV("aai-node-type","logical-link","link-name","logical-link-a").next();
+ testEdgeSer.addEdge(g, lInterface, logicalLink, "sourceLInterface");
+
+ QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(lInterface);
+ tQ.createEdgeTraversal(EdgeType.COUSIN, lInterface, loader.introspectorFromName("logical-link"));
+
+ Vertex next = tQ.next();
+
+ assertEquals(logicalLink, next);
+
+
+ }
+
+ @Test
+ public void edgeToVertexTraversalTest() throws AAIException {
+
+ Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
+ Vertex vnfc1 = g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
+
+ testEdgeSer.addEdge(g, gvnf, vnfc1);
+
+ QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(gvnf);
+ tQ.createEdgeTraversal(EdgeType.COUSIN, "generic-vnf", "vnfc");
+
+ List<Vertex> list = tQ.toList();
+
+ assertEquals("Has 1 vertexes ", 1, list.size());
+ assertTrue("Has vertex on the default edge ", list.contains(vnfc1));
+
+
+ }
+
+ @Test
+ public void edgeToVertexTraversalSingleOutRuleTest() throws AAIException {
+
+ Vertex vce = g.addV("aai-node-type","vce","vnf-id","vce").next();
+ Vertex vnfc1 = g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
+
+ testEdgeSer.addEdge(g, vce, vnfc1);
+
+ QueryBuilder<Vertex> tQ1 = getNewVertexTraversalWithTestEdgeRules(vce);
+ tQ1.createEdgeTraversal(EdgeType.COUSIN, "vce", "vnfc");
+
+ QueryBuilder<Vertex> tQ2 = getNewVertexTraversalWithTestEdgeRules(vnfc1);
+ tQ2.createEdgeTraversal(EdgeType.COUSIN, "vnfc", "vce");
+
+ List<Vertex> list1 = tQ1.toList();
+ List<Vertex> list2 = tQ2.toList();
+
+ assertEquals("1 - Has 1 vertexes ", 1, list1.size());
+ assertTrue("1 - traversal results in vnfc ", list1.contains(vnfc1));
+ assertEquals("2 - Has 1 vertexes ", 1, list2.size());
+ assertTrue("2 - traversal results in vce ", list2.contains(vce));
+
+
+ }
+
+ @Test
+ public void edgeToVertexTraversalSingleInRuleTest() throws AAIException {
+
+ Vertex vce = g.addV("aai-node-type","vce","vnf-id","vce").next();
+ Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
+
+ testEdgeSer.addEdge(g, vce, pserver);
+
+ QueryBuilder<Vertex> tQ1 = getNewVertexTraversalWithTestEdgeRules(vce);
+ tQ1.createEdgeTraversal(EdgeType.COUSIN, "vce", "pserver");
+
+ List<Vertex> list = tQ1.toList();
+
+ assertEquals("1 - Has 1 vertexes ", 1, list.size());
+ assertTrue("1 - traversal results in vnfc ", list.contains(pserver));
+
+
+ }
+
+ @Test
+ public void edgeToVertexMultiRuleTraversalTest() throws AAIException {
+
+ Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
+ Vertex vnfc1 = g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
+ Vertex vnfc2 = g.addV("aai-node-type","vnfc","vnfc-name","b-name").next();
+
+ testEdgeSer.addEdge(g, gvnf, vnfc1);
+ testEdgeSer.addEdge(g, gvnf, vnfc2, "re-uses");
+
+ QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(gvnf);
+ tQ.createEdgeTraversal(EdgeType.COUSIN, "generic-vnf", "vnfc");
+
+ List<Vertex> list = tQ.toList();
+
+ assertEquals("Has 2 vertexes ", 2, list.size());
+ assertTrue("Has vertex on the default edge ", list.contains(vnfc1));
+ assertTrue("Has vertex on the re-uses edge ", list.contains(vnfc2));
+
+
+ }
+
+ @Test
+ public void edgeToVertexMultiLabelTest() throws AAIException {
+
+ Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
+ Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
+ Vertex vnfc1 = g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
+
+ testEdgeSer.addEdge(g, gvnf, vnfc1);
+ testEdgeSer.addEdge(g, pserver, vnfc1);
+
+ QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(vnfc1);
+ tQ.createEdgeTraversal(EdgeType.COUSIN, "vnfc", "generic-vnf");
+
+ List<Vertex> list = tQ.toList();
+
+ assertEquals("Has 1 vertexes ", 1, list.size());
+ assertTrue("Only returns the generic vnf vertex", list.contains(gvnf));
+
+
+ }
+
+ @Test
+ public void limitTraversalTest() throws AAIException {
+
+ g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
+ g.addV("aai-node-type","vnfc","vnfc-name","b-name").next();
+
+ QueryBuilder<Vertex> tQ = new GremlinTraversal<>(loader, g);
+ tQ.getVerticesByProperty("aai-node-type","vnfc").limit(1);
+
+ List<Vertex> list = tQ.toList();
+
+ assertEquals("Has 1 vertexes ", 1, list.size());
+
+
+ }
+
+ @Test
+ public void getVertexesByPropertiesTraversalTest() throws AAIException {
+
+ g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
+ g.addV("aai-node-type","vnfc","vnfc-name","b-name").next();
+
+ QueryBuilder<Vertex> tQ = new GremlinTraversal<>(loader, g);
+ tQ.getVerticesByProperty("vnfc-name", Arrays.asList("a-name", "b-name"));
+
+ List<Vertex> list = tQ.toList();
+
+ assertEquals("Has 2 vertexes ", 2, list.size());
+
+
+ }
+
+ @Test
+ public void getVertexesByIndexedPropertyTraversalTest() throws AAIException {
+
+ g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
+ g.addV("aai-node-type","vnfc","vnfc-name","b-name").next();
+
+ QueryBuilder<Vertex> tQ = new GremlinTraversal<>(loader, g);
+ tQ.getVerticesByIndexedProperty("aai-node-type","vnfc");
+
+ List<Vertex> list = tQ.toList();
+
+ assertEquals("Has 2 vertexes ", 2, list.size());
+
+
+ }
+
+ @Test
+ public void dedupTraversalTest() throws AAIException {
+
+ Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
+ Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
+
+ testEdgeSer.addEdge(g, gvnf, pserver);
+ testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
+
+ QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(gvnf);
+ tQ.createEdgeTraversal(EdgeType.COUSIN, "generic-vnf", "pserver").dedup();
+
+ List<Vertex> list = tQ.toList();
+
+ assertEquals("Has 2 vertexes ", 1, list.size());
+ assertTrue("result has pserver ", list.contains(pserver));
+
+
+ }
+
+ @Test
+ public void storeCapTraversalTest() throws AAIException {
+
+ Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
+ Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
+
+ testEdgeSer.addEdge(g, gvnf, pserver);
+ testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
+
+ GremlinTraversal<BulkSet<Vertex>> tQ = new GremlinTraversal<>(loader, g, gvnf);
+ tQ.createEdgeTraversal(EdgeType.COUSIN, "generic-vnf", "pserver").store("x").cap("x");
+
+ List<BulkSet<Vertex>> list = tQ.toList();
+
+ assertEquals("Has 2 vertexes ", 1, list.size());
+ assertEquals("result has pserver ",pserver, list.get(0).iterator().next());
+
+
+ }
+
+ @Test
+ public void storeCapUnfoldTraversalTest() throws AAIException {
+
+ Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
+ Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
+
+ testEdgeSer.addEdge(g, gvnf, pserver);
+ testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
+
+ QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(gvnf);
+ tQ.createEdgeTraversal(EdgeType.COUSIN, "generic-vnf", "pserver").store("x").cap("x").unfold();
+
+ List<Vertex> list = tQ.toList();
+
+ assertEquals("Has 2 vertexes ", 2, list.size());
+ assertTrue("result has pserver ", list.contains(pserver));
+
+
+ }
+
+ @Test
+ public void nextAndHasNextTraversalTest() throws AAIException {
+
+ Vertex v1 = g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
+ Vertex v2 = g.addV("aai-node-type","vnfc","vnfc-name","b-name").next();
+
+ QueryBuilder<Vertex> tQ = new GremlinTraversal<>(loader, g);
+ tQ.getVerticesByProperty("aai-node-type","vnfc");
+
+ List<Vertex> list = new ArrayList<>();
+
+ assertTrue("Has next 1 ",tQ.hasNext());
+ list.add(tQ.next());
+ assertTrue("Has next 2 ",tQ.hasNext());
+ list.add(tQ.next());
+ assertFalse("Has next 3 ",tQ.hasNext());
+ assertTrue("Has all the vertexes", list.contains(v1) && list.remove(v2));
+
+ }
+
+ @Test
+ public void edgeToVertexMultiRuleOutTraversalTest() throws AAIException {
+
+ Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
+ Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
+
+ testEdgeSer.addEdge(g, gvnf, pserver);
+ testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
+
+ QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(gvnf);
+ tQ.createEdgeTraversal(EdgeType.COUSIN, "generic-vnf", "pserver");
+
+ List<Vertex> list = tQ.toList();
+
+ assertEquals("Has 2 vertexes ", 2, list.size());
+ assertTrue("result has pserver ", list.contains(pserver));
+
+
+ }
+
+ @Test
+ public void edgeToVertexMultiRuleInTraversalTest() throws AAIException {
+
+ Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
+ Vertex complex = g.addV("aai-node-type","complex","physical-location-id","a-name").next();
+
+ testEdgeSer.addEdge(g, gvnf, complex);
+ testEdgeSer.addEdge(g, gvnf, complex, "complex-generic-vnf-B");
+
+ QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(gvnf);
+ tQ.createEdgeTraversal(EdgeType.COUSIN, "generic-vnf", "complex");
+
+ List<Vertex> list = tQ.toList();
+
+ assertEquals("Has 2 vertexes ", 2, list.size());
+ assertTrue("result has pserver ", list.contains(complex));
+
+
+ }
+
+ @Test
+ public void edgeTraversalSingleInRuleTest() throws AAIException {
+
+ Vertex vce = g.addV("aai-node-type","vce","vnf-id","vce").next();
+ Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
+
+ Edge e = testEdgeSer.addEdge(g, vce, pserver);
+
+ QueryBuilder<Edge> tQ1 = getNewEdgeTraversalWithTestEdgeRules(vce);
+ tQ1.getEdgesBetween(EdgeType.COUSIN, "vce", "pserver");
+
+ List<Edge> list = tQ1.toList();
+
+ assertEquals("1 - Has 1 edge ", 1, list.size());
+ assertTrue("1 - traversal results in edge ", list.contains(e));
+
+
+ }
+
+ @Test
+ public void edgeTraversalSingleOutRuleTest() throws AAIException {
+
+ Vertex vce = g.addV("aai-node-type","vce","vnf-id","vce").next();
+ Vertex vnfc1 = g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
+
+ Edge e = testEdgeSer.addEdge(g, vce, vnfc1);
+
+ QueryBuilder<Edge> tQ1 = getNewEdgeTraversalWithTestEdgeRules(vce);
+ tQ1.getEdgesBetween(EdgeType.COUSIN, "vce", "vnfc");
+
+ List<Edge> list1 = tQ1.toList();
+
+ assertEquals("1 - Has 1 edge ", 1, list1.size());
+ assertTrue("1 - traversal results in edge ", list1.contains(e));
+
+
+ }
+
+ @Test
+ public void edgeTraversalMultiRuleOutTraversalTest() throws AAIException {
+
+ Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
+ Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
+
+ Edge e1 = testEdgeSer.addEdge(g, gvnf, pserver);
+ Edge e2 = testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
+
+ QueryBuilder<Edge> tQ = getNewEdgeTraversalWithTestEdgeRules(gvnf);
+ tQ.getEdgesBetween(EdgeType.COUSIN, "generic-vnf", "pserver");
+
+ List<Edge> list = tQ.toList();
+
+ assertEquals("Has 2 edges ", 2, list.size());
+ assertTrue("result has default edge ", list.contains(e1));
+ assertTrue("result has other edge ", list.contains(e2));
+
+
+ }
+
+ @Test
+ public void edgeTraversalMultiRuleInTraversalTest() throws AAIException {
+
+ Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
+ Vertex complex = g.addV("aai-node-type","complex","physical-location-id","a-name").next();
+
+ Edge e1 = testEdgeSer.addEdge(g, gvnf, complex);
+ Edge e2 = testEdgeSer.addEdge(g, gvnf, complex, "complex-generic-vnf-B");
+
+ QueryBuilder<Edge> tQ = getNewEdgeTraversalWithTestEdgeRules(gvnf);
+ tQ.getEdgesBetween(EdgeType.COUSIN, "generic-vnf", "complex");
+
+ List<Edge> list = tQ.toList();
+
+ assertEquals("Has 2 edges ", 2, list.size());
+ assertTrue("result has default edge ", list.contains(e1));
+ assertTrue("result has other edge ", list.contains(e2));
+
+
+ }
+
+ @Test
+ public void edgeTraversalMultiRuleTraversalTest() throws AAIException {
+
+ Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
+ Vertex vnfc1 = g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
+ Vertex vnfc2 = g.addV("aai-node-type","vnfc","vnfc-name","b-name").next();
+
+ Edge e1 = testEdgeSer.addEdge(g, gvnf, vnfc1);
+ Edge e2 = testEdgeSer.addEdge(g, gvnf, vnfc2, "re-uses");
+
+ QueryBuilder<Edge> tQ = getNewEdgeTraversalWithTestEdgeRules(gvnf);
+ tQ.getEdgesBetween(EdgeType.COUSIN, "generic-vnf", "vnfc");
+
+ List<Edge> list = tQ.toList();
+
+ assertEquals("Has 2 edges ", 2, list.size());
+ assertTrue("result has default edge ", list.contains(e1));
+ assertTrue("result has other edge ", list.contains(e2));
+
+
+ }
+
+ @Ignore("This test is failing for TraversalQueryTest and Optimized but it passes for GremlinQueryTest")
+ @Test (expected = NoEdgeRuleFoundException.class)
+ public void getEdgesBetweenWithLabelsEmptyListTest() throws AAIException {
+
+ Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
+ Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
+
+ testEdgeSer.addEdge(g, gvnf, pserver);
+ testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
+
+ QueryBuilder<Edge> tQ = getNewEdgeTraversalWithTestEdgeRules(gvnf);
+ tQ.getEdgesBetweenWithLabels(EdgeType.COUSIN, "generic-vnf", "pserver", Collections.emptyList());
+
+ }
+
+ @Test
+ public void getEdgesBetweenWithLabelsSingleItemTest() throws AAIException {
+
+ Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
+ Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
+
+ Edge e1 = testEdgeSer.addEdge(g, gvnf, pserver);
+ Edge e2 = testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
+
+ QueryBuilder<Edge> tQ = getNewEdgeTraversalWithTestEdgeRules(gvnf);
+ tQ.getEdgesBetweenWithLabels(EdgeType.COUSIN, "generic-vnf", "pserver", Collections.singletonList("generic-vnf-pserver-B"));
+
+ List<Edge> list = tQ.toList();
+
+ assertEquals("Has 1 edges ", 1, list.size());
+ assertFalse("result does not have default edge ", list.contains(e1));
+ assertTrue("result has other edge ", list.contains(e2));
+
+ }
+
+ @Test
+ public void getEdgesBetweenWithLabelsMultipleItemTest() throws AAIException {
+
+ Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
+ Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
+
+ Edge e1 = testEdgeSer.addEdge(g, gvnf, pserver);
+ Edge e2 = testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
+
+ QueryBuilder<Edge> tQ = getNewEdgeTraversalWithTestEdgeRules(gvnf);
+ tQ.getEdgesBetweenWithLabels(EdgeType.COUSIN, "generic-vnf", "pserver", Arrays.asList("generic-vnf-pserver-B", "generic-vnf-pserver-A"));
+
+ List<Edge> list = tQ.toList();
+
+ assertEquals("Has 2 edges ", 2, list.size());
+ assertTrue("result has generic-vnf-pserver-A edge ", list.contains(e1));
+ assertTrue("result has generic-vnf-pserver-B edge ", list.contains(e2));
+
+ }
+
+ @Ignore("This test is failing for TraversalQueryTest and Optimized but it passes for GremlinQueryTest")
+ @Test (expected = NoEdgeRuleFoundException.class)
+ public void createEdgeTraversalWithLabelsEmptyListTest() throws AAIException {
+
+ Vertex gvnf = getVertex();
+
+ QueryBuilder<Edge> tQ = getNewEdgeTraversalWithTestEdgeRules(gvnf);
+ tQ.getEdgesBetweenWithLabels(EdgeType.COUSIN, "generic-vnf", "pserver", Collections.emptyList());
+
+ tQ.toList();
+
+
+ }
+
+ private Vertex getVertex() throws AAIException {
+ Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
+ Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
+
+ testEdgeSer.addEdge(g, gvnf, pserver);
+ testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
+ return gvnf;
+ }
+
+ @Test
+ public void createEdgeTraversalWithLabelsSingleItemTest() throws AAIException {
+
+ Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
+ Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
+
+ Edge e1 = testEdgeSer.addEdge(g, gvnf, pserver);
+ Edge e2 = testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
+
+ QueryBuilder<Edge> tQ = getNewEdgeTraversalWithTestEdgeRules(gvnf);
+ tQ.getEdgesBetweenWithLabels(EdgeType.COUSIN, "generic-vnf", "pserver", Collections.singletonList("generic-vnf-pserver-B"));
+
+ List<Edge> list = tQ.toList();
+
+ assertEquals("Has 1 edges ", 1, list.size());
+ assertFalse("result does not have default edge ", list.contains(e1));
+ assertTrue("result has other edge ", list.contains(e2));
+
+ }
+
+ @Test
+ public void createEdgeTraversalWithLabelsMultipleItemTest() throws AAIException {
+
+ Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
+ Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
+
+ Edge e1 = testEdgeSer.addEdge(g, gvnf, pserver);
+ Edge e2 = testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
+
+ QueryBuilder<Edge> tQ = getNewEdgeTraversalWithTestEdgeRules(gvnf);
+ tQ.getEdgesBetweenWithLabels(EdgeType.COUSIN, "generic-vnf", "pserver", Arrays.asList("generic-vnf-pserver-B", "generic-vnf-pserver-A"));
+
+ List<Edge> list = tQ.toList();
+
+ assertEquals("Has 2 edges ", 2, list.size());
+ assertTrue("result has generic-vnf-pserver-A edge ", list.contains(e1));
+ assertTrue("result has generic-vnf-pserver-B edge ", list.contains(e2));
+
+ }
+
+ protected abstract QueryBuilder<Edge> getNewEdgeTraversalWithTestEdgeRules(Vertex v);
+
+ protected abstract QueryBuilder<Edge> getNewEdgeTraversalWithTestEdgeRules();
+
+ protected abstract QueryBuilder<Vertex> getNewVertexTraversalWithTestEdgeRules(Vertex v);
+
+ protected abstract QueryBuilder<Vertex> getNewVertexTraversalWithTestEdgeRules();
+
+ protected abstract QueryBuilder<Tree> getNewTreeTraversalWithTestEdgeRules(Vertex v);
+
+ protected abstract QueryBuilder<Tree> getNewTreeTraversalWithTestEdgeRules();
+
+ protected abstract QueryBuilder<Path> getNewPathTraversalWithTestEdgeRules(Vertex v);
+
+ protected abstract QueryBuilder<Path> getNewPathTraversalWithTestEdgeRules();
- protected abstract QueryBuilder<Path> getNewPathTraversalWithTestEdgeRules();
-
}
diff --git a/aai-core/src/test/java/org/onap/aai/query/builder/QueryTestsConfigTranslator.java b/aai-core/src/test/java/org/onap/aai/query/builder/QueryTestsConfigTranslator.java
index 5cadb895..b1dc9df6 100644
--- a/aai-core/src/test/java/org/onap/aai/query/builder/QueryTestsConfigTranslator.java
+++ b/aai-core/src/test/java/org/onap/aai/query/builder/QueryTestsConfigTranslator.java
@@ -33,22 +33,22 @@ import org.onap.aai.setup.SchemaVersions;
*/
public class QueryTestsConfigTranslator extends AbstractConfigTranslator {
- public QueryTestsConfigTranslator(SchemaLocationsBean bean, SchemaVersions schemaVersions) {
- super(bean, schemaVersions);
- }
-
-
- /* (non-Javadoc)
- * @see org.onap.aai.setup.ConfigTranslator#getEdgeFiles()
- */
- @Override
- public Map<SchemaVersion, List<String>> getEdgeFiles() {
- String file = "src/test/resources/dbedgerules/DbEdgeRules_TraversalQueryTest.json";
- Map<SchemaVersion, List<String>> files = new TreeMap<>();
- List<String> container = new ArrayList<>();
- container.add(file);
- files.put(schemaVersions.getDefaultVersion(), container);
- return files;
- }
+ public QueryTestsConfigTranslator(SchemaLocationsBean bean, SchemaVersions schemaVersions) {
+ super(bean, schemaVersions);
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.onap.aai.setup.ConfigTranslator#getEdgeFiles()
+ */
+ @Override
+ public Map<SchemaVersion, List<String>> getEdgeFiles() {
+ String file = "src/test/resources/dbedgerules/DbEdgeRules_TraversalQueryTest.json";
+ Map<SchemaVersion, List<String>> files = new TreeMap<>();
+ List<String> container = new ArrayList<>();
+ container.add(file);
+ files.put(schemaVersions.getDefaultVersion(), container);
+ return files;
+ }
}
diff --git a/aai-core/src/test/java/org/onap/aai/query/builder/SimplePathTest.java b/aai-core/src/test/java/org/onap/aai/query/builder/SimplePathTest.java
index 68340fd3..0a987c95 100644
--- a/aai-core/src/test/java/org/onap/aai/query/builder/SimplePathTest.java
+++ b/aai-core/src/test/java/org/onap/aai/query/builder/SimplePathTest.java
@@ -43,80 +43,80 @@ import static org.junit.Assert.assertTrue;
@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
public class SimplePathTest extends AAISetup {
- public Loader loader;
-
- @Autowired
- EdgeSerializer edgeSer;
-
- @Before
- public void setup() throws Exception {
- loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
- }
+ public Loader loader;
+
+ @Autowired
+ EdgeSerializer edgeSer;
+
+ @Before
+ public void setup() throws Exception {
+ loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
+ }
- private QueryBuilder<Vertex> buildTestQuery(QueryBuilder<Vertex> qb) throws AAIException {
- return qb.createEdgeTraversal(EdgeType.TREE, "generic-vnf", "l-interface")
- .until(qb.newInstance().getVerticesByProperty("aai-node-type", "generic-vnf"))
- .repeat(qb.newInstance().union(
- qb.newInstance().createEdgeTraversal(EdgeType.TREE, "generic-vnf", "l-interface"),
- qb.newInstance().createEdgeTraversal(EdgeType.TREE, "l-interface", "generic-vnf"),
- qb.newInstance().createEdgeTraversal(EdgeType.COUSIN, "l-interface", "logical-link"),
- qb.newInstance().createEdgeTraversal(EdgeType.COUSIN, "logical-link", "l-interface")
- ).simplePath())
- .store("x").cap("x").unfold().dedup();
- }
-
- private GraphTraversalSource setupGraph() throws AAIException{
- Graph graph = TinkerGraph.open();
- GraphTraversalSource g = graph.traversal();
-
- Vertex gvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "00", "aai-node-type", "generic-vnf",
- "vnf-id", "gvnf1", "vnf-name", "genvnfname1", "nf-type", "sample-nf-type");
+ private QueryBuilder<Vertex> buildTestQuery(QueryBuilder<Vertex> qb) throws AAIException {
+ return qb.createEdgeTraversal(EdgeType.TREE, "generic-vnf", "l-interface")
+ .until(qb.newInstance().getVerticesByProperty("aai-node-type", "generic-vnf"))
+ .repeat(qb.newInstance().union(
+ qb.newInstance().createEdgeTraversal(EdgeType.TREE, "generic-vnf", "l-interface"),
+ qb.newInstance().createEdgeTraversal(EdgeType.TREE, "l-interface", "generic-vnf"),
+ qb.newInstance().createEdgeTraversal(EdgeType.COUSIN, "l-interface", "logical-link"),
+ qb.newInstance().createEdgeTraversal(EdgeType.COUSIN, "logical-link", "l-interface")
+ ).simplePath())
+ .store("x").cap("x").unfold().dedup();
+ }
+
+ private GraphTraversalSource setupGraph() throws AAIException{
+ Graph graph = TinkerGraph.open();
+ GraphTraversalSource g = graph.traversal();
+
+ Vertex gvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "00", "aai-node-type", "generic-vnf",
+ "vnf-id", "gvnf1", "vnf-name", "genvnfname1", "nf-type", "sample-nf-type");
- Vertex lint1 = graph.addVertex(T.label, "l-interface", T.id, "10", "aai-node-type", "l-interface",
- "interface-name", "lint1", "is-port-mirrored", "true", "in-maint", "true", "is-ip-unnumbered", "false");
-
- Vertex loglink1 = graph.addVertex(T.label, "logical-link", T.id, "20", "aai-node-type", "logical-link",
- "link-name", "loglink1", "in-maint", "false", "link-type", "sausage");
-
- Vertex lint2 = graph.addVertex(T.label, "l-interface", T.id, "11", "aai-node-type", "l-interface",
- "interface-name", "lint2", "is-port-mirrored", "true", "in-maint", "true", "is-ip-unnumbered", "false");
-
- Vertex lint3 = graph.addVertex(T.label, "l-interface", T.id, "12", "aai-node-type", "l-interface",
- "interface-name", "lint3", "is-port-mirrored", "true", "in-maint", "true", "is-ip-unnumbered", "false");
-
- Vertex gvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "01", "aai-node-type", "generic-vnf",
- "vnf-id", "gvnf2", "vnf-name", "genvnfname2", "nf-type", "sample-nf-type");
-
- edgeSer.addTreeEdge(g, gvnf1, lint1);
- edgeSer.addEdge(g, lint1, loglink1);
- edgeSer.addEdge(g, loglink1, lint2);
- edgeSer.addEdge(g, loglink1, lint3);
- edgeSer.addTreeEdge(g, gvnf2, lint3);
-
- return g;
- }
-
- @Test
- public void gremlinQueryTest() throws AAIException {
- GraphTraversalSource g = setupGraph();
- List<Vertex> expected = g.V("01").toList();
- Vertex start = g.V("00").toList().get(0);
-
- GremlinTraversal<Vertex> qb = new GremlinTraversal<>(loader, g, start);
- QueryBuilder<Vertex> q = buildTestQuery(qb);
- List<Vertex> results = q.toList();
- assertTrue("results match", expected.containsAll(results) && results.containsAll(expected));
- }
+ Vertex lint1 = graph.addVertex(T.label, "l-interface", T.id, "10", "aai-node-type", "l-interface",
+ "interface-name", "lint1", "is-port-mirrored", "true", "in-maint", "true", "is-ip-unnumbered", "false");
+
+ Vertex loglink1 = graph.addVertex(T.label, "logical-link", T.id, "20", "aai-node-type", "logical-link",
+ "link-name", "loglink1", "in-maint", "false", "link-type", "sausage");
+
+ Vertex lint2 = graph.addVertex(T.label, "l-interface", T.id, "11", "aai-node-type", "l-interface",
+ "interface-name", "lint2", "is-port-mirrored", "true", "in-maint", "true", "is-ip-unnumbered", "false");
+
+ Vertex lint3 = graph.addVertex(T.label, "l-interface", T.id, "12", "aai-node-type", "l-interface",
+ "interface-name", "lint3", "is-port-mirrored", "true", "in-maint", "true", "is-ip-unnumbered", "false");
+
+ Vertex gvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "01", "aai-node-type", "generic-vnf",
+ "vnf-id", "gvnf2", "vnf-name", "genvnfname2", "nf-type", "sample-nf-type");
+
+ edgeSer.addTreeEdge(g, gvnf1, lint1);
+ edgeSer.addEdge(g, lint1, loglink1);
+ edgeSer.addEdge(g, loglink1, lint2);
+ edgeSer.addEdge(g, loglink1, lint3);
+ edgeSer.addTreeEdge(g, gvnf2, lint3);
+
+ return g;
+ }
+
+ @Test
+ public void gremlinQueryTest() throws AAIException {
+ GraphTraversalSource g = setupGraph();
+ List<Vertex> expected = g.V("01").toList();
+ Vertex start = g.V("00").toList().get(0);
+
+ GremlinTraversal<Vertex> qb = new GremlinTraversal<>(loader, g, start);
+ QueryBuilder<Vertex> q = buildTestQuery(qb);
+ List<Vertex> results = q.toList();
+ assertTrue("results match", expected.containsAll(results) && results.containsAll(expected));
+ }
- @Test
- public void traversalQueryTest() throws AAIException {
- GraphTraversalSource g = setupGraph();
- List<Vertex> expected = g.V("01").toList();
- Vertex start = g.V("00").toList().get(0);
-
- TraversalQuery<Vertex> qb = new TraversalQuery<>(loader, g, start);
- QueryBuilder<Vertex> q = buildTestQuery(qb);
- List<Vertex> results = q.toList();
- assertTrue("results match", expected.containsAll(results) && results.containsAll(expected));
- }
+ @Test
+ public void traversalQueryTest() throws AAIException {
+ GraphTraversalSource g = setupGraph();
+ List<Vertex> expected = g.V("01").toList();
+ Vertex start = g.V("00").toList().get(0);
+
+ TraversalQuery<Vertex> qb = new TraversalQuery<>(loader, g, start);
+ QueryBuilder<Vertex> q = buildTestQuery(qb);
+ List<Vertex> results = q.toList();
+ assertTrue("results match", expected.containsAll(results) && results.containsAll(expected));
+ }
}
diff --git a/aai-core/src/test/java/org/onap/aai/query/builder/TraversalQueryTest.java b/aai-core/src/test/java/org/onap/aai/query/builder/TraversalQueryTest.java
index 148f38e6..f82166bf 100644
--- a/aai-core/src/test/java/org/onap/aai/query/builder/TraversalQueryTest.java
+++ b/aai-core/src/test/java/org/onap/aai/query/builder/TraversalQueryTest.java
@@ -40,232 +40,232 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
public class TraversalQueryTest extends QueryBuilderTestAbstraction {
-
- @Override
- protected QueryBuilder<Edge> getNewEdgeTraversalWithTestEdgeRules(Vertex v) {
- return new TraversalQuery<>(loader, g, v);
- }
-
- @Override
- protected QueryBuilder<Edge> getNewEdgeTraversalWithTestEdgeRules() {
- return new TraversalQuery<>(loader, g);
- }
-
- @Override
- protected QueryBuilder<Vertex> getNewVertexTraversalWithTestEdgeRules(Vertex v) {
- return new TraversalQuery<>(loader, g, v);
- }
-
- @Override
- protected QueryBuilder<Vertex> getNewVertexTraversalWithTestEdgeRules() {
- return new TraversalQuery<>(loader, g);
- }
+
+ @Override
+ protected QueryBuilder<Edge> getNewEdgeTraversalWithTestEdgeRules(Vertex v) {
+ return new TraversalQuery<>(loader, g, v);
+ }
+
+ @Override
+ protected QueryBuilder<Edge> getNewEdgeTraversalWithTestEdgeRules() {
+ return new TraversalQuery<>(loader, g);
+ }
+
+ @Override
+ protected QueryBuilder<Vertex> getNewVertexTraversalWithTestEdgeRules(Vertex v) {
+ return new TraversalQuery<>(loader, g, v);
+ }
+
+ @Override
+ protected QueryBuilder<Vertex> getNewVertexTraversalWithTestEdgeRules() {
+ return new TraversalQuery<>(loader, g);
+ }
- protected QueryBuilder<Vertex> getNewVertexTraversal() {
- return new TraversalQuery<>(loader, g);
- }
-
- @Override
- protected QueryBuilder<Tree> getNewTreeTraversalWithTestEdgeRules(Vertex v) {
- return new TraversalQuery<>(loader, g, v);
- }
+ protected QueryBuilder<Vertex> getNewVertexTraversal() {
+ return new TraversalQuery<>(loader, g);
+ }
+
+ @Override
+ protected QueryBuilder<Tree> getNewTreeTraversalWithTestEdgeRules(Vertex v) {
+ return new TraversalQuery<>(loader, g, v);
+ }
- @Override
- protected QueryBuilder<Tree> getNewTreeTraversalWithTestEdgeRules() {
- return new TraversalQuery<>(loader, g);
- }
+ @Override
+ protected QueryBuilder<Tree> getNewTreeTraversalWithTestEdgeRules() {
+ return new TraversalQuery<>(loader, g);
+ }
- @Override
- protected QueryBuilder<Path> getNewPathTraversalWithTestEdgeRules(Vertex v) {
- return new TraversalQuery<>(loader, g, v);
- }
+ @Override
+ protected QueryBuilder<Path> getNewPathTraversalWithTestEdgeRules(Vertex v) {
+ return new TraversalQuery<>(loader, g, v);
+ }
- @Override
- protected QueryBuilder<Path> getNewPathTraversalWithTestEdgeRules() {
- return new TraversalQuery<>(loader, g);
- }
-
- @Test
- public void unionQuery() {
- QueryBuilder<Vertex> tQ = getNewVertexTraversal();
- QueryBuilder<Vertex> tQ2 = getNewVertexTraversal();
- QueryBuilder<Vertex> tQ3 = getNewVertexTraversal();
- tQ.union(
- tQ2.getVerticesByProperty("test1", "value1"),
- tQ3.getVerticesByIndexedProperty("test2", "value2"));
+ @Override
+ protected QueryBuilder<Path> getNewPathTraversalWithTestEdgeRules() {
+ return new TraversalQuery<>(loader, g);
+ }
+
+ @Test
+ public void unionQuery() {
+ QueryBuilder<Vertex> tQ = getNewVertexTraversal();
+ QueryBuilder<Vertex> tQ2 = getNewVertexTraversal();
+ QueryBuilder<Vertex> tQ3 = getNewVertexTraversal();
+ tQ.union(
+ tQ2.getVerticesByProperty("test1", "value1"),
+ tQ3.getVerticesByIndexedProperty("test2", "value2"));
- GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
- .union(__.has("test1", "value1"),__.has("test2", "value2"));
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+ .union(__.has("test1", "value1"),__.has("test2", "value2"));
- assertEquals("they are equal", expected, tQ.getQuery());
+ assertEquals("they are equal", expected, tQ.getQuery());
- }
+ }
- @Test
- public void traversalClones() throws UnsupportedEncodingException, AAIException, URISyntaxException {
- QueryBuilder<Vertex> tQ = getNewVertexTraversal();
- QueryBuilder<Vertex> builder = tQ.createQueryFromURI(new URI("network/generic-vnfs/generic-vnf/key1")).getQueryBuilder();
- GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start().has("vnf-id", "key1").has("aai-node-type", "generic-vnf");
- GraphTraversal<Vertex, Vertex> containerExpected = __.<Vertex>start().has("aai-node-type", "generic-vnf");
+ @Test
+ public void traversalClones() throws UnsupportedEncodingException, AAIException, URISyntaxException {
+ QueryBuilder<Vertex> tQ = getNewVertexTraversal();
+ QueryBuilder<Vertex> builder = tQ.createQueryFromURI(new URI("network/generic-vnfs/generic-vnf/key1")).getQueryBuilder();
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start().has("vnf-id", "key1").has("aai-node-type", "generic-vnf");
+ GraphTraversal<Vertex, Vertex> containerExpected = __.<Vertex>start().has("aai-node-type", "generic-vnf");
- assertEquals("query object", expected.toString(), builder.getQuery().toString());
- assertEquals("container query object", containerExpected.toString(), builder.getContainerQuery().getQuery().toString());
+ assertEquals("query object", expected.toString(), builder.getQuery().toString());
+ assertEquals("container query object", containerExpected.toString(), builder.getContainerQuery().getQuery().toString());
- }
+ }
- // TODO - Identify why this unit test is failing and if this
- // is going to cause any problems
- @Test
- @Ignore("Not working ever since the change to using model driven development")
- public void nestedTraversalClones() throws UnsupportedEncodingException, AAIException, URISyntaxException {
+ // TODO - Identify why this unit test is failing and if this
+ // is going to cause any problems
+ @Test
+ @Ignore("Not working ever since the change to using model driven development")
+ public void nestedTraversalClones() throws UnsupportedEncodingException, AAIException, URISyntaxException {
- QueryBuilder<Vertex> tQ = getNewVertexTraversal();
- QueryBuilder<Vertex> builder = tQ.createQueryFromURI(new URI("network/generic-vnfs/generic-vnf/key1/l-interfaces/l-interface/key2")).getQueryBuilder();
- GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
- .has("vnf-id", "key1")
- .has("aai-node-type", "generic-vnf")
- .in("org.onap.relationships.inventory.BelongsTo").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")
- .in("org.onap.relationships.inventory.BelongsTo")
- .has(AAIProperties.NODE_TYPE, "l-interface");
-
- assertEquals("query object", expected.toString(), builder.getQuery().toString());
- assertEquals("container query object", containerExpected.toString(), builder.getContainerQuery().getQuery().toString());
-
+ QueryBuilder<Vertex> tQ = getNewVertexTraversal();
+ QueryBuilder<Vertex> builder = tQ.createQueryFromURI(new URI("network/generic-vnfs/generic-vnf/key1/l-interfaces/l-interface/key2")).getQueryBuilder();
+ GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+ .has("vnf-id", "key1")
+ .has("aai-node-type", "generic-vnf")
+ .in("org.onap.relationships.inventory.BelongsTo").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")
+ .in("org.onap.relationships.inventory.BelongsTo")
+ .has(AAIProperties.NODE_TYPE, "l-interface");
+
+ assertEquals("query object", expected.toString(), builder.getQuery().toString());
+ assertEquals("container query object", containerExpected.toString(), builder.getContainerQuery().getQuery().toString());
+
- }
-
- @Test
- public void abstractEdgeToVertexTraversalTest() throws AAIException {
-
- Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
- Vertex vnfc1 = g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
-
- testEdgeSer.addEdge(g, gvnf, vnfc1);
-
- QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(gvnf);
- tQ.createEdgeTraversal(EdgeType.COUSIN, "vnf", "vnfc");
-
- List<Vertex> list = tQ.toList();
+ }
+
+ @Test
+ public void abstractEdgeToVertexTraversalTest() throws AAIException {
+
+ Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
+ Vertex vnfc1 = g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
+
+ testEdgeSer.addEdge(g, gvnf, vnfc1);
+
+ QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(gvnf);
+ tQ.createEdgeTraversal(EdgeType.COUSIN, "vnf", "vnfc");
+
+ List<Vertex> list = tQ.toList();
- assertEquals("Has 1 vertexes ", 1, list.size());
- assertTrue("Has vertex on the default edge ", list.contains(vnfc1));
-
+ assertEquals("Has 1 vertexes ", 1, list.size());
+ assertTrue("Has vertex on the default edge ", list.contains(vnfc1));
+
- }
-
- @Test
- public void abstractEdgeToVertexTraversalSingleOutRuleTest() throws AAIException {
-
- Vertex vce = g.addV("aai-node-type","vce","vnf-id","vce").next();
- Vertex vnfc1 = g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
-
- testEdgeSer.addEdge(g, vce, vnfc1);
-
- QueryBuilder<Vertex> tQ1 = getNewVertexTraversalWithTestEdgeRules(vce);
- tQ1.createEdgeTraversal(EdgeType.COUSIN, "vnf", "vnfc");
-
- QueryBuilder<Vertex> tQ2 = getNewVertexTraversalWithTestEdgeRules(vnfc1);
- tQ2.createEdgeTraversal(EdgeType.COUSIN, "vnfc", "vnf");
-
- List<Vertex> list1 = tQ1.toList();
- List<Vertex> list2 = tQ2.toList();
-
- assertEquals("1 - Has 1 vertexes ", 1, list1.size());
- assertTrue("1 - traversal results in vnfc ", list1.contains(vnfc1));
- assertEquals("2 - Has 1 vertexes ", 1, list2.size());
- assertTrue("2 - traversal results in vce ", list2.contains(vce));
-
+ }
+
+ @Test
+ public void abstractEdgeToVertexTraversalSingleOutRuleTest() throws AAIException {
+
+ Vertex vce = g.addV("aai-node-type","vce","vnf-id","vce").next();
+ Vertex vnfc1 = g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
+
+ testEdgeSer.addEdge(g, vce, vnfc1);
+
+ QueryBuilder<Vertex> tQ1 = getNewVertexTraversalWithTestEdgeRules(vce);
+ tQ1.createEdgeTraversal(EdgeType.COUSIN, "vnf", "vnfc");
+
+ QueryBuilder<Vertex> tQ2 = getNewVertexTraversalWithTestEdgeRules(vnfc1);
+ tQ2.createEdgeTraversal(EdgeType.COUSIN, "vnfc", "vnf");
+
+ List<Vertex> list1 = tQ1.toList();
+ List<Vertex> list2 = tQ2.toList();
+
+ assertEquals("1 - Has 1 vertexes ", 1, list1.size());
+ assertTrue("1 - traversal results in vnfc ", list1.contains(vnfc1));
+ assertEquals("2 - Has 1 vertexes ", 1, list2.size());
+ assertTrue("2 - traversal results in vce ", list2.contains(vce));
+
- }
-
- @Test
- public void abstractEdgeToVertexTraversalSingleInRuleTest() throws AAIException {
-
- Vertex vce = g.addV("aai-node-type","vce","vnf-id","vce").next();
- Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
-
- testEdgeSer.addEdge(g, vce, pserver);
-
- QueryBuilder<Vertex> tQ1 = getNewVertexTraversalWithTestEdgeRules(vce);
- tQ1.createEdgeTraversal(EdgeType.COUSIN, "vnf", "pserver");
-
- List<Vertex> list = tQ1.toList();
+ }
+
+ @Test
+ public void abstractEdgeToVertexTraversalSingleInRuleTest() throws AAIException {
+
+ Vertex vce = g.addV("aai-node-type","vce","vnf-id","vce").next();
+ Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
+
+ testEdgeSer.addEdge(g, vce, pserver);
+
+ QueryBuilder<Vertex> tQ1 = getNewVertexTraversalWithTestEdgeRules(vce);
+ tQ1.createEdgeTraversal(EdgeType.COUSIN, "vnf", "pserver");
+
+ List<Vertex> list = tQ1.toList();
- assertEquals("1 - Has 1 vertexes ", 1, list.size());
- assertTrue("1 - traversal results in vnfc ", list.contains(pserver));
-
+ assertEquals("1 - Has 1 vertexes ", 1, list.size());
+ assertTrue("1 - traversal results in vnfc ", list.contains(pserver));
+
- }
-
- @Test
- public void abstractEdgeToVertexMultiRuleTraversalTest() throws AAIException {
-
- Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
- Vertex vnfc1 = g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
- Vertex vnfc2 = g.addV("aai-node-type","vnfc","vnfc-name","b-name").next();
-
- testEdgeSer.addEdge(g, gvnf, vnfc1);
- testEdgeSer.addEdge(g, gvnf, vnfc2, "re-uses");
-
- QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(gvnf);
- tQ.createEdgeTraversal(EdgeType.COUSIN, "vnf", "vnfc");
-
- List<Vertex> list = tQ.toList();
+ }
+
+ @Test
+ public void abstractEdgeToVertexMultiRuleTraversalTest() throws AAIException {
+
+ Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
+ Vertex vnfc1 = g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
+ Vertex vnfc2 = g.addV("aai-node-type","vnfc","vnfc-name","b-name").next();
+
+ testEdgeSer.addEdge(g, gvnf, vnfc1);
+ testEdgeSer.addEdge(g, gvnf, vnfc2, "re-uses");
+
+ QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(gvnf);
+ tQ.createEdgeTraversal(EdgeType.COUSIN, "vnf", "vnfc");
+
+ List<Vertex> list = tQ.toList();
- assertEquals("Has 2 vertexes ", 2, list.size());
- assertTrue("Has vertex on the default edge ", list.contains(vnfc1));
- assertTrue("Has vertex on the re-uses edge ", list.contains(vnfc2));
-
+ assertEquals("Has 2 vertexes ", 2, list.size());
+ assertTrue("Has vertex on the default edge ", list.contains(vnfc1));
+ assertTrue("Has vertex on the re-uses edge ", list.contains(vnfc2));
+
- }
-
- @Test
- public void abstractEdgeToVertexMultiRuleOutTraversalTest() throws AAIException {
-
- Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
- Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
-
- testEdgeSer.addEdge(g, gvnf, pserver);
- testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
-
- QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(gvnf);
- tQ.createEdgeTraversal(EdgeType.COUSIN, "vnf", "pserver");
-
- List<Vertex> list = tQ.toList();
-
- assertEquals("Has 2 vertexes ", 2, list.size());
- assertTrue("result has pserver ", list.contains(pserver));
-
+ }
+
+ @Test
+ public void abstractEdgeToVertexMultiRuleOutTraversalTest() throws AAIException {
+
+ Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
+ Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
+
+ testEdgeSer.addEdge(g, gvnf, pserver);
+ testEdgeSer.addEdge(g, gvnf, pserver, "generic-vnf-pserver-B");
+
+ QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(gvnf);
+ tQ.createEdgeTraversal(EdgeType.COUSIN, "vnf", "pserver");
+
+ List<Vertex> list = tQ.toList();
+
+ assertEquals("Has 2 vertexes ", 2, list.size());
+ assertTrue("result has pserver ", list.contains(pserver));
+
- }
-
- @Test
- public void abstractEdgeToVertexMultiRuleInTraversalTest() throws AAIException {
-
- Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
- Vertex complex = g.addV("aai-node-type","complex","physical-location-id","a-name").next();
-
- testEdgeSer.addEdge(g, gvnf, complex);
- testEdgeSer.addEdge(g, gvnf, complex, "complex-generic-vnf-B");
-
- QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(gvnf);
- tQ.createEdgeTraversal(EdgeType.COUSIN, "vnf", "complex");
-
- List<Vertex> list = tQ.toList();
-
- assertEquals("Has 2 vertexes ", 2, list.size());
- assertTrue("result has pserver ", list.contains(complex));
-
+ }
+
+ @Test
+ public void abstractEdgeToVertexMultiRuleInTraversalTest() throws AAIException {
+
+ Vertex gvnf = g.addV("aai-node-type","generic-vnf","vnf-id","gvnf").next();
+ Vertex complex = g.addV("aai-node-type","complex","physical-location-id","a-name").next();
+
+ testEdgeSer.addEdge(g, gvnf, complex);
+ testEdgeSer.addEdge(g, gvnf, complex, "complex-generic-vnf-B");
+
+ QueryBuilder<Vertex> tQ = getNewVertexTraversalWithTestEdgeRules(gvnf);
+ tQ.createEdgeTraversal(EdgeType.COUSIN, "vnf", "complex");
+
+ List<Vertex> list = tQ.toList();
+
+ assertEquals("Has 2 vertexes ", 2, list.size());
+ assertTrue("result has pserver ", list.contains(complex));
+
- }
+ }
-
+
}
diff --git a/aai-core/src/test/java/org/onap/aai/query/builder/TraversalURIOptimizedQueryTest.java b/aai-core/src/test/java/org/onap/aai/query/builder/TraversalURIOptimizedQueryTest.java
index a4d0977b..8ec01aaa 100644
--- a/aai-core/src/test/java/org/onap/aai/query/builder/TraversalURIOptimizedQueryTest.java
+++ b/aai-core/src/test/java/org/onap/aai/query/builder/TraversalURIOptimizedQueryTest.java
@@ -25,49 +25,49 @@ import org.apache.tinkerpop.gremlin.structure.Edge;
import org.apache.tinkerpop.gremlin.structure.Vertex;
public class TraversalURIOptimizedQueryTest extends TraversalQueryTest {
- @Override
- protected QueryBuilder<Edge> getNewEdgeTraversalWithTestEdgeRules(Vertex v) {
- return new TraversalURIOptimizedQuery<>(loader, g, v);
- }
+ @Override
+ protected QueryBuilder<Edge> getNewEdgeTraversalWithTestEdgeRules(Vertex v) {
+ return new TraversalURIOptimizedQuery<>(loader, g, v);
+ }
- @Override
- protected QueryBuilder<Edge> getNewEdgeTraversalWithTestEdgeRules() {
- return new TraversalURIOptimizedQuery<>(loader, g);
- }
+ @Override
+ protected QueryBuilder<Edge> getNewEdgeTraversalWithTestEdgeRules() {
+ return new TraversalURIOptimizedQuery<>(loader, g);
+ }
- @Override
- protected QueryBuilder<Vertex> getNewVertexTraversalWithTestEdgeRules(Vertex v) {
- return new TraversalURIOptimizedQuery<>(loader, g, v);
- }
+ @Override
+ protected QueryBuilder<Vertex> getNewVertexTraversalWithTestEdgeRules(Vertex v) {
+ return new TraversalURIOptimizedQuery<>(loader, g, v);
+ }
- @Override
- protected QueryBuilder<Vertex> getNewVertexTraversalWithTestEdgeRules() {
- return new TraversalURIOptimizedQuery<>(loader, g);
- }
+ @Override
+ protected QueryBuilder<Vertex> getNewVertexTraversalWithTestEdgeRules() {
+ return new TraversalURIOptimizedQuery<>(loader, g);
+ }
- @Override
- protected QueryBuilder<Vertex> getNewVertexTraversal() {
- return new TraversalURIOptimizedQuery<>(loader, g);
- }
+ @Override
+ protected QueryBuilder<Vertex> getNewVertexTraversal() {
+ return new TraversalURIOptimizedQuery<>(loader, g);
+ }
- @Override
- protected QueryBuilder<Tree> getNewTreeTraversalWithTestEdgeRules(Vertex v) {
- return new TraversalURIOptimizedQuery<>(loader, g, v);
- }
+ @Override
+ protected QueryBuilder<Tree> getNewTreeTraversalWithTestEdgeRules(Vertex v) {
+ return new TraversalURIOptimizedQuery<>(loader, g, v);
+ }
- @Override
- protected QueryBuilder<Tree> getNewTreeTraversalWithTestEdgeRules() {
- return new TraversalURIOptimizedQuery<>(loader, g);
- }
+ @Override
+ protected QueryBuilder<Tree> getNewTreeTraversalWithTestEdgeRules() {
+ return new TraversalURIOptimizedQuery<>(loader, g);
+ }
- @Override
- protected QueryBuilder<Path> getNewPathTraversalWithTestEdgeRules(Vertex v) {
- return new TraversalURIOptimizedQuery<>(loader, g, v);
- }
+ @Override
+ protected QueryBuilder<Path> getNewPathTraversalWithTestEdgeRules(Vertex v) {
+ return new TraversalURIOptimizedQuery<>(loader, g, v);
+ }
- @Override
- protected QueryBuilder<Path> getNewPathTraversalWithTestEdgeRules() {
- return new TraversalURIOptimizedQuery<>(loader, g);
- }
+ @Override
+ protected QueryBuilder<Path> getNewPathTraversalWithTestEdgeRules() {
+ return new TraversalURIOptimizedQuery<>(loader, g);
+ }
}
diff --git a/aai-core/src/test/java/org/onap/aai/query/builder/UntilTest.java b/aai-core/src/test/java/org/onap/aai/query/builder/UntilTest.java
index cb67500a..c5290375 100644
--- a/aai-core/src/test/java/org/onap/aai/query/builder/UntilTest.java
+++ b/aai-core/src/test/java/org/onap/aai/query/builder/UntilTest.java
@@ -45,71 +45,71 @@ import static org.junit.Assert.assertTrue;
@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
public class UntilTest extends AAISetup {
- private Loader loader;
-
- @Autowired
- EdgeSerializer edgeSer;
-
- @Before
- public void setup() throws Exception {
- loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
- }
-
- private QueryBuilder<Vertex> buildTestQuery(QueryBuilder<Vertex> qb) throws AAIException{
- return qb.until(qb.newInstance().getVerticesByProperty("aai-node-type", "l-interface")).repeat(
- qb.newInstance().union(
- qb.newInstance().createEdgeTraversal(EdgeType.TREE, "cloud-region", "tenant"),
- qb.newInstance().createEdgeTraversal(EdgeType.TREE, "tenant", "vserver"),
- qb.newInstance().createEdgeTraversal(EdgeType.TREE, "vserver", "l-interface")
- )).store("x").cap("x").unfold().dedup();
- }
-
- @Test
- public void gremlinQueryUntilTest() throws AAIException {
- Graph graph = TinkerGraph.open();
- GraphTraversalSource g = graph.traversal();
-
- Vertex v1 = graph.addVertex(T.id, 1, "aai-node-type", "cloud-region");
- Vertex v2 = graph.addVertex(T.id, 2, "aai-node-type", "tenant");
- Vertex v3 = graph.addVertex(T.id, 3, "aai-node-type", "vserver");
- Vertex v4 = graph.addVertex(T.id, 4, "aai-node-type", "l-interface");
- edgeSer.addTreeEdge(g, v1, v2);
- edgeSer.addTreeEdge(g, v2, v3);
- edgeSer.addTreeEdge(g, v3, v4);
- List<Vertex> expected = new ArrayList<>();
- expected.add(v4);
-
- GremlinTraversal<Vertex> qb = new GremlinTraversal<>(loader, g, v1);
- QueryBuilder q = buildTestQuery(qb);
-
- List<Vertex> results = q.toList();
+ private Loader loader;
+
+ @Autowired
+ EdgeSerializer edgeSer;
+
+ @Before
+ public void setup() throws Exception {
+ loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
+ }
+
+ private QueryBuilder<Vertex> buildTestQuery(QueryBuilder<Vertex> qb) throws AAIException{
+ return qb.until(qb.newInstance().getVerticesByProperty("aai-node-type", "l-interface")).repeat(
+ qb.newInstance().union(
+ qb.newInstance().createEdgeTraversal(EdgeType.TREE, "cloud-region", "tenant"),
+ qb.newInstance().createEdgeTraversal(EdgeType.TREE, "tenant", "vserver"),
+ qb.newInstance().createEdgeTraversal(EdgeType.TREE, "vserver", "l-interface")
+ )).store("x").cap("x").unfold().dedup();
+ }
+
+ @Test
+ public void gremlinQueryUntilTest() throws AAIException {
+ Graph graph = TinkerGraph.open();
+ GraphTraversalSource g = graph.traversal();
+
+ Vertex v1 = graph.addVertex(T.id, 1, "aai-node-type", "cloud-region");
+ Vertex v2 = graph.addVertex(T.id, 2, "aai-node-type", "tenant");
+ Vertex v3 = graph.addVertex(T.id, 3, "aai-node-type", "vserver");
+ Vertex v4 = graph.addVertex(T.id, 4, "aai-node-type", "l-interface");
+ edgeSer.addTreeEdge(g, v1, v2);
+ edgeSer.addTreeEdge(g, v2, v3);
+ edgeSer.addTreeEdge(g, v3, v4);
+ List<Vertex> expected = new ArrayList<>();
+ expected.add(v4);
+
+ GremlinTraversal<Vertex> qb = new GremlinTraversal<>(loader, g, v1);
+ QueryBuilder q = buildTestQuery(qb);
+
+ List<Vertex> results = q.toList();
- assertTrue("results match", expected.containsAll(results) && results.containsAll(expected));
- }
+ assertTrue("results match", expected.containsAll(results) && results.containsAll(expected));
+ }
- @Test
- public void traversalQueryUntilTest() throws AAIException {
- Graph graph = TinkerGraph.open();
- GraphTraversalSource g = graph.traversal();
-
- Vertex v1 = graph.addVertex(T.id, 1, "aai-node-type", "cloud-region");
- Vertex v2 = graph.addVertex(T.id, 2, "aai-node-type", "tenant");
- Vertex v3 = graph.addVertex(T.id, 3, "aai-node-type", "vserver");
- Vertex v4 = graph.addVertex(T.id, 4, "aai-node-type", "l-interface");
- edgeSer.addTreeEdge(g, v1, v2);
- edgeSer.addTreeEdge(g, v2, v3);
- edgeSer.addTreeEdge(g, v3, v4);
- List<Vertex> expected = new ArrayList<>();
- expected.add(v4);
-
- TraversalQuery<Vertex> qb = new TraversalQuery<>(loader, g, v1);
- QueryBuilder<Vertex> q = buildTestQuery(qb);
-
- List<Vertex> results = q.toList();
+ @Test
+ public void traversalQueryUntilTest() throws AAIException {
+ Graph graph = TinkerGraph.open();
+ GraphTraversalSource g = graph.traversal();
+
+ Vertex v1 = graph.addVertex(T.id, 1, "aai-node-type", "cloud-region");
+ Vertex v2 = graph.addVertex(T.id, 2, "aai-node-type", "tenant");
+ Vertex v3 = graph.addVertex(T.id, 3, "aai-node-type", "vserver");
+ Vertex v4 = graph.addVertex(T.id, 4, "aai-node-type", "l-interface");
+ edgeSer.addTreeEdge(g, v1, v2);
+ edgeSer.addTreeEdge(g, v2, v3);
+ edgeSer.addTreeEdge(g, v3, v4);
+ List<Vertex> expected = new ArrayList<>();
+ expected.add(v4);
+
+ TraversalQuery<Vertex> qb = new TraversalQuery<>(loader, g, v1);
+ QueryBuilder<Vertex> q = buildTestQuery(qb);
+
+ List<Vertex> results = q.toList();
- assertTrue("results match", expected.containsAll(results) && results.containsAll(expected));
- }
-
-
+ assertTrue("results match", expected.containsAll(results) && results.containsAll(expected));
+ }
+
+
}
diff --git a/aai-core/src/test/java/org/onap/aai/query/builder/optimization/AbstractGraphTraversalBuilderOptmizationTest.java b/aai-core/src/test/java/org/onap/aai/query/builder/optimization/AbstractGraphTraversalBuilderOptmizationTest.java
index 29ca7425..c8134b2d 100644
--- a/aai-core/src/test/java/org/onap/aai/query/builder/optimization/AbstractGraphTraversalBuilderOptmizationTest.java
+++ b/aai-core/src/test/java/org/onap/aai/query/builder/optimization/AbstractGraphTraversalBuilderOptmizationTest.java
@@ -51,159 +51,159 @@ import static org.junit.Assert.assertEquals;
public abstract class AbstractGraphTraversalBuilderOptmizationTest extends AAISetup{
- protected static final List<String> RANDOM_VALUES = Arrays.asList("A","B","C","D","E");
-
- protected static final String crUriPattern = "/cloud-infrastructure/cloud-regions/cloud-region/%s/%s";
- protected static final String tenantUriPatternSuffix = "/tenants/tenant/%s";
- protected static final String tenantUriPattern = crUriPattern + tenantUriPatternSuffix;
- protected static final String vserverUriPatternSuffix = "/vservers/vserver/%s";
- protected static final String vserverUriPattern = tenantUriPattern + vserverUriPatternSuffix;
-
- public static final String VSERVER_ID = "vserver-id";
- public static final String TENANT_ID = "tenant-id";
- public static final String TENANT_NAME = "tenant-name";
- public static final String PROV_STATUS = "prov-status";
- public static final String VSERVER_NAME = "vserver-name";
- public static final String VSERVER_SELFLINK = "vserver-selflink";
- public static final String TENANT = "tenant";
- public static final String VSERVER = "vserver";
- public static final String CLOUD_REGION = "cloud-region";
- public static final String CLOUD_REGION_ID = "cloud-region-id";
- public static final String CLOUD_OWNER = "cloud-owner";
-
- private static final ModelType introspectorFactoryType = ModelType.MOXY;
- private static final QueryStyle queryStyle = QueryStyle.TRAVERSAL;
- private static final DBConnectionType type = DBConnectionType.REALTIME;
- private static TransactionalGraphEngine dbEngine;
- private static DBSerializer dbser;
- protected static Loader loader;
- protected static Graph graph;
- protected static GraphTraversalSource g;
- @Autowired
- private static EdgeSerializer edgeSer;
-
- protected static Random rand;
-
-
- protected void setupData(int tenantNum, int vserverPerTenantNum, String prefix) throws Exception{
- loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, schemaVersions.getDefaultVersion());
- graph = AAIGraph.getInstance().getGraph();
-
- dbEngine = new JanusGraphDBEngine(queryStyle, type, loader);
- g = dbEngine.startTransaction().traversal();
- dbser = new DBSerializer(schemaVersions.getDefaultVersion(), dbEngine, introspectorFactoryType, "AAI-TEST-" + prefix);
-
- rand = new Random();
-
- Vertex cr;
- Vertex tenant;
- Vertex vserver;
- String crUri;
- String tenantUri;
- String vserverUri;
- System.out.println("Data load started");
- long startTime = System.currentTimeMillis();
- for (int crCtr = 0; crCtr < 3; crCtr++) {
- crUri = String.format(crUriPattern, prefix + "cloud-owner-" + crCtr, prefix + "cloud-region-id-" + crCtr);
- //System.out.println(crUri);
- cr = g.addV(AAIProperties.NODE_TYPE, CLOUD_REGION,
- CLOUD_REGION_ID, prefix + "cloud-region-id-" + crCtr,
- CLOUD_OWNER, prefix + "cloud-owner-" + crCtr,
- AAIProperties.AAI_URI, crUri
- ).next();
- for (int i = 0; i < tenantNum; i++) {
- Introspector intro = loader.introspectorFromName(TENANT);
- tenant = dbser.createNewVertex(intro);
- edgeSer.addTreeEdge(g, cr, tenant);
- intro.setValue(TENANT_ID, prefix + "tenant-id-" + i);
- intro.setValue(TENANT_NAME, prefix + "tenant-name-" + i);
- dbser.serializeSingleVertex(tenant, intro, "AAI-TEST-" + prefix);
- //System.out.println("Tenant " + crCtr + " " + i);
- for (int j = 0; j < vserverPerTenantNum; j++) {
- intro = loader.introspectorFromName(VSERVER);
- vserver = dbser.createNewVertex(intro);
- edgeSer.addTreeEdge(g, tenant, vserver);
- intro.setValue(VSERVER_ID, prefix + "vserver-id-" + i + "-" + j);
- intro.setValue(VSERVER_NAME, prefix + "vserver-name-" + i + "-" + j);
- intro.setValue(PROV_STATUS, RANDOM_VALUES.get(rand.nextInt(RANDOM_VALUES.size())));
- intro.setValue(VSERVER_SELFLINK, RANDOM_VALUES.get(rand.nextInt(RANDOM_VALUES.size())));
- dbser.serializeSingleVertex(vserver, intro, "AAI-TEST-" + prefix);
- //System.out.println("Vserver " + crCtr + " " + i + " " + j);
- }
- }
- }
- //g.V().forEachRemaining(v -> v.properties().forEachRemaining(p -> System.out.println(p.key() + " : " + p.value())));
- //g.E().forEachRemaining(e -> System.out.println(e.outVertex().property(AAIProperties.NODE_TYPE).value() + " : " + e.inVertex().property(AAIProperties.NODE_TYPE).value()));
- long time = System.currentTimeMillis()-startTime;
- System.out.println("Data load ended\n" + time);
-
- }
-
- @After
- public void deConfigure() throws Exception {
- }
-
- @AfterClass
- public static void teardown() throws Exception {
- dbEngine.rollback();
- System.out.println("Done");
- }
-
- protected void execute(Method getQueryMethod, int numResultsExpected) throws Exception{
-
- int iterations = numOfTimesToRun();
- long noneTimer = 0;
- long uriTimer = 0;
- for (int i = 0; i < iterations+1 ; i++) {
- if (i == 0 ) { // dont use incase initial cold starts
- timeQuery(getQuery(getQueryMethod, OptimizeEnum.NONE), numResultsExpected, OptimizeEnum.NONE);
- timeQuery(getQuery(getQueryMethod, OptimizeEnum.URI), numResultsExpected, OptimizeEnum.URI);
- } else {
- noneTimer += timeQuery(getQuery(getQueryMethod, OptimizeEnum.NONE), numResultsExpected, OptimizeEnum.NONE);
- uriTimer += timeQuery(getQuery(getQueryMethod, OptimizeEnum.URI), numResultsExpected, OptimizeEnum.URI);
- }
- }
-
- noneTimer /= iterations;
- uriTimer /= iterations;
- System.out.println(CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_HYPHEN, getQueryMethod.getName()).replace("-query", "") + "\t" + (noneTimer)/100000.0 + "\t" + (uriTimer)/100000.0);
- //System.out.println((noneTimer)/100000.0 + " ms, (Not optimized)");
- //System.out.println((uriTimer)/100000.0 + " ms, (URI optimized)");
-
- }
-
- private QueryBuilder<Vertex> getQuery(Method getQueryMethod, OptimizeEnum optimization) throws InvocationTargetException, IllegalAccessException {
- return (QueryBuilder<Vertex>) getQueryMethod.invoke(this, optimization);
- }
-
-
- private long timeQuery(QueryBuilder<Vertex> query, int numResultsExpected, OptimizeEnum optimized) {
-
- //System.out.println(optimized.toString());
-
- long startTime = System.nanoTime();
- List<Vertex> result = query.toList();
- long endTime = System.nanoTime();
-
-// if (!optimized) {
-// result.get(0).properties().forEachRemaining(p -> System.out.println(p.key() + " : " + p.value()));
-// }
- //System.out.println("Result size: " + result.size());
- if (numResultsExpected != Integer.MIN_VALUE) {
- assertEquals( optimized.toString() + " optimized" + " query results in " + numResultsExpected + " vserver ", numResultsExpected, result.size());
- }
-
- return endTime - startTime;
-
- }
-
- protected abstract int getTenantNum();
-
- protected abstract int getVserverNumPerTenant();
-
- protected int numOfTimesToRun() {
- return 500;
- }
+ protected static final List<String> RANDOM_VALUES = Arrays.asList("A","B","C","D","E");
+
+ protected static final String crUriPattern = "/cloud-infrastructure/cloud-regions/cloud-region/%s/%s";
+ protected static final String tenantUriPatternSuffix = "/tenants/tenant/%s";
+ protected static final String tenantUriPattern = crUriPattern + tenantUriPatternSuffix;
+ protected static final String vserverUriPatternSuffix = "/vservers/vserver/%s";
+ protected static final String vserverUriPattern = tenantUriPattern + vserverUriPatternSuffix;
+
+ public static final String VSERVER_ID = "vserver-id";
+ public static final String TENANT_ID = "tenant-id";
+ public static final String TENANT_NAME = "tenant-name";
+ public static final String PROV_STATUS = "prov-status";
+ public static final String VSERVER_NAME = "vserver-name";
+ public static final String VSERVER_SELFLINK = "vserver-selflink";
+ public static final String TENANT = "tenant";
+ public static final String VSERVER = "vserver";
+ public static final String CLOUD_REGION = "cloud-region";
+ public static final String CLOUD_REGION_ID = "cloud-region-id";
+ public static final String CLOUD_OWNER = "cloud-owner";
+
+ private static final ModelType introspectorFactoryType = ModelType.MOXY;
+ private static final QueryStyle queryStyle = QueryStyle.TRAVERSAL;
+ private static final DBConnectionType type = DBConnectionType.REALTIME;
+ private static TransactionalGraphEngine dbEngine;
+ private static DBSerializer dbser;
+ protected static Loader loader;
+ protected static Graph graph;
+ protected static GraphTraversalSource g;
+ @Autowired
+ private static EdgeSerializer edgeSer;
+
+ protected static Random rand;
+
+
+ protected void setupData(int tenantNum, int vserverPerTenantNum, String prefix) throws Exception{
+ loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, schemaVersions.getDefaultVersion());
+ graph = AAIGraph.getInstance().getGraph();
+
+ dbEngine = new JanusGraphDBEngine(queryStyle, type, loader);
+ g = dbEngine.startTransaction().traversal();
+ dbser = new DBSerializer(schemaVersions.getDefaultVersion(), dbEngine, introspectorFactoryType, "AAI-TEST-" + prefix);
+
+ rand = new Random();
+
+ Vertex cr;
+ Vertex tenant;
+ Vertex vserver;
+ String crUri;
+ String tenantUri;
+ String vserverUri;
+ System.out.println("Data load started");
+ long startTime = System.currentTimeMillis();
+ for (int crCtr = 0; crCtr < 3; crCtr++) {
+ crUri = String.format(crUriPattern, prefix + "cloud-owner-" + crCtr, prefix + "cloud-region-id-" + crCtr);
+ //System.out.println(crUri);
+ cr = g.addV(AAIProperties.NODE_TYPE, CLOUD_REGION,
+ CLOUD_REGION_ID, prefix + "cloud-region-id-" + crCtr,
+ CLOUD_OWNER, prefix + "cloud-owner-" + crCtr,
+ AAIProperties.AAI_URI, crUri
+ ).next();
+ for (int i = 0; i < tenantNum; i++) {
+ Introspector intro = loader.introspectorFromName(TENANT);
+ tenant = dbser.createNewVertex(intro);
+ edgeSer.addTreeEdge(g, cr, tenant);
+ intro.setValue(TENANT_ID, prefix + "tenant-id-" + i);
+ intro.setValue(TENANT_NAME, prefix + "tenant-name-" + i);
+ dbser.serializeSingleVertex(tenant, intro, "AAI-TEST-" + prefix);
+ //System.out.println("Tenant " + crCtr + " " + i);
+ for (int j = 0; j < vserverPerTenantNum; j++) {
+ intro = loader.introspectorFromName(VSERVER);
+ vserver = dbser.createNewVertex(intro);
+ edgeSer.addTreeEdge(g, tenant, vserver);
+ intro.setValue(VSERVER_ID, prefix + "vserver-id-" + i + "-" + j);
+ intro.setValue(VSERVER_NAME, prefix + "vserver-name-" + i + "-" + j);
+ intro.setValue(PROV_STATUS, RANDOM_VALUES.get(rand.nextInt(RANDOM_VALUES.size())));
+ intro.setValue(VSERVER_SELFLINK, RANDOM_VALUES.get(rand.nextInt(RANDOM_VALUES.size())));
+ dbser.serializeSingleVertex(vserver, intro, "AAI-TEST-" + prefix);
+ //System.out.println("Vserver " + crCtr + " " + i + " " + j);
+ }
+ }
+ }
+ //g.V().forEachRemaining(v -> v.properties().forEachRemaining(p -> System.out.println(p.key() + " : " + p.value())));
+ //g.E().forEachRemaining(e -> System.out.println(e.outVertex().property(AAIProperties.NODE_TYPE).value() + " : " + e.inVertex().property(AAIProperties.NODE_TYPE).value()));
+ long time = System.currentTimeMillis()-startTime;
+ System.out.println("Data load ended\n" + time);
+
+ }
+
+ @After
+ public void deConfigure() throws Exception {
+ }
+
+ @AfterClass
+ public static void teardown() throws Exception {
+ dbEngine.rollback();
+ System.out.println("Done");
+ }
+
+ protected void execute(Method getQueryMethod, int numResultsExpected) throws Exception{
+
+ int iterations = numOfTimesToRun();
+ long noneTimer = 0;
+ long uriTimer = 0;
+ for (int i = 0; i < iterations+1 ; i++) {
+ if (i == 0 ) { // dont use incase initial cold starts
+ timeQuery(getQuery(getQueryMethod, OptimizeEnum.NONE), numResultsExpected, OptimizeEnum.NONE);
+ timeQuery(getQuery(getQueryMethod, OptimizeEnum.URI), numResultsExpected, OptimizeEnum.URI);
+ } else {
+ noneTimer += timeQuery(getQuery(getQueryMethod, OptimizeEnum.NONE), numResultsExpected, OptimizeEnum.NONE);
+ uriTimer += timeQuery(getQuery(getQueryMethod, OptimizeEnum.URI), numResultsExpected, OptimizeEnum.URI);
+ }
+ }
+
+ noneTimer /= iterations;
+ uriTimer /= iterations;
+ System.out.println(CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_HYPHEN, getQueryMethod.getName()).replace("-query", "") + "\t" + (noneTimer)/100000.0 + "\t" + (uriTimer)/100000.0);
+ //System.out.println((noneTimer)/100000.0 + " ms, (Not optimized)");
+ //System.out.println((uriTimer)/100000.0 + " ms, (URI optimized)");
+
+ }
+
+ private QueryBuilder<Vertex> getQuery(Method getQueryMethod, OptimizeEnum optimization) throws InvocationTargetException, IllegalAccessException {
+ return (QueryBuilder<Vertex>) getQueryMethod.invoke(this, optimization);
+ }
+
+
+ private long timeQuery(QueryBuilder<Vertex> query, int numResultsExpected, OptimizeEnum optimized) {
+
+ //System.out.println(optimized.toString());
+
+ long startTime = System.nanoTime();
+ List<Vertex> result = query.toList();
+ long endTime = System.nanoTime();
+
+// if (!optimized) {
+// result.get(0).properties().forEachRemaining(p -> System.out.println(p.key() + " : " + p.value()));
+// }
+ //System.out.println("Result size: " + result.size());
+ if (numResultsExpected != Integer.MIN_VALUE) {
+ assertEquals( optimized.toString() + " optimized" + " query results in " + numResultsExpected + " vserver ", numResultsExpected, result.size());
+ }
+
+ return endTime - startTime;
+
+ }
+
+ protected abstract int getTenantNum();
+
+ protected abstract int getVserverNumPerTenant();
+
+ protected int numOfTimesToRun() {
+ return 500;
+ }
}
diff --git a/aai-core/src/test/java/org/onap/aai/query/builder/optimization/AbstractGraphTraversalBuilderTestQueryiesToRun.java b/aai-core/src/test/java/org/onap/aai/query/builder/optimization/AbstractGraphTraversalBuilderTestQueryiesToRun.java
index 8038d15f..8a80fb94 100644
--- a/aai-core/src/test/java/org/onap/aai/query/builder/optimization/AbstractGraphTraversalBuilderTestQueryiesToRun.java
+++ b/aai-core/src/test/java/org/onap/aai/query/builder/optimization/AbstractGraphTraversalBuilderTestQueryiesToRun.java
@@ -33,149 +33,149 @@ import java.net.URI;
public abstract class AbstractGraphTraversalBuilderTestQueryiesToRun extends AbstractGraphTraversalBuilderOptmizationTest {
- protected static final String CLOUD_OWNER_1 = "cloud-owner-1";
- protected static final String CLOUD_REGION_ID_1 = "cloud-region-id-1";
- protected String tenantId;
- protected String vserverId;
- protected String vserverName;
- protected String randomFromList;
-
- @Before
- public void config() throws Exception {
- int tenantNum = rand.nextInt(getTenantNum());
- tenantId = getPrefix() + "tenant-id-" + tenantNum;
- vserverId = getPrefix() + "vserver-id-" + tenantNum + "-" + rand.nextInt(getVserverNumPerTenant());
- vserverName = getPrefix() + "vserver-name-" + tenantNum + "-" + rand.nextInt(getVserverNumPerTenant());
-
- randomFromList = RANDOM_VALUES.get(rand.nextInt(RANDOM_VALUES.size()));
- }
-
- protected abstract String getPrefix();
-
-
- private QueryBuilder<Vertex> getQueryBuilder(OptimizeEnum optimized) {
- if (OptimizeEnum.URI.equals(optimized)) {
- return new TraversalURIOptimizedQuery<>(loader, g);
- } else {
- return new TraversalQuery<>(loader, g);
- }
- }
-
- private void callTest(String methodName, int numResultsExpected) throws Exception {
- String queryMethodName = methodName.replace("Test", "Query");
- Method method = AbstractGraphTraversalBuilderTestQueryiesToRun.class.getMethod(queryMethodName, OptimizeEnum.class);
- this.execute(method, numResultsExpected);
- }
-
- @Test
- public void vserverTest() throws Exception {
- String methodName = new Object() {}.getClass().getEnclosingMethod().getName();
- callTest(methodName, 1);
- }
-
- public QueryBuilder<Vertex> vserverQuery(OptimizeEnum optimized) throws Exception {
- URI uri = new URI(String.format(vserverUriPattern, getPrefix() + CLOUD_OWNER_1, getPrefix() + CLOUD_REGION_ID_1, tenantId, vserverId));
- return getQueryBuilder(optimized).createQueryFromURI(uri).getQueryBuilder();
- }
-
- @Test
- public void vserversUnderATenantTest() throws Exception {
- String methodName = new Object() {}.getClass().getEnclosingMethod().getName();
- callTest(methodName, getVserverNumPerTenant());
- }
-
- public QueryBuilder<Vertex> vserversUnderATenantQuery(OptimizeEnum optimized) throws Exception {
- URI uri = new URI(String.format(tenantUriPattern, getPrefix() + CLOUD_OWNER_1, getPrefix() + CLOUD_REGION_ID_1, tenantId) + "/vservers");
- return getQueryBuilder(optimized).createQueryFromURI(uri).getQueryBuilder();
- }
-
- @Test
- public void vserversUnderATenantWithNonIndexPropertyTest() throws Exception {
- String methodName = new Object() {}.getClass().getEnclosingMethod().getName();
- callTest(methodName, Integer.MIN_VALUE);
- }
-
- public QueryBuilder<Vertex> vserversUnderATenantWithNonIndexPropertyQuery(OptimizeEnum optimized) throws Exception {
- URI uri = new URI(String.format(tenantUriPattern, getPrefix() + CLOUD_OWNER_1, getPrefix() + CLOUD_REGION_ID_1, tenantId) + "/vservers");
- MultivaluedMap<String, String> map = new MultivaluedHashMap<>();
- map.putSingle(VSERVER_SELFLINK, randomFromList);
- return getQueryBuilder(optimized).createQueryFromURI(uri, map).getQueryBuilder();
- }
-
- @Test
- public void vserversUnderATenantWithIndexPropertyWhereValueIsInMultipleTest() throws Exception {
- String methodName = new Object() {}.getClass().getEnclosingMethod().getName();
- callTest(methodName, Integer.MIN_VALUE);
- }
-
- public QueryBuilder<Vertex> vserversUnderATenantWithIndexPropertyWhereValueIsInMultipleQuery(OptimizeEnum optimized) throws Exception {
- URI uri = new URI(String.format(tenantUriPattern, getPrefix() + CLOUD_OWNER_1, getPrefix() + CLOUD_REGION_ID_1, tenantId) + "/vservers");
- MultivaluedMap<String, String> map = new MultivaluedHashMap<>();
- map.putSingle(PROV_STATUS, randomFromList);
- return getQueryBuilder(optimized).createQueryFromURI(uri, map).getQueryBuilder();
- }
-
- @Test
- public void vserversUnderATenantWithIndexPropertyWhereValueIsSemiUniqueTest() throws Exception {
- String methodName = new Object() {}.getClass().getEnclosingMethod().getName();
- callTest(methodName, Integer.MIN_VALUE);
- }
-
- public QueryBuilder<Vertex> vserversUnderATenantWithIndexPropertyWhereValueIsSemiUniqueQuery(OptimizeEnum optimized) throws Exception {
- URI uri = new URI(String.format(tenantUriPattern, getPrefix() + CLOUD_OWNER_1, getPrefix() + CLOUD_REGION_ID_1, tenantId) + "/vservers");
- MultivaluedMap<String, String> map = new MultivaluedHashMap<>();
- map.putSingle(VSERVER_NAME, vserverName);
- return getQueryBuilder(optimized).createQueryFromURI(uri, map).getQueryBuilder();
-
- }
-
- @Test
- public void nonExistentVserverTest() throws Exception {
- String methodName = new Object() {}.getClass().getEnclosingMethod().getName();
- callTest(methodName, 0);
- }
-
- public QueryBuilder<Vertex> nonExistentVserverQuery(OptimizeEnum optimized) throws Exception {
- URI uri = new URI(String.format(vserverUriPattern, getPrefix() + CLOUD_OWNER_1, getPrefix() + CLOUD_REGION_ID_1, tenantId, "does-not-exist"));
- return getQueryBuilder(optimized).createQueryFromURI(uri).getQueryBuilder();
- }
-
- @Test
- public void vserverWithNonExistentTenantTest() throws Exception {
- String methodName = new Object() {}.getClass().getEnclosingMethod().getName();
- callTest(methodName, 0);
- }
-
- public QueryBuilder<Vertex> vserverWithNonExistentTenantQuery(OptimizeEnum optimized) throws Exception {
- URI uri = new URI(String.format(vserverUriPattern, getPrefix() + CLOUD_OWNER_1, getPrefix() + CLOUD_REGION_ID_1, "does-not-exist", vserverId));
- return getQueryBuilder(optimized).createQueryFromURI(uri).getQueryBuilder();
- }
-
- @Test
- public void vserverWithValidQueryParameterTest() throws Exception {
- String methodName = new Object() {}.getClass().getEnclosingMethod().getName();
- callTest(methodName, 1);
- }
-
- public QueryBuilder<Vertex> vserverWithValidQueryParameterQuery(OptimizeEnum optimized) throws Exception {
- URI uri = new URI(String.format(vserverUriPattern, getPrefix() + CLOUD_OWNER_1, getPrefix() + CLOUD_REGION_ID_1, tenantId, vserverId));
- MultivaluedMap<String, String> map = new MultivaluedHashMap<>();
- map.putSingle("vserver-name2", "someName");
- return getQueryBuilder(optimized).createQueryFromURI(uri, map).getQueryBuilder();
- }
-
- @Test
- public void cloudRegionTest() throws Exception {
- String methodName = new Object() {}.getClass().getEnclosingMethod().getName();
- callTest(methodName, 1);
- }
-
- public QueryBuilder<Vertex> cloudRegionQuery(OptimizeEnum optimized) throws Exception {
- URI uri = new URI(String.format(crUriPattern, getPrefix() + CLOUD_OWNER_1, getPrefix() + CLOUD_REGION_ID_1));
- MultivaluedMap<String, String> map = new MultivaluedHashMap<>();
- map.putSingle("in-maint", "false");
- return getQueryBuilder(optimized).createQueryFromURI(uri, map).getQueryBuilder();
- }
+ protected static final String CLOUD_OWNER_1 = "cloud-owner-1";
+ protected static final String CLOUD_REGION_ID_1 = "cloud-region-id-1";
+ protected String tenantId;
+ protected String vserverId;
+ protected String vserverName;
+ protected String randomFromList;
+
+ @Before
+ public void config() throws Exception {
+ int tenantNum = rand.nextInt(getTenantNum());
+ tenantId = getPrefix() + "tenant-id-" + tenantNum;
+ vserverId = getPrefix() + "vserver-id-" + tenantNum + "-" + rand.nextInt(getVserverNumPerTenant());
+ vserverName = getPrefix() + "vserver-name-" + tenantNum + "-" + rand.nextInt(getVserverNumPerTenant());
+
+ randomFromList = RANDOM_VALUES.get(rand.nextInt(RANDOM_VALUES.size()));
+ }
+
+ protected abstract String getPrefix();
+
+
+ private QueryBuilder<Vertex> getQueryBuilder(OptimizeEnum optimized) {
+ if (OptimizeEnum.URI.equals(optimized)) {
+ return new TraversalURIOptimizedQuery<>(loader, g);
+ } else {
+ return new TraversalQuery<>(loader, g);
+ }
+ }
+
+ private void callTest(String methodName, int numResultsExpected) throws Exception {
+ String queryMethodName = methodName.replace("Test", "Query");
+ Method method = AbstractGraphTraversalBuilderTestQueryiesToRun.class.getMethod(queryMethodName, OptimizeEnum.class);
+ this.execute(method, numResultsExpected);
+ }
+
+ @Test
+ public void vserverTest() throws Exception {
+ String methodName = new Object() {}.getClass().getEnclosingMethod().getName();
+ callTest(methodName, 1);
+ }
+
+ public QueryBuilder<Vertex> vserverQuery(OptimizeEnum optimized) throws Exception {
+ URI uri = new URI(String.format(vserverUriPattern, getPrefix() + CLOUD_OWNER_1, getPrefix() + CLOUD_REGION_ID_1, tenantId, vserverId));
+ return getQueryBuilder(optimized).createQueryFromURI(uri).getQueryBuilder();
+ }
+
+ @Test
+ public void vserversUnderATenantTest() throws Exception {
+ String methodName = new Object() {}.getClass().getEnclosingMethod().getName();
+ callTest(methodName, getVserverNumPerTenant());
+ }
+
+ public QueryBuilder<Vertex> vserversUnderATenantQuery(OptimizeEnum optimized) throws Exception {
+ URI uri = new URI(String.format(tenantUriPattern, getPrefix() + CLOUD_OWNER_1, getPrefix() + CLOUD_REGION_ID_1, tenantId) + "/vservers");
+ return getQueryBuilder(optimized).createQueryFromURI(uri).getQueryBuilder();
+ }
+
+ @Test
+ public void vserversUnderATenantWithNonIndexPropertyTest() throws Exception {
+ String methodName = new Object() {}.getClass().getEnclosingMethod().getName();
+ callTest(methodName, Integer.MIN_VALUE);
+ }
+
+ public QueryBuilder<Vertex> vserversUnderATenantWithNonIndexPropertyQuery(OptimizeEnum optimized) throws Exception {
+ URI uri = new URI(String.format(tenantUriPattern, getPrefix() + CLOUD_OWNER_1, getPrefix() + CLOUD_REGION_ID_1, tenantId) + "/vservers");
+ MultivaluedMap<String, String> map = new MultivaluedHashMap<>();
+ map.putSingle(VSERVER_SELFLINK, randomFromList);
+ return getQueryBuilder(optimized).createQueryFromURI(uri, map).getQueryBuilder();
+ }
+
+ @Test
+ public void vserversUnderATenantWithIndexPropertyWhereValueIsInMultipleTest() throws Exception {
+ String methodName = new Object() {}.getClass().getEnclosingMethod().getName();
+ callTest(methodName, Integer.MIN_VALUE);
+ }
+
+ public QueryBuilder<Vertex> vserversUnderATenantWithIndexPropertyWhereValueIsInMultipleQuery(OptimizeEnum optimized) throws Exception {
+ URI uri = new URI(String.format(tenantUriPattern, getPrefix() + CLOUD_OWNER_1, getPrefix() + CLOUD_REGION_ID_1, tenantId) + "/vservers");
+ MultivaluedMap<String, String> map = new MultivaluedHashMap<>();
+ map.putSingle(PROV_STATUS, randomFromList);
+ return getQueryBuilder(optimized).createQueryFromURI(uri, map).getQueryBuilder();
+ }
+
+ @Test
+ public void vserversUnderATenantWithIndexPropertyWhereValueIsSemiUniqueTest() throws Exception {
+ String methodName = new Object() {}.getClass().getEnclosingMethod().getName();
+ callTest(methodName, Integer.MIN_VALUE);
+ }
+
+ public QueryBuilder<Vertex> vserversUnderATenantWithIndexPropertyWhereValueIsSemiUniqueQuery(OptimizeEnum optimized) throws Exception {
+ URI uri = new URI(String.format(tenantUriPattern, getPrefix() + CLOUD_OWNER_1, getPrefix() + CLOUD_REGION_ID_1, tenantId) + "/vservers");
+ MultivaluedMap<String, String> map = new MultivaluedHashMap<>();
+ map.putSingle(VSERVER_NAME, vserverName);
+ return getQueryBuilder(optimized).createQueryFromURI(uri, map).getQueryBuilder();
+
+ }
+
+ @Test
+ public void nonExistentVserverTest() throws Exception {
+ String methodName = new Object() {}.getClass().getEnclosingMethod().getName();
+ callTest(methodName, 0);
+ }
+
+ public QueryBuilder<Vertex> nonExistentVserverQuery(OptimizeEnum optimized) throws Exception {
+ URI uri = new URI(String.format(vserverUriPattern, getPrefix() + CLOUD_OWNER_1, getPrefix() + CLOUD_REGION_ID_1, tenantId, "does-not-exist"));
+ return getQueryBuilder(optimized).createQueryFromURI(uri).getQueryBuilder();
+ }
+
+ @Test
+ public void vserverWithNonExistentTenantTest() throws Exception {
+ String methodName = new Object() {}.getClass().getEnclosingMethod().getName();
+ callTest(methodName, 0);
+ }
+
+ public QueryBuilder<Vertex> vserverWithNonExistentTenantQuery(OptimizeEnum optimized) throws Exception {
+ URI uri = new URI(String.format(vserverUriPattern, getPrefix() + CLOUD_OWNER_1, getPrefix() + CLOUD_REGION_ID_1, "does-not-exist", vserverId));
+ return getQueryBuilder(optimized).createQueryFromURI(uri).getQueryBuilder();
+ }
+
+ @Test
+ public void vserverWithValidQueryParameterTest() throws Exception {
+ String methodName = new Object() {}.getClass().getEnclosingMethod().getName();
+ callTest(methodName, 1);
+ }
+
+ public QueryBuilder<Vertex> vserverWithValidQueryParameterQuery(OptimizeEnum optimized) throws Exception {
+ URI uri = new URI(String.format(vserverUriPattern, getPrefix() + CLOUD_OWNER_1, getPrefix() + CLOUD_REGION_ID_1, tenantId, vserverId));
+ MultivaluedMap<String, String> map = new MultivaluedHashMap<>();
+ map.putSingle("vserver-name2", "someName");
+ return getQueryBuilder(optimized).createQueryFromURI(uri, map).getQueryBuilder();
+ }
+
+ @Test
+ public void cloudRegionTest() throws Exception {
+ String methodName = new Object() {}.getClass().getEnclosingMethod().getName();
+ callTest(methodName, 1);
+ }
+
+ public QueryBuilder<Vertex> cloudRegionQuery(OptimizeEnum optimized) throws Exception {
+ URI uri = new URI(String.format(crUriPattern, getPrefix() + CLOUD_OWNER_1, getPrefix() + CLOUD_REGION_ID_1));
+ MultivaluedMap<String, String> map = new MultivaluedHashMap<>();
+ map.putSingle("in-maint", "false");
+ return getQueryBuilder(optimized).createQueryFromURI(uri, map).getQueryBuilder();
+ }
}
diff --git a/aai-core/src/test/java/org/onap/aai/query/builder/optimization/OptimizeEnum.java b/aai-core/src/test/java/org/onap/aai/query/builder/optimization/OptimizeEnum.java
index cfc39260..907f4ff5 100644
--- a/aai-core/src/test/java/org/onap/aai/query/builder/optimization/OptimizeEnum.java
+++ b/aai-core/src/test/java/org/onap/aai/query/builder/optimization/OptimizeEnum.java
@@ -20,5 +20,5 @@
package org.onap.aai.query.builder.optimization;
public enum OptimizeEnum {
- URI,NONE
+ URI,NONE
}
diff --git a/aai-core/src/test/java/org/onap/aai/query/builder/optimization/tests/AOneTenantOneVserversPerTenantTest.java b/aai-core/src/test/java/org/onap/aai/query/builder/optimization/tests/AOneTenantOneVserversPerTenantTest.java
index f004827a..c65dbb4e 100644
--- a/aai-core/src/test/java/org/onap/aai/query/builder/optimization/tests/AOneTenantOneVserversPerTenantTest.java
+++ b/aai-core/src/test/java/org/onap/aai/query/builder/optimization/tests/AOneTenantOneVserversPerTenantTest.java
@@ -26,28 +26,28 @@ import org.onap.aai.query.builder.optimization.AbstractGraphTraversalBuilderTest
@Ignore
public class AOneTenantOneVserversPerTenantTest extends AbstractGraphTraversalBuilderTestQueryiesToRun {
- private static int tenantNum = 1;
- private static int vserverPerTenantNum = 1;
- private static String prefix = AOneTenantOneVserversPerTenantTest.class.getSimpleName() + "-";
-
- @BeforeClass
- public void setup() throws Exception {
- setupData(tenantNum,vserverPerTenantNum, prefix);
- }
-
- @Override
- protected int getTenantNum() {
- return tenantNum;
- }
-
- @Override
- protected int getVserverNumPerTenant() {
- return vserverPerTenantNum;
- }
-
- @Override
- protected String getPrefix() {
- return prefix;
- }
+ private static int tenantNum = 1;
+ private static int vserverPerTenantNum = 1;
+ private static String prefix = AOneTenantOneVserversPerTenantTest.class.getSimpleName() + "-";
+
+ @BeforeClass
+ public void setup() throws Exception {
+ setupData(tenantNum,vserverPerTenantNum, prefix);
+ }
+
+ @Override
+ protected int getTenantNum() {
+ return tenantNum;
+ }
+
+ @Override
+ protected int getVserverNumPerTenant() {
+ return vserverPerTenantNum;
+ }
+
+ @Override
+ protected String getPrefix() {
+ return prefix;
+ }
}
diff --git a/aai-core/src/test/java/org/onap/aai/query/builder/optimization/tests/BTenTenantTenVserversPerTenantTest.java b/aai-core/src/test/java/org/onap/aai/query/builder/optimization/tests/BTenTenantTenVserversPerTenantTest.java
index 64f02d09..83c965e4 100644
--- a/aai-core/src/test/java/org/onap/aai/query/builder/optimization/tests/BTenTenantTenVserversPerTenantTest.java
+++ b/aai-core/src/test/java/org/onap/aai/query/builder/optimization/tests/BTenTenantTenVserversPerTenantTest.java
@@ -26,28 +26,28 @@ import org.onap.aai.query.builder.optimization.AbstractGraphTraversalBuilderTest
@Ignore
public class BTenTenantTenVserversPerTenantTest extends AbstractGraphTraversalBuilderTestQueryiesToRun {
- private static int tenantNum = 10;
- private static int vserverPerTenantNum = 10;
- private static String prefix = BTenTenantTenVserversPerTenantTest.class.getSimpleName() + "-";
-
- @BeforeClass
- public void setup() throws Exception {
- setupData(tenantNum,vserverPerTenantNum, prefix);
- }
-
- @Override
- protected int getTenantNum() {
- return tenantNum;
- }
-
- @Override
- protected int getVserverNumPerTenant() {
- return vserverPerTenantNum;
- }
-
- @Override
- protected String getPrefix() {
- return prefix;
- }
+ private static int tenantNum = 10;
+ private static int vserverPerTenantNum = 10;
+ private static String prefix = BTenTenantTenVserversPerTenantTest.class.getSimpleName() + "-";
+
+ @BeforeClass
+ public void setup() throws Exception {
+ setupData(tenantNum,vserverPerTenantNum, prefix);
+ }
+
+ @Override
+ protected int getTenantNum() {
+ return tenantNum;
+ }
+
+ @Override
+ protected int getVserverNumPerTenant() {
+ return vserverPerTenantNum;
+ }
+
+ @Override
+ protected String getPrefix() {
+ return prefix;
+ }
}
diff --git a/aai-core/src/test/java/org/onap/aai/rest/PserverDuplicateTest.java b/aai-core/src/test/java/org/onap/aai/rest/PserverDuplicateTest.java
index 71e53be8..f0618b02 100644
--- a/aai-core/src/test/java/org/onap/aai/rest/PserverDuplicateTest.java
+++ b/aai-core/src/test/java/org/onap/aai/rest/PserverDuplicateTest.java
@@ -25,6 +25,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.janusgraph.core.JanusGraph;
import org.janusgraph.core.JanusGraphTransaction;
+import org.junit.Ignore;
import org.junit.Test;
import org.onap.aai.AAISetup;
import org.onap.aai.HttpTestUtil;
@@ -71,12 +72,16 @@ public class PserverDuplicateTest extends AAISetup {
.mapToObj((i) -> (Callable<Void>) () -> {
JanusGraphTransaction transaction = janusGraph.newTransaction();
GraphTraversalSource g = transaction.traversal();
- g.addV()
- .property(AAIProperties.AAI_URI, aaiUri)
- .property(AAIProperties.NODE_TYPE, "pserver")
- .property("hostname", hostname)
- .next();
- transaction.commit();
+ try {
+ g.addV()
+ .property(AAIProperties.AAI_URI, aaiUri)
+ .property(AAIProperties.NODE_TYPE, "pserver")
+ .property("hostname", hostname)
+ .next();
+ transaction.commit();
+ } catch (Exception e) {
+ throw new Exception("Duplicate was found, error");
+ }
return null;
}).collect(Collectors.toList())
, 7, TimeUnit.SECONDS
@@ -97,7 +102,7 @@ public class PserverDuplicateTest extends AAISetup {
}
- @Test
+ @Ignore
public void testWhenDuplicatesExistInGraphThatGetAllSuceeds() throws InterruptedException {
int totalRetries = getNumOfRetries();
diff --git a/aai-core/src/test/java/org/onap/aai/rest/PserverTest.java b/aai-core/src/test/java/org/onap/aai/rest/PserverTest.java
index 8ff56839..f7bea7c3 100644
--- a/aai-core/src/test/java/org/onap/aai/rest/PserverTest.java
+++ b/aai-core/src/test/java/org/onap/aai/rest/PserverTest.java
@@ -33,6 +33,7 @@ import org.onap.aai.introspection.*;
import org.onap.aai.serialization.engines.QueryStyle;
import org.skyscreamer.jsonassert.JSONAssert;
+import org.springframework.test.annotation.DirtiesContext;
import javax.ws.rs.core.Response;
import java.util.Arrays;
@@ -44,6 +45,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@RunWith(value = Parameterized.class)
+@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
public class PserverTest extends AAISetup{
private static EELFLogger logger = EELFManager.getInstance().getLogger(PserverTest.class);
diff --git a/aai-core/src/test/java/org/onap/aai/rest/db/HttpEntryTest.java b/aai-core/src/test/java/org/onap/aai/rest/db/HttpEntryTest.java
index 80b4d51b..6e72a0f1 100644
--- a/aai-core/src/test/java/org/onap/aai/rest/db/HttpEntryTest.java
+++ b/aai-core/src/test/java/org/onap/aai/rest/db/HttpEntryTest.java
@@ -163,9 +163,9 @@ public class HttpEntryTest extends AAISetup {
@Test
public void test1PutOnPserver() throws UnsupportedEncodingException, AAIException {
- /*
- * TODO do the same with uri
- */
+ /*
+ * TODO do the same with uri
+ */
DBConnectionType type = DBConnectionType.REALTIME;
traversalHttpEntry.setHttpEntryProperties(schemaVersions.getDefaultVersion(), type);
Loader loader = traversalHttpEntry.getLoader();
@@ -196,7 +196,7 @@ public class HttpEntryTest extends AAISetup {
@Test
public void test3PutOnPInterface() {
- try {
+ try {
DBConnectionType type = DBConnectionType.REALTIME;
traversalHttpEntry.setHttpEntryProperties(schemaVersions.getDefaultVersion(), type);
Loader loader = traversalHttpEntry.getLoader();
@@ -207,10 +207,10 @@ public class HttpEntryTest extends AAISetup {
Response response = doRequest(traversalHttpEntry, loader, dbEngine, HttpMethod.PUT, uri, content);
dbEngine.commit();
assertEquals("Expected the p-interface to be created", 201, response.getStatus());
- } catch (UnsupportedEncodingException | AAIException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
+ } catch (UnsupportedEncodingException | AAIException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
}
@@ -251,9 +251,9 @@ public class HttpEntryTest extends AAISetup {
}
private int doDelete(String resourceVersion, String uri, String nodeType) throws UnsupportedEncodingException, AAIException {
- queryParameters.add("resource-version", resourceVersion);
- DBConnectionType type = DBConnectionType.REALTIME;
- traversalHttpEntry.setHttpEntryProperties(schemaVersions.getDefaultVersion(), type);
+ queryParameters.add("resource-version", resourceVersion);
+ DBConnectionType type = DBConnectionType.REALTIME;
+ traversalHttpEntry.setHttpEntryProperties(schemaVersions.getDefaultVersion(), type);
Loader loader = traversalHttpEntry.getLoader();
TransactionalGraphEngine dbEngine = traversalHttpEntry.getDbEngine();
@@ -296,7 +296,7 @@ public class HttpEntryTest extends AAISetup {
JsonObject jsonObj = new JsonParser().parse(msg).getAsJsonObject();
String resourceVersion = "";
if ( jsonObj.isJsonObject()) {
- resourceVersion = jsonObj.get("resource-version").getAsString();
+ resourceVersion = jsonObj.get("resource-version").getAsString();
}
assertEquals("Expected the pserver to be deleted", 204, doDelete(resourceVersion, "/cloud-infrastructure/pservers/pserver/junit-test1", "pserver"));
}
@@ -304,7 +304,7 @@ public class HttpEntryTest extends AAISetup {
@Test
public void test7DeleteOnPserverNoPinterface() throws UnsupportedEncodingException, AAIException {
-
+
DBConnectionType type = DBConnectionType.REALTIME;
traversalHttpEntry.setHttpEntryProperties(schemaVersions.getDefaultVersion(), type);
//HttpEntry httpEntry = new HttpEntry(Version.getLatest(), ModelType.MOXY, queryStyle, type);
@@ -319,7 +319,7 @@ public class HttpEntryTest extends AAISetup {
JsonObject jsonObj = new JsonParser().parse(msg).getAsJsonObject();
String resourceVersion = "";
if ( jsonObj.isJsonObject()) {
- resourceVersion = jsonObj.get("resource-version").getAsString();
+ resourceVersion = jsonObj.get("resource-version").getAsString();
}
assertEquals("Expected the pserver to be deleted", 204, doDelete(resourceVersion, "/cloud-infrastructure/pservers/pserver/junit-test2", "pserver"));
}
@@ -374,7 +374,7 @@ public class HttpEntryTest extends AAISetup {
public void notificationOnRelatedToTest() throws UnsupportedEncodingException, AAIException {
Loader ld = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
- UEBNotification uebNotification = Mockito.spy(new UEBNotification(ld, loaderFactory, schemaVersions));
+ UEBNotification uebNotification = Mockito.spy(new UEBNotification(ld, loaderFactory, schemaVersions));
DBConnectionType type = DBConnectionType.REALTIME;
traversalHttpEntry.setHttpEntryProperties(schemaVersions.getDefaultVersion(), type , uebNotification);
@@ -579,10 +579,10 @@ public class HttpEntryTest extends AAISetup {
@Test
public void setDepthTest() throws UnsupportedEncodingException, AAIException {
- System.setProperty("AJSC_HOME", ".");
- System.setProperty("BUNDLECONFIG_DIR", "src/main/test/resources");
+ System.setProperty("AJSC_HOME", ".");
+ System.setProperty("BUNDLECONFIG_DIR", "src/main/test/resources");
- String depthParam = AAIConfig.get("aai.rest.getall.depthparam");
+ String depthParam = AAIConfig.get("aai.rest.getall.depthparam");
DBConnectionType type = DBConnectionType.REALTIME;
traversalHttpEntry.setHttpEntryProperties(schemaVersions.getDefaultVersion(), type);
//HttpEntry httpEntry = new HttpEntry(Version.getLatest(), ModelType.MOXY, QueryStyle.TRAVERSAL, type);
diff --git a/aai-core/src/test/java/org/onap/aai/serialization/db/DbAliasTest.java b/aai-core/src/test/java/org/onap/aai/serialization/db/DbAliasTest.java
index 77ee36c1..d63220b7 100644
--- a/aai-core/src/test/java/org/onap/aai/serialization/db/DbAliasTest.java
+++ b/aai-core/src/test/java/org/onap/aai/serialization/db/DbAliasTest.java
@@ -30,6 +30,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.onap.aai.AAISetup;
+import org.onap.aai.DataLinkSetup;
import org.onap.aai.dbmap.DBConnectionType;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.introspection.*;
@@ -57,7 +58,7 @@ import static org.mockito.Mockito.when;
@RunWith(value = Parameterized.class)
@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
-public class DbAliasTest extends AAISetup {
+public class DbAliasTest extends DataLinkSetup {
private JanusGraph graph;
diff --git a/aai-core/src/test/java/org/onap/aai/serialization/db/DbSerializerTest.java b/aai-core/src/test/java/org/onap/aai/serialization/db/DbSerializerTest.java
index 42775cbf..cbc1bd9a 100644
--- a/aai-core/src/test/java/org/onap/aai/serialization/db/DbSerializerTest.java
+++ b/aai-core/src/test/java/org/onap/aai/serialization/db/DbSerializerTest.java
@@ -28,6 +28,7 @@ import org.junit.rules.ExpectedException;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.onap.aai.AAISetup;
+import org.onap.aai.util.AAIConstants;
import org.onap.aai.db.props.AAIProperties;
import org.onap.aai.dbmap.DBConnectionType;
import org.onap.aai.edges.EdgeIngestor;
@@ -457,6 +458,14 @@ public class DbSerializerTest extends AAISetup {
}
@Test
+ public void verifyResourceVersion_DeleteTest() throws AAIException {
+ engine.startTransaction();
+
+ assertTrue (dbser.verifyResourceVersion("delete", "generic-vnf", "current-res-ver", AAIConstants.AAI_RESVERSION_DISABLED_UUID_DEFAULT,
+ "generic-vnfs/generic-vnf/myid"));
+
+ }
+ @Test
public void trimClassNameTest() throws AAIException {
assertEquals("GenericVnf", dbser.trimClassName("GenericVnf"));
assertEquals("GenericVnf", dbser.trimClassName("org.onap.aai.GenericVnf"));
diff --git a/aai-core/src/test/java/org/onap/aai/serialization/db/DbSerializer_needsFakeRulesTest.java b/aai-core/src/test/java/org/onap/aai/serialization/db/DbSerializer_needsFakeRulesTest.java
index 1226eda1..a74ceee8 100644
--- a/aai-core/src/test/java/org/onap/aai/serialization/db/DbSerializer_needsFakeRulesTest.java
+++ b/aai-core/src/test/java/org/onap/aai/serialization/db/DbSerializer_needsFakeRulesTest.java
@@ -69,7 +69,9 @@ import static org.mockito.Mockito.when;
IntrospectionConfig.class
})
@TestPropertySource(properties = {
- "schema.translator.list = config"
+ "schema.translator.list = config",
+ "schema.nodes.location=src/test/resources/onap/oxm",
+ "schema.edges.location=src/test/resources/onap/dbedgerules"
})
public class DbSerializer_needsFakeRulesTest {
@@ -79,7 +81,7 @@ public class DbSerializer_needsFakeRulesTest {
public ExpectedException thrown = ExpectedException.none();
protected static Graph graph;
-
+
@Autowired
protected EdgeSerializer edgeSer;
@Autowired
@@ -114,7 +116,7 @@ public class DbSerializer_needsFakeRulesTest {
System.setProperty("AJSC_HOME", ".");
System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
QueryFormatTestHelper.setFinalStatic(AAIConstants.class.getField("AAI_HOME_ETC_OXM"), "src/test/resources/bundleconfig-local/etc/oxm/");
-
+
}
@Before
@@ -636,8 +638,8 @@ public class DbSerializer_needsFakeRulesTest {
private DBSerializer getDBSerializerWithSpecificEdgeRules()
throws NoSuchFieldException, AAIException, IllegalAccessException {
-
-
+
+
DBSerializer localDbser = new DBSerializer(version, engine, introspectorFactoryType, "AAI-TEST");
return localDbser;
}
diff --git a/aai-core/src/test/java/org/onap/aai/serialization/tinkerpop/TreeBackedVertexTest.java b/aai-core/src/test/java/org/onap/aai/serialization/tinkerpop/TreeBackedVertexTest.java
index f1d2fd63..6d17674a 100644
--- a/aai-core/src/test/java/org/onap/aai/serialization/tinkerpop/TreeBackedVertexTest.java
+++ b/aai-core/src/test/java/org/onap/aai/serialization/tinkerpop/TreeBackedVertexTest.java
@@ -46,7 +46,7 @@ public class TreeBackedVertexTest {
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(EdgeProperty.CONTAINS.toString(), true)
+ .addV(T.label, "interface").property("name", "interface 1").as("v10").addInE("hasChild", "v2").property(EdgeProperty.CONTAINS.toString(), true)
.addV(T.label, "pserver").property("name", "pserver 1").as("v4").addOutE("runsOn", "v1").property(EdgeProperty.CONTAINS.toString(), false)
.addV(T.label, "interface").property("name", "interface 2").as("v3").addInE("hasChild", "v1").property(EdgeProperty.CONTAINS.toString(), true)
.addV(T.label, "address").property("name", "address 1").addInE("hasChild", "v3").property(EdgeProperty.CONTAINS.toString(), true)
diff --git a/aai-core/src/test/java/org/onap/aai/testutils/TestUtilConfigTranslatorforDataLink.java b/aai-core/src/test/java/org/onap/aai/testutils/TestUtilConfigTranslatorforDataLink.java
new file mode 100644
index 00000000..36d5fe77
--- /dev/null
+++ b/aai-core/src/test/java/org/onap/aai/testutils/TestUtilConfigTranslatorforDataLink.java
@@ -0,0 +1,56 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-18 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.aai.testutils;
+
+import org.onap.aai.setup.ConfigTranslator;
+import org.onap.aai.setup.SchemaLocationsBean;
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.setup.SchemaVersions;
+
+import java.util.*;
+
+public class TestUtilConfigTranslatorforDataLink extends ConfigTranslator {
+
+ public TestUtilConfigTranslatorforDataLink(SchemaLocationsBean bean, SchemaVersions schemaVersions) {
+ super(bean, schemaVersions);
+ }
+
+ @Override
+ public Map<SchemaVersion, List<String>> getNodeFiles() {
+
+ Map<SchemaVersion, List<String>> input = new TreeMap<>();
+ input.put(new SchemaVersion("v1"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_one.xml"));
+ input.put(new SchemaVersion("v2"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_two.xml"));
+ input.put(new SchemaVersion("v3"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_three.xml"));
+ input.put(new SchemaVersion("v4"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_four.xml"));
+ return input;
+ }
+
+ @Override
+ public Map<SchemaVersion, List<String>> getEdgeFiles() {
+ Map<SchemaVersion, List<String>> input = new TreeMap<>();
+ input.put(new SchemaVersion("v1"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_one.json"));
+ input.put(new SchemaVersion("v2"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_two.json"));
+ input.put(new SchemaVersion("v3"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_three.json"));
+ input.put(new SchemaVersion("v4"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_four.json"));
+ return input;
+ }
+}
diff --git a/aai-core/src/test/java/org/onap/aai/util/genxsd/NodesYAMLfromOXMTest.java b/aai-core/src/test/java/org/onap/aai/util/genxsd/NodesYAMLfromOXMTest.java
index b19a524b..c839619d 100644
--- a/aai-core/src/test/java/org/onap/aai/util/genxsd/NodesYAMLfromOXMTest.java
+++ b/aai-core/src/test/java/org/onap/aai/util/genxsd/NodesYAMLfromOXMTest.java
@@ -32,6 +32,7 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
+import org.apache.commons.lang.StringUtils;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -330,19 +331,22 @@ public class NodesYAMLfromOXMTest {
sb.append(" null\n parameters:\n");
sb.append(" - name: global-customer-id\n");
sb.append(" in: query\n");
- sb.append(" description:\n");
+ sb.append(" description: Global customer id used across to uniquely identify customer.\n");
sb.append(" required: false\n");
sb.append(" type: string\n");
+ sb.append(" example: __GLOBAL-CUSTOMER-ID__\n");
sb.append(" - name: subscriber-name\n");
sb.append(" in: query\n");
- sb.append(" description:\n");
+ sb.append(" description: Subscriber name, an alternate way to retrieve a customer.\n");
sb.append(" required: false\n");
sb.append(" type: string\n");
+ sb.append(" example: __SUBSCRIBER-NAME__\n");
sb.append(" - name: subscriber-type\n");
sb.append(" in: query\n");
- sb.append(" description:\n");
+ sb.append(" description: Subscriber type, a way to provide VID with only the INFRA customers.\n");
sb.append(" required: false\n");
sb.append(" type: string\n");
+ sb.append(" example: __SUBSCRIBER-TYPE__\n");
sb.append(" /nodes/service-subscriptions?parameter=value[&parameter2=value2]:\n");
sb.append(" get:\n");
sb.append(" tags:\n");
@@ -362,9 +366,10 @@ public class NodesYAMLfromOXMTest {
sb.append(" null\n parameters:\n");
sb.append(" - name: service-type\n");
sb.append(" in: query\n");
- sb.append(" description:\n");
+ sb.append(" description: Value defined by orchestration to identify this service.\n");
sb.append(" required: false\n");
sb.append(" type: string\n");
+ sb.append(" example: __SERVICE-TYPE__\n");
return sb.toString();
}
public String YAMLdefs() {
diff --git a/aai-core/src/test/java/org/onap/aai/util/genxsd/XSDElementTest.java b/aai-core/src/test/java/org/onap/aai/util/genxsd/XSDElementTest.java
index cfab4cc2..6058ecee 100644
--- a/aai-core/src/test/java/org/onap/aai/util/genxsd/XSDElementTest.java
+++ b/aai-core/src/test/java/org/onap/aai/util/genxsd/XSDElementTest.java
@@ -70,16 +70,16 @@ public class XSDElementTest {
@Before
public void setUp() throws Exception {
- setUp(0);
+ setUp(0);
}
-
- public void setUp(int sbopt) throws Exception {
+
+ public void setUp( int sbopt ) throws Exception {
StringBuilder sb = new StringBuilder(maxSizeForXml);
addNamespace(sb);
addBusiness(sb);
- addCustomers(sb);
+ addCustomers(sb);
if ( sbopt == 0 ) {
- addCustomer(sb);
+ addCustomer(sb);
} else {
addCustomerNoSubscriberType(sb);
addCustomerSubscriberType(sb);
@@ -89,7 +89,7 @@ public class XSDElementTest {
addEndOfXML(sb);
testXML = sb.toString();
init();
- }
+}
private void addNamespace(StringBuilder sb){
sb.append("<xml-bindings xmlns=\"http://www.eclipse.org/eclipselink/xsds/persistence/oxm\" package-name=\"inventory.aai.onap.org.v11\" xml-mapping-metadata-complete=\"true\">\n");
@@ -192,7 +192,6 @@ public class XSDElementTest {
sb.append("</xml-properties>\n");
sb.append("</xml-element>\n");
sb.append("<xml-element java-attribute=\"serviceSubscriptions\" name=\"service-subscriptions\" type=\"inventory.aai.onap.org.v11.ServiceSubscriptions\" />\n");
-// sb.append("<xml-element java-attribute=\"relationshipList\" name=\"relationship-list\" type=\"inventory.aai.onap.org.v11.RelationshipList\" />\n");
sb.append("</java-attributes>\n");
sb.append("<xml-properties>\n");
sb.append("<xml-property name=\"description\" value=\"customer identifiers to provide linkage back to BSS information.\" />\n");
@@ -204,7 +203,7 @@ public class XSDElementTest {
sb.append("<xml-property name=\"namespace\" value=\"business\" />\n");
sb.append("</xml-properties>\n");
sb.append("</java-type>\n");
- }
+ }
private void addCustomerSubscriberType(StringBuilder sb){
sb.append("<java-type name=\"Customer\">\n");
@@ -222,7 +221,7 @@ public class XSDElementTest {
sb.append("<xml-property name=\"container\" value=\"customers\" />\n");
sb.append("</xml-properties>\n");
sb.append("</java-type>\n");
- }
+ }
private void addServiceSubscriptions(StringBuilder sb){
sb.append("<java-type name=\"ServiceSubscriptions\">\n");
diff --git a/aai-core/src/test/resources/dbedgerules/DbEdgerules_four.json b/aai-core/src/test/resources/dbedgerules/DbEdgerules_four.json
new file mode 100644
index 00000000..e2abdbc3
--- /dev/null
+++ b/aai-core/src/test/resources/dbedgerules/DbEdgerules_four.json
@@ -0,0 +1,1808 @@
+{
+ "rules": [
+ {
+ "from": "allotted-resource",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "network-policy",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "tunnel-xconnect",
+ "to": "allotted-resource",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "availability-zone",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "availability-zone",
+ "to": "service-capability",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "availability-zone",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "cloud-region",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "cloud-region",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "cloud-region",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "dvs-switch",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "flavor",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "group-assignment",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "image",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "oam-network",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "snapshot",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "tenant",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "volume-group",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "complex",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "ctag-pool",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "connector",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "connector",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "element-choice-set",
+ "to": "constrained-element-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "ctag-pool",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "service-subscription",
+ "to": "customer",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "dvs-switch",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "model-element",
+ "to": "element-choice-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "entitlement",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "ipsec-configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "pserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vnfc",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "vnf-image",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "license",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "network-profile",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "site-pair-set",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "group-assignment",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "${direction}",
+ "default": "true"
+ },
+ {
+ "from": "tenant",
+ "to": "group-assignment",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "image",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "instance-group",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.Targets",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vig-server",
+ "to": "ipsec-configuration",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "ctag-assignment",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-network",
+ "to": "network-policy",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-network",
+ "to": "route-table-reference",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-network",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "segmentation-assignment",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "subnet",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "lag-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "p-interface",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "lag-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "logical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "sriov-vf",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vlan",
+ "to": "l-interface",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "lag-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "pnf",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "pserver",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "model-ver",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "constrained-element-set",
+ "to": "model-constraint",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "constrained-element-set",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "model-constraint",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "model-element",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "model-element",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "model-element",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "named-query",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "named-query-element",
+ "to": "named-query",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "named-query-element",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "named-query-element",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "property-constraint",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "related-lookup",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "newvce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "oam-network",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "oam-network",
+ "to": "service-capability",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "p-interface",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "logical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "physical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "pnf",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "pnf",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pnf",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "pnf",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pnf",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "cvlan-tag",
+ "to": "port-group",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "pserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "pserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "site-pair",
+ "to": "routing-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "allotted-resource",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "connector",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "ctag-assignment",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "cvlan-tag",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "pnf",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "service-subscription",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "class-of-service",
+ "to": "site-pair",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "routing-instance",
+ "to": "site-pair-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-subscription",
+ "to": "tenant",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "tenant",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "tenant",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "entitlement",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "license",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "port-group",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vce",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vce",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vce",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "vnfc",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vlan",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vlan",
+ "to": "multicast-configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "tenant",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "volume-group",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "vpls-pe",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "vpls-pe",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vpls-pe",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vpls-pe",
+ "to": "ctag-pool",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "route-target",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "vserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "vserver",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vnfc",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "flavor",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "image",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "pserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "snapshot",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "volume",
+ "label": "tosca.relationships.AttachesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "${direction}",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "zone",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ }
+ ]
+} \ No newline at end of file
diff --git a/aai-core/src/test/resources/dbedgerules/DbEdgerules_one.json b/aai-core/src/test/resources/dbedgerules/DbEdgerules_one.json
new file mode 100644
index 00000000..a0fc60ad
--- /dev/null
+++ b/aai-core/src/test/resources/dbedgerules/DbEdgerules_one.json
@@ -0,0 +1,1313 @@
+{
+ "rules": [
+ {
+ "from": "availability-zone",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "availability-zone",
+ "to": "service-capability",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "availability-zone",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "cloud-region",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "cloud-region",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "dvs-switch",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "flavor",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "image",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "oam-network",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "tenant",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "volume-group",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "complex",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "ctag-pool",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "connector",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "connector",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "element-choice-set",
+ "to": "constrained-element-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "ctag-pool",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "service-subscription",
+ "to": "customer",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "dvs-switch",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "model-element",
+ "to": "element-choice-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "ipsec-configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "pserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "vnf-image",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "network-profile",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "site-pair-set",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "image",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vig-server",
+ "to": "ipsec-configuration",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "ctag-assignment",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-network",
+ "to": "network-policy",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-network",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "subnet",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "lag-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "p-interface",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "lag-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "logical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "sriov-vf",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vlan",
+ "to": "l-interface",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "lag-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "pserver",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "constrained-element-set",
+ "to": "model-constraint",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "constrained-element-set",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "model-constraint",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "model-element",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "named-query",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "named-query-element",
+ "to": "named-query",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "named-query-element",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "named-query-element",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "property-constraint",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "related-lookup",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "newvce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "oam-network",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "oam-network",
+ "to": "service-capability",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "p-interface",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "logical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "physical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "pnf",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pnf",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "cvlan-tag",
+ "to": "port-group",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "pserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "pserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "site-pair",
+ "to": "routing-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "connector",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "cvlan-tag",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "service-subscription",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "class-of-service",
+ "to": "site-pair",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "routing-instance",
+ "to": "site-pair-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-subscription",
+ "to": "tenant",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "tenant",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "tenant",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "port-group",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vce",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vce",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vce",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vlan",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vlan",
+ "to": "multicast-configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "tenant",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "volume-group",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "vpls-pe",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "vpls-pe",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vpls-pe",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vpls-pe",
+ "to": "ctag-pool",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "vserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "vserver",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vnfc",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "flavor",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "image",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "pserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "model-element",
+ "to": "model",
+ "label": "isA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "model",
+ "to": "model-element",
+ "label": "startsWith",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "${direction}",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "volume",
+ "label": "tosca.relationships.AttachesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "${direction}",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ }
+ ]
+} \ No newline at end of file
diff --git a/aai-core/src/test/resources/dbedgerules/DbEdgerules_three.json b/aai-core/src/test/resources/dbedgerules/DbEdgerules_three.json
new file mode 100644
index 00000000..508d8a24
--- /dev/null
+++ b/aai-core/src/test/resources/dbedgerules/DbEdgerules_three.json
@@ -0,0 +1,1731 @@
+{
+ "rules": [
+ {
+ "from": "allotted-resource",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "tunnel-xconnect",
+ "to": "allotted-resource",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "availability-zone",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "availability-zone",
+ "to": "service-capability",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "availability-zone",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "cloud-region",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "cloud-region",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "cloud-region",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "dvs-switch",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "flavor",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "group-assignment",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "image",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "oam-network",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "snapshot",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "tenant",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "volume-group",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "complex",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "ctag-pool",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "connector",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "connector",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "element-choice-set",
+ "to": "constrained-element-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "ctag-pool",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "service-subscription",
+ "to": "customer",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "dvs-switch",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "model-element",
+ "to": "element-choice-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "entitlement",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "ipsec-configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "pserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vnfc",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "vnf-image",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "license",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "network-profile",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "site-pair-set",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "group-assignment",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "${direction}",
+ "default": "true"
+ },
+ {
+ "from": "tenant",
+ "to": "group-assignment",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "image",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "instance-group",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.Targets",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vig-server",
+ "to": "ipsec-configuration",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "ctag-assignment",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-network",
+ "to": "network-policy",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-network",
+ "to": "route-table-reference",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-network",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "segmentation-assignment",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "subnet",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "lag-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "p-interface",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "lag-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "logical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "sriov-vf",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vlan",
+ "to": "l-interface",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "lag-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "pnf",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "pserver",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "model-ver",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "constrained-element-set",
+ "to": "model-constraint",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "constrained-element-set",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "model-constraint",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "model-element",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "model-element",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "model-element",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "named-query",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "named-query-element",
+ "to": "named-query",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "named-query-element",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "named-query-element",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "property-constraint",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "related-lookup",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "newvce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "oam-network",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "oam-network",
+ "to": "service-capability",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "p-interface",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "logical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "physical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "pnf",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "pnf",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pnf",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "pnf",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pnf",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "cvlan-tag",
+ "to": "port-group",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "pserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "pserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "site-pair",
+ "to": "routing-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "allotted-resource",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "connector",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "ctag-assignment",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "cvlan-tag",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "pnf",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "service-subscription",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "class-of-service",
+ "to": "site-pair",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "routing-instance",
+ "to": "site-pair-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-subscription",
+ "to": "tenant",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "tenant",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "tenant",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "entitlement",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "license",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "port-group",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vce",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vce",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vce",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "vnfc",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vlan",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vlan",
+ "to": "multicast-configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "tenant",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "volume-group",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "vpls-pe",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "vpls-pe",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vpls-pe",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vpls-pe",
+ "to": "ctag-pool",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "vserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "vserver",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vnfc",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "flavor",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "image",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "pserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "snapshot",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "volume",
+ "label": "tosca.relationships.AttachesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "${direction}",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "zone",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ }
+ ]
+} \ No newline at end of file
diff --git a/aai-core/src/test/resources/dbedgerules/DbEdgerules_two.json b/aai-core/src/test/resources/dbedgerules/DbEdgerules_two.json
new file mode 100644
index 00000000..afc7e91d
--- /dev/null
+++ b/aai-core/src/test/resources/dbedgerules/DbEdgerules_two.json
@@ -0,0 +1,1467 @@
+{
+ "rules": [
+ {
+ "from": "availability-zone",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "availability-zone",
+ "to": "service-capability",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "availability-zone",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "cloud-region",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "cloud-region",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "dvs-switch",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "flavor",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "group-assignment",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "image",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "oam-network",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "snapshot",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "tenant",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "volume-group",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "complex",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "ctag-pool",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "connector",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "connector",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "element-choice-set",
+ "to": "constrained-element-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "ctag-pool",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "service-subscription",
+ "to": "customer",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "dvs-switch",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "model-element",
+ "to": "element-choice-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "ipsec-configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "pserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vnfc",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "vnf-image",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "network-profile",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "site-pair-set",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "group-assignment",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "${direction}",
+ "default": "true"
+ },
+ {
+ "from": "tenant",
+ "to": "group-assignment",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "image",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vig-server",
+ "to": "ipsec-configuration",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "ctag-assignment",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-network",
+ "to": "network-policy",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-network",
+ "to": "route-table-reference",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-network",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "segmentation-assignment",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "subnet",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "lag-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "p-interface",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "lag-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "logical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "sriov-vf",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vlan",
+ "to": "l-interface",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "lag-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "pnf",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "pserver",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "constrained-element-set",
+ "to": "model-constraint",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "constrained-element-set",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "model-constraint",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "model-element",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "named-query",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "named-query-element",
+ "to": "named-query",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "named-query-element",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "named-query-element",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "property-constraint",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "related-lookup",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "newvce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "oam-network",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "oam-network",
+ "to": "service-capability",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "p-interface",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "logical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "physical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "pnf",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "pnf",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pnf",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "cvlan-tag",
+ "to": "port-group",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "pserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "pserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "site-pair",
+ "to": "routing-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "connector",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "cvlan-tag",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "service-subscription",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "class-of-service",
+ "to": "site-pair",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "routing-instance",
+ "to": "site-pair-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-subscription",
+ "to": "tenant",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "tenant",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "tenant",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "port-group",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vce",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vce",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vce",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "vnfc",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vlan",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vlan",
+ "to": "multicast-configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "tenant",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "volume-group",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "vpls-pe",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "vpls-pe",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vpls-pe",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vpls-pe",
+ "to": "ctag-pool",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "vserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "vserver",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vnfc",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "flavor",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "image",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "model-element",
+ "to": "model",
+ "label": "isA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "model",
+ "to": "model-element",
+ "label": "startsWith",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "${direction}",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "pserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "snapshot",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "volume",
+ "label": "tosca.relationships.AttachesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "${direction}",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ }
+ ]
+} \ No newline at end of file
diff --git a/aai-core/src/test/resources/onap/dbedgerules/v10/DbEdgeRules_v10.json b/aai-core/src/test/resources/onap/dbedgerules/v10/DbEdgeRules_v10.json
new file mode 100644
index 00000000..1f749453
--- /dev/null
+++ b/aai-core/src/test/resources/onap/dbedgerules/v10/DbEdgeRules_v10.json
@@ -0,0 +1,1808 @@
+{
+ "rules": [
+ {
+ "from": "allotted-resource",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "network-policy",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "tunnel-xconnect",
+ "to": "allotted-resource",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "availability-zone",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "availability-zone",
+ "to": "service-capability",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "availability-zone",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "cloud-region",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "cloud-region",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "cloud-region",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "dvs-switch",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "flavor",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "group-assignment",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "image",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "oam-network",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "snapshot",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "tenant",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "volume-group",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "complex",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "ctag-pool",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "connector",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "connector",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "element-choice-set",
+ "to": "constrained-element-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "ctag-pool",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "service-subscription",
+ "to": "customer",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "dvs-switch",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "model-element",
+ "to": "element-choice-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "entitlement",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "ipsec-configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "pserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vnfc",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "vnf-image",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "license",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "network-profile",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "site-pair-set",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "group-assignment",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "${direction}",
+ "default": "true"
+ },
+ {
+ "from": "tenant",
+ "to": "group-assignment",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "image",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "instance-group",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.Targets",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vig-server",
+ "to": "ipsec-configuration",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "ctag-assignment",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-network",
+ "to": "network-policy",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-network",
+ "to": "route-table-reference",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-network",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "segmentation-assignment",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "subnet",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "lag-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "p-interface",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "lag-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "logical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "sriov-vf",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vlan",
+ "to": "l-interface",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "lag-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "pnf",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "pserver",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "model-ver",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "constrained-element-set",
+ "to": "model-constraint",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "constrained-element-set",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "model-constraint",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "model-element",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "model-element",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "model-element",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "named-query",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "named-query-element",
+ "to": "named-query",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "named-query-element",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "named-query-element",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "property-constraint",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "related-lookup",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "newvce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "oam-network",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "oam-network",
+ "to": "service-capability",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "p-interface",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "logical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "physical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "pnf",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "pnf",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pnf",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "pnf",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pnf",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "cvlan-tag",
+ "to": "port-group",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "pserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "pserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "site-pair",
+ "to": "routing-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "allotted-resource",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "connector",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "ctag-assignment",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "cvlan-tag",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "pnf",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "service-subscription",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "class-of-service",
+ "to": "site-pair",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "routing-instance",
+ "to": "site-pair-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-subscription",
+ "to": "tenant",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "tenant",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "tenant",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "entitlement",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "license",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "port-group",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vce",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vce",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vce",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "vnfc",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vlan",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vlan",
+ "to": "multicast-configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "tenant",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "volume-group",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "vpls-pe",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "vpls-pe",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vpls-pe",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vpls-pe",
+ "to": "ctag-pool",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "route-target",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "vserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "vserver",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vnfc",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "flavor",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "image",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "pserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "snapshot",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "volume",
+ "label": "tosca.relationships.AttachesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "${direction}",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "zone",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ }
+ ]
+}
diff --git a/aai-core/src/test/resources/onap/dbedgerules/v11/DbEdgeRules_esr_v11.json b/aai-core/src/test/resources/onap/dbedgerules/v11/DbEdgeRules_esr_v11.json
new file mode 100644
index 00000000..e5ba23ba
--- /dev/null
+++ b/aai-core/src/test/resources/onap/dbedgerules/v11/DbEdgeRules_esr_v11.json
@@ -0,0 +1,64 @@
+{
+ "rules": [
+ {
+ "from": "esr-system-info",
+ "to": "esr-ems",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "esr-system-info",
+ "to": "esr-vnfm",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "esr-system-info",
+ "to": "esr-thirdparty-sdnc",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "esr-thirdparty-sdnc",
+ "to": "pnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "esr-system-info",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ }
+ ]
+}
diff --git a/aai-core/src/test/resources/onap/dbedgerules/v11/DbEdgeRules_v11.json b/aai-core/src/test/resources/onap/dbedgerules/v11/DbEdgeRules_v11.json
new file mode 100644
index 00000000..bd9d6176
--- /dev/null
+++ b/aai-core/src/test/resources/onap/dbedgerules/v11/DbEdgeRules_v11.json
@@ -0,0 +1,2138 @@
+{
+ "rules": [
+ {
+ "from": "allotted-resource",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "network-policy",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "tunnel-xconnect",
+ "to": "allotted-resource",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "availability-zone",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "availability-zone",
+ "to": "service-capability",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "availability-zone",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "cloud-region",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "cloud-region",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "cloud-region",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "dvs-switch",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "flavor",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "group-assignment",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "image",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "oam-network",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "snapshot",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "tenant",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vip-ipv4-address-list",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vip-ipv6-address-list",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "volume-group",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "complex",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "ctag-pool",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "configuration",
+ "to": "allotted-resource",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "configuration",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "connector",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "connector",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "element-choice-set",
+ "to": "constrained-element-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "ctag-pool",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "service-subscription",
+ "to": "customer",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "dvs-switch",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "model-element",
+ "to": "element-choice-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "entitlement",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "ctag-pool",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "ipsec-configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "pnf",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "pserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vnfc",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "vnf-image",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "license",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "network-profile",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "site-pair-set",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "group-assignment",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "${direction}",
+ "default": "true"
+ },
+ {
+ "from": "tenant",
+ "to": "group-assignment",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "image",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "instance-group",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.Targets",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vig-server",
+ "to": "ipsec-configuration",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "ctag-assignment",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-network",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-network",
+ "to": "network-policy",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-network",
+ "to": "route-table-reference",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-network",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "segmentation-assignment",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "subnet",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "lag-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "p-interface",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "lag-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "line-of-business",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "logical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "sriov-vf",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vlan",
+ "to": "l-interface",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "lag-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "pnf",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "pserver",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "model-ver",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "constrained-element-set",
+ "to": "model-constraint",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "constrained-element-set",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "model-constraint",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "model-element",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "model-element",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "model-element",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "named-query",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "named-query-element",
+ "to": "named-query",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "named-query-element",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "named-query-element",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "property-constraint",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "related-lookup",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "newvce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "oam-network",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "oam-network",
+ "to": "service-capability",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "owning-entity",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "p-interface",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "logical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "physical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "sriov-pf",
+ "to": "p-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "platform",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "pnf",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "pnf",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pnf",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "pnf",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pnf",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "cvlan-tag",
+ "to": "port-group",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "project",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "pserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "pserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "pserver",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "site-pair",
+ "to": "routing-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "allotted-resource",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "connector",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "ctag-assignment",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "cvlan-tag",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "pnf",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "service-subscription",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "class-of-service",
+ "to": "site-pair",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "routing-instance",
+ "to": "site-pair-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "sriov-vf",
+ "to": "sriov-pf",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "host-route",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-subscription",
+ "to": "tenant",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "tenant",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "tenant",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "entitlement",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "license",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "port-group",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vce",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vce",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vce",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "vnfc",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vip-ipv4-address-list",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vip-ipv4-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vip-ipv6-address-list",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vip-ipv6-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vlan",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vlan",
+ "to": "multicast-configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "vnfc",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "vnfc",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vnfc",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vnfc",
+ "to": "vip-ipv4-address-list",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vnfc",
+ "to": "vip-ipv6-address-list",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "tenant",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "volume-group",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "lag-interface",
+ "to": "vpls-pe",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "p-interface",
+ "to": "vpls-pe",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vpls-pe",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vpls-pe",
+ "to": "ctag-pool",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "route-target",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "l-interface",
+ "to": "vserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "vserver",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vnfc",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "flavor",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "image",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "pserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "snapshot",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "vserver",
+ "to": "volume",
+ "label": "tosca.relationships.AttachesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "${direction}",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "metadatum",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "zone",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ }
+ ]
+}
diff --git a/aai-core/src/test/resources/onap/dbedgerules/v12/DbEdgeRules_esr_v12.json b/aai-core/src/test/resources/onap/dbedgerules/v12/DbEdgeRules_esr_v12.json
new file mode 100644
index 00000000..e5ba23ba
--- /dev/null
+++ b/aai-core/src/test/resources/onap/dbedgerules/v12/DbEdgeRules_esr_v12.json
@@ -0,0 +1,64 @@
+{
+ "rules": [
+ {
+ "from": "esr-system-info",
+ "to": "esr-ems",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "esr-system-info",
+ "to": "esr-vnfm",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "esr-system-info",
+ "to": "esr-thirdparty-sdnc",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "esr-thirdparty-sdnc",
+ "to": "pnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "esr-system-info",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ }
+ ]
+}
diff --git a/aai-core/src/test/resources/onap/dbedgerules/v12/DbEdgeRules_hpa_v12.json b/aai-core/src/test/resources/onap/dbedgerules/v12/DbEdgeRules_hpa_v12.json
new file mode 100644
index 00000000..b4ee2501
--- /dev/null
+++ b/aai-core/src/test/resources/onap/dbedgerules/v12/DbEdgeRules_hpa_v12.json
@@ -0,0 +1,43 @@
+{
+ "rules": [
+ {
+ "from": "hpa-capability",
+ "to": "flavor",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description": ""
+ },
+ {
+ "from": "hpa-capability",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description": ""
+ },
+ {
+ "from": "hpa-feature-attributes",
+ "to": "hpa-capability",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "SVC-INFRA": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description": ""
+ }
+ ]
+} \ No newline at end of file
diff --git a/aai-core/src/test/resources/onap/dbedgerules/v12/DbEdgeRules_v12.json b/aai-core/src/test/resources/onap/dbedgerules/v12/DbEdgeRules_v12.json
new file mode 100644
index 00000000..087a71ab
--- /dev/null
+++ b/aai-core/src/test/resources/onap/dbedgerules/v12/DbEdgeRules_v12.json
@@ -0,0 +1,2500 @@
+{
+ "rules": [
+ {
+ "from": "allotted-resource",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "allotted-resource",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "allotted-resource",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "allotted-resource",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "allotted-resource",
+ "to": "network-policy",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "allotted-resource",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "allotted-resource",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "tunnel-xconnect",
+ "to": "allotted-resource",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "availability-zone",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "availability-zone",
+ "to": "service-capability",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "availability-zone",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "cloud-region",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "cloud-region",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "cloud-region",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "dvs-switch",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "flavor",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "group-assignment",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "image",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "oam-network",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "snapshot",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "tenant",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vip-ipv4-address-list",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vip-ipv6-address-list",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "volume-group",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "complex",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "ctag-pool",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "configuration",
+ "to": "allotted-resource",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "configuration",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "metadatum",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "connector",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "metadatum",
+ "to": "connector",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "element-choice-set",
+ "to": "constrained-element-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "ctag-pool",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-subscription",
+ "to": "customer",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "dvs-switch",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "model-element",
+ "to": "element-choice-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "entitlement",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "ctag-pool",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "ipsec-configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "pnf",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "pserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vnfc",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "vnf-image",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "lag-interface",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "license",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "network-profile",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "site-pair-set",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vf-module",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pserver",
+ "to": "group-assignment",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "tenant",
+ "to": "group-assignment",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "metadatum",
+ "to": "image",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "instance-group",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.Targets",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vig-server",
+ "to": "ipsec-configuration",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "ctag-assignment",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-network",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-network",
+ "to": "network-policy",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-network",
+ "to": "route-table-reference",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-network",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "segmentation-assignment",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "subnet",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "lag-interface",
+ "to": "lag-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "lag-interface",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "lag-interface",
+ "to": "p-interface",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "lag-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "line-of-business",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "logical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.Source",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "false",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.Destination",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "false",
+ "description":""
+ },
+ {
+ "from": "sriov-vf",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vlan",
+ "to": "l-interface",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "lag-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "pnf",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "pserver",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "model-ver",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "constrained-element-set",
+ "to": "model-constraint",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "constrained-element-set",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "model-constraint",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "model-element",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "model-element",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "metadatum",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "model-element",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "named-query",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "named-query-element",
+ "to": "named-query",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "named-query-element",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "named-query-element",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "property-constraint",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "related-lookup",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "newvce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "oam-network",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "oam-network",
+ "to": "service-capability",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "operational-environment",
+ "to": "operational-environment",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "owning-entity",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "p-interface",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "p-interface",
+ "to": "logical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "p-interface",
+ "to": "physical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "sriov-pf",
+ "to": "p-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "platform",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "lag-interface",
+ "to": "pnf",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "p-interface",
+ "to": "pnf",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pnf",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pnf",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pnf",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "cvlan-tag",
+ "to": "port-group",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "project",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "lag-interface",
+ "to": "pserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "p-interface",
+ "to": "pserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pserver",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pserver",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pserver",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pserver",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "site-pair",
+ "to": "routing-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "allotted-resource",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "metadatum",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "allotted-resource",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "connector",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "ctag-assignment",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "cvlan-tag",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "pnf",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "service-subscription",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "class-of-service",
+ "to": "site-pair",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "routing-instance",
+ "to": "site-pair-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "sriov-vf",
+ "to": "sriov-pf",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "host-route",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-subscription",
+ "to": "tenant",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "tenant",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vserver",
+ "to": "tenant",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "entitlement",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "license",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "port-group",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vce",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vce",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vce",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vf-module",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vf-module",
+ "to": "vnfc",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vf-module",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vip-ipv4-address-list",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vip-ipv4-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vip-ipv6-address-list",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vip-ipv6-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vlan",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vlan",
+ "to": "multicast-configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "vnfc",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "vnfc",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vnfc",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vnfc",
+ "to": "vip-ipv4-address-list",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vnfc",
+ "to": "vip-ipv6-address-list",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "tenant",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "volume-group",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "lag-interface",
+ "to": "vpls-pe",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "p-interface",
+ "to": "vpls-pe",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vpls-pe",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vpls-pe",
+ "to": "ctag-pool",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "route-target",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "vserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vf-module",
+ "to": "vserver",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vnfc",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vserver",
+ "to": "flavor",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vserver",
+ "to": "image",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vserver",
+ "to": "pserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vserver",
+ "to": "snapshot",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vserver",
+ "to": "volume",
+ "label": "tosca.relationships.AttachesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "${direction}",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "zone",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "configuration",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "configuration",
+ "to": "pnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarder",
+ "to": "forwarding-path",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarding-path",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarder",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.ForwardsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarder",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarding-path",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarder",
+ "to": "lag-interface",
+ "label": "org.onap.relationships.inventory.ForwardsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "evc",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarder-evc",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarder",
+ "to": "p-interface",
+ "label": "org.onap.relationships.inventory.ForwardsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ }
+ ]
+}
diff --git a/aai-core/src/test/resources/onap/dbedgerules/v13/DbEdgeRules_esr_v13.json b/aai-core/src/test/resources/onap/dbedgerules/v13/DbEdgeRules_esr_v13.json
new file mode 100644
index 00000000..e5ba23ba
--- /dev/null
+++ b/aai-core/src/test/resources/onap/dbedgerules/v13/DbEdgeRules_esr_v13.json
@@ -0,0 +1,64 @@
+{
+ "rules": [
+ {
+ "from": "esr-system-info",
+ "to": "esr-ems",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "esr-system-info",
+ "to": "esr-vnfm",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "esr-system-info",
+ "to": "esr-thirdparty-sdnc",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "esr-thirdparty-sdnc",
+ "to": "pnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "esr-system-info",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ }
+ ]
+}
diff --git a/aai-core/src/test/resources/onap/dbedgerules/v13/DbEdgeRules_hpa_v13.json b/aai-core/src/test/resources/onap/dbedgerules/v13/DbEdgeRules_hpa_v13.json
new file mode 100644
index 00000000..1a0ca0af
--- /dev/null
+++ b/aai-core/src/test/resources/onap/dbedgerules/v13/DbEdgeRules_hpa_v13.json
@@ -0,0 +1,43 @@
+{
+ "rules": [
+ {
+ "from": "hpa-capability",
+ "to": "flavor",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description": ""
+ },
+ {
+ "from": "hpa-capability",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description": ""
+ },
+ {
+ "from": "hpa-feature-attributes",
+ "to": "hpa-capability",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "SVC-INFRA": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description": ""
+ }
+ ]
+}
diff --git a/aai-core/src/test/resources/onap/dbedgerules/v13/DbEdgeRules_v13.json b/aai-core/src/test/resources/onap/dbedgerules/v13/DbEdgeRules_v13.json
new file mode 100644
index 00000000..fb455895
--- /dev/null
+++ b/aai-core/src/test/resources/onap/dbedgerules/v13/DbEdgeRules_v13.json
@@ -0,0 +1,2824 @@
+{
+ "rules": [
+ {
+ "from": "allotted-resource",
+ "to": "allotted-resource",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":"AAI-1925"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "allotted-resource",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "allotted-resource",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "allotted-resource",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "allotted-resource",
+ "to": "network-policy",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "allotted-resource",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "allotted-resource",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "tunnel-xconnect",
+ "to": "allotted-resource",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "availability-zone",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "availability-zone",
+ "to": "service-capability",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "availability-zone",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "cloud-region",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "cloud-region",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "cloud-region",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "dvs-switch",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "flavor",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "group-assignment",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "image",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "oam-network",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "snapshot",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "tenant",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vip-ipv4-address-list",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vip-ipv6-address-list",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "volume-group",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "complex",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "ctag-pool",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "configuration",
+ "to": "allotted-resource",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "configuration",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "metadatum",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "connector",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "metadatum",
+ "to": "connector",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "element-choice-set",
+ "to": "constrained-element-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "ctag-pool",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-subscription",
+ "to": "customer",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "dvs-switch",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "model-element",
+ "to": "element-choice-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "entitlement",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "ctag-pool",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "ipsec-configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "pnf",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "pserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vnfc",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "vnf-image",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "lag-interface",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "license",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "network-profile",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "site-pair-set",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vf-module",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pserver",
+ "to": "group-assignment",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "tenant",
+ "to": "group-assignment",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "metadatum",
+ "to": "image",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "instance-group",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.Targets",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vig-server",
+ "to": "ipsec-configuration",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "ctag-assignment",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-network",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-network",
+ "to": "network-policy",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-network",
+ "to": "route-table-reference",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-network",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "segmentation-assignment",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "subnet",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "lag-interface",
+ "to": "lag-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "lag-interface",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "lag-interface",
+ "to": "p-interface",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "lag-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "lag-interface",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "false",
+ "description":""
+ },
+ {
+ "from": "line-of-business",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "logical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.Source",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "false",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.Destination",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "false",
+ "description":""
+ },
+ {
+ "from": "sriov-vf",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vlan",
+ "to": "l-interface",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "lag-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "pnf",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "pserver",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "model-ver",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "constrained-element-set",
+ "to": "model-constraint",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "constrained-element-set",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "model-constraint",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "model-element",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "model-element",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "metadatum",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "model-element",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "named-query",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "named-query-element",
+ "to": "named-query",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "named-query-element",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "named-query-element",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "property-constraint",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "related-lookup",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "newvce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "oam-network",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "oam-network",
+ "to": "service-capability",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "operational-environment",
+ "to": "operational-environment",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "owning-entity",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "p-interface",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "p-interface",
+ "to": "logical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "p-interface",
+ "to": "physical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "sriov-pf",
+ "to": "p-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "platform",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "lag-interface",
+ "to": "pnf",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "p-interface",
+ "to": "pnf",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pnf",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pnf",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pnf",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "cvlan-tag",
+ "to": "port-group",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "project",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "lag-interface",
+ "to": "pserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "p-interface",
+ "to": "pserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pserver",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pserver",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pserver",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pserver",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "site-pair",
+ "to": "routing-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "allotted-resource",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "metadatum",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "allotted-resource",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "connector",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "ctag-assignment",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "cvlan-tag",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "pnf",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "service-subscription",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "class-of-service",
+ "to": "site-pair",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "routing-instance",
+ "to": "site-pair-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "sriov-vf",
+ "to": "sriov-pf",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "host-route",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-subscription",
+ "to": "tenant",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "tenant",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vserver",
+ "to": "tenant",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "entitlement",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "license",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "port-group",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vce",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vce",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vce",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vf-module",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vf-module",
+ "to": "vnfc",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vf-module",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vip-ipv4-address-list",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vip-ipv4-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vip-ipv6-address-list",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vip-ipv6-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vlan",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vlan",
+ "to": "multicast-configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "vnfc",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "vnfc",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vnfc",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vnfc",
+ "to": "vip-ipv4-address-list",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vnfc",
+ "to": "vip-ipv6-address-list",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "tenant",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "volume-group",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "lag-interface",
+ "to": "vpls-pe",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "p-interface",
+ "to": "vpls-pe",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vpls-pe",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vpls-pe",
+ "to": "ctag-pool",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "route-target",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "vserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vf-module",
+ "to": "vserver",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vnfc",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vserver",
+ "to": "flavor",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vserver",
+ "to": "image",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vserver",
+ "to": "pserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vserver",
+ "to": "snapshot",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vserver",
+ "to": "volume",
+ "label": "tosca.relationships.AttachesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "${direction}",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "zone",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "configuration",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "configuration",
+ "to": "pnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarder",
+ "to": "forwarding-path",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarding-path",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarder",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.ForwardsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarder",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarding-path",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarder",
+ "to": "lag-interface",
+ "label": "org.onap.relationships.inventory.ForwardsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "evc",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarder-evc",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarder",
+ "to": "p-interface",
+ "label": "org.onap.relationships.inventory.ForwardsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "nos-server",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "nos-server",
+ "to": "pserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "nos-server",
+ "to": "tenant",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "configuration",
+ "to": "configuration",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "configuration",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "configuration",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vpn-binding",
+ "to": "customer",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "false",
+ "description":""
+ },
+ {
+ "from": "forwarder",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description": "Points to the generic-vnf(s) involved in this forwarding step."
+ },
+ {
+ "from": "cloud-region",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description": ""
+ },
+ {
+ "from": "instance-group",
+ "to": "collection",
+ "label": "org.onap.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description": ""
+ },
+ {
+ "from": "service-instance",
+ "to": "collection",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description": ""
+ },
+ {
+ "from": "vlan-mapping",
+ "to": "forwarder-evc",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description": ""
+ },
+ {
+ "from": "allotted-resource",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ },
+ {
+ "from": "configuration",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ },
+ {
+ "from": "connector",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ },
+ {
+ "from": "instance-group",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ },
+ {
+ "from": "l3-network",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ },
+ {
+ "from": "vnfc",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ },
+ {
+ "from": "pnf",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ },
+ {
+ "from": "collection",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ }
+ ]
+}
diff --git a/aai-core/src/test/resources/onap/dbedgerules/v14/DbEdgeRules_ccvpn_v14.json b/aai-core/src/test/resources/onap/dbedgerules/v14/DbEdgeRules_ccvpn_v14.json
new file mode 100644
index 00000000..90c6af32
--- /dev/null
+++ b/aai-core/src/test/resources/onap/dbedgerules/v14/DbEdgeRules_ccvpn_v14.json
@@ -0,0 +1,352 @@
+{
+ "rules": [
+ {
+ "from": "allotted-resource",
+ "to": "p-interface",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":"AAI-1925 For CCVPN Usecase"
+ },
+ {
+ "from": "vpn-binding",
+ "to": "p-interface",
+ "label": "org.onap.relationships.inventory.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "sp-partner",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "connectivity",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "connectivity",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "lan-port-config",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "lan-port-config",
+ "to": "dhcp-service",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "${direction}",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "network-resource",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "pnf",
+ "to": "network-resource",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "${direction}",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "site-resource",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "site-resource",
+ "to": "allotted-resource",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "site-resource",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "sdwan-vpn",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "sdwan-vpn",
+ "to": "tenant",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "sdwan-vpn",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "device",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "device",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "wan-port-config",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "ext-aai-network",
+ "to": "esr-system-info",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "${direction}",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "logical-link",
+ "to": "ext-aai-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "vpn-binding",
+ "to": "ext-aai-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "pnf",
+ "to": "ext-aai-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "connectivity",
+ "to": "ext-aai-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "lan-port-config",
+ "to": "ext-aai-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "network-resource",
+ "to": "ext-aai-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "site-resource",
+ "to": "ext-aai-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "sdwan-vpn",
+ "to": "ext-aai-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "device",
+ "to": "ext-aai-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "wan-port-config",
+ "to": "ext-aai-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ }
+ ]
+}
diff --git a/aai-core/src/test/resources/onap/dbedgerules/v14/DbEdgeRules_esr_v14.json b/aai-core/src/test/resources/onap/dbedgerules/v14/DbEdgeRules_esr_v14.json
new file mode 100644
index 00000000..e5ba23ba
--- /dev/null
+++ b/aai-core/src/test/resources/onap/dbedgerules/v14/DbEdgeRules_esr_v14.json
@@ -0,0 +1,64 @@
+{
+ "rules": [
+ {
+ "from": "esr-system-info",
+ "to": "esr-ems",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "esr-system-info",
+ "to": "esr-vnfm",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "esr-system-info",
+ "to": "esr-thirdparty-sdnc",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "esr-thirdparty-sdnc",
+ "to": "pnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "esr-system-info",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ }
+ ]
+}
diff --git a/aai-core/src/test/resources/onap/dbedgerules/v14/DbEdgeRules_hpa_v14.json b/aai-core/src/test/resources/onap/dbedgerules/v14/DbEdgeRules_hpa_v14.json
new file mode 100644
index 00000000..a2d44442
--- /dev/null
+++ b/aai-core/src/test/resources/onap/dbedgerules/v14/DbEdgeRules_hpa_v14.json
@@ -0,0 +1,68 @@
+{
+ "rules": [
+ {
+ "from": "hpa-capability",
+ "to": "flavor",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "hpa-capability",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "hpa-feature-attributes",
+ "to": "hpa-capability",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "SVC-INFRA": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "hpa-capacity",
+ "to": "pserver",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "SVC-INFRA": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":"HPA Capacity KV for given compute node"
+ },
+ {
+ "from": "flavor",
+ "to": "pserver",
+ "label": "org.onap.relationships.inventory.CanBeInstantiatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":"HPA Capacity getting the compute nodes from given flavor"
+ }
+ ]
+}
diff --git a/aai-core/src/test/resources/onap/dbedgerules/v14/DbEdgeRules_pnp_v14.json b/aai-core/src/test/resources/onap/dbedgerules/v14/DbEdgeRules_pnp_v14.json
new file mode 100644
index 00000000..5f8f4306
--- /dev/null
+++ b/aai-core/src/test/resources/onap/dbedgerules/v14/DbEdgeRules_pnp_v14.json
@@ -0,0 +1,17 @@
+{
+ "rules": [
+ {
+ "from": "software-version",
+ "to": "pnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ }
+ ]
+}
diff --git a/aai-core/src/test/resources/onap/dbedgerules/v14/DbEdgeRules_v14.json b/aai-core/src/test/resources/onap/dbedgerules/v14/DbEdgeRules_v14.json
new file mode 100644
index 00000000..2eed8007
--- /dev/null
+++ b/aai-core/src/test/resources/onap/dbedgerules/v14/DbEdgeRules_v14.json
@@ -0,0 +1,3056 @@
+{
+ "rules": [
+ {
+ "from": "allotted-resource",
+ "to": "allotted-resource",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":"AAI-1925"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "allotted-resource",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "allotted-resource",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "allotted-resource",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "allotted-resource",
+ "to": "network-policy",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "allotted-resource",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "allotted-resource",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "tunnel-xconnect",
+ "to": "allotted-resource",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "availability-zone",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "availability-zone",
+ "to": "service-capability",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "availability-zone",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "cloud-region",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "cloud-region",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "cloud-region",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "dvs-switch",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "flavor",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "group-assignment",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "image",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "oam-network",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "snapshot",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "tenant",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vip-ipv4-address-list",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vip-ipv6-address-list",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "volume-group",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "complex",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "ctag-pool",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "configuration",
+ "to": "allotted-resource",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "configuration",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "metadatum",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "connector",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "metadatum",
+ "to": "connector",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "element-choice-set",
+ "to": "constrained-element-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "ctag-pool",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-subscription",
+ "to": "customer",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "dvs-switch",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "model-element",
+ "to": "element-choice-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "entitlement",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "ctag-pool",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "ipsec-configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "pnf",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "pserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vnfc",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "vnf-image",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "tenant",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "lag-interface",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "license",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "network-profile",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "site-pair-set",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vf-module",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pserver",
+ "to": "group-assignment",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "tenant",
+ "to": "group-assignment",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "metadatum",
+ "to": "image",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "instance-group",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.Targets",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vig-server",
+ "to": "ipsec-configuration",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.network.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "ctag-assignment",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-network",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-network",
+ "to": "network-policy",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-network",
+ "to": "route-table-reference",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-network",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "segmentation-assignment",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "subnet",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "lag-interface",
+ "to": "lag-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "lag-interface",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "lag-interface",
+ "to": "p-interface",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "lag-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "lag-interface",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "false",
+ "description":""
+ },
+ {
+ "from": "line-of-business",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "logical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.Source",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "false",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.Destination",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "false",
+ "description":""
+ },
+ {
+ "from": "sriov-vf",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vlan",
+ "to": "l-interface",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "lag-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "pnf",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "pserver",
+ "label": "org.onap.relationships.inventory.BridgedTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "model-ver",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "constrained-element-set",
+ "to": "model-constraint",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "constrained-element-set",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "model-constraint",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "model-element",
+ "to": "model-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "model-element",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "metadatum",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "model-element",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "named-query",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "named-query-element",
+ "to": "named-query",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "named-query-element",
+ "to": "model",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "named-query-element",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "property-constraint",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "related-lookup",
+ "to": "named-query-element",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "newvce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "oam-network",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "oam-network",
+ "to": "service-capability",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "operational-environment",
+ "to": "operational-environment",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "owning-entity",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "p-interface",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "p-interface",
+ "to": "logical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "p-interface",
+ "to": "physical-link",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "sriov-pf",
+ "to": "p-interface",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "platform",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "lag-interface",
+ "to": "pnf",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "p-interface",
+ "to": "pnf",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pnf",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pnf",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pnf",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "cvlan-tag",
+ "to": "port-group",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "project",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "lag-interface",
+ "to": "pserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "p-interface",
+ "to": "pserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pserver",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pserver",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pserver",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "pserver",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "site-pair",
+ "to": "routing-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "allotted-resource",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "metadatum",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "allotted-resource",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "connector",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "ctag-assignment",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "cvlan-tag",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "pnf",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "zone",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "service-subscription",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "class-of-service",
+ "to": "site-pair",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "routing-instance",
+ "to": "site-pair-set",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "sriov-vf",
+ "to": "sriov-pf",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "host-route",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-subscription",
+ "to": "tenant",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "tenant",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vserver",
+ "to": "tenant",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "entitlement",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "license",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "port-group",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "vce",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vce",
+ "to": "availability-zone",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vce",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vce",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vf-module",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vf-module",
+ "to": "vnfc",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vf-module",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vip-ipv4-address-list",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vip-ipv4-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vip-ipv6-address-list",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vip-ipv6-address-list",
+ "to": "subnet",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "virtual-data-center",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "vlan",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vlan",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vlan",
+ "to": "multicast-configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "vnfc",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "vnfc",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vnfc",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vnfc",
+ "to": "vip-ipv4-address-list",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vnfc",
+ "to": "vip-ipv6-address-list",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "tenant",
+ "to": "volume-group",
+ "label": "org.onap.relationships.inventory.DependsOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "volume-group",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "lag-interface",
+ "to": "vpls-pe",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "p-interface",
+ "to": "vpls-pe",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vpls-pe",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vpls-pe",
+ "to": "ctag-pool",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "route-target",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "vserver",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vf-module",
+ "to": "vserver",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vnfc",
+ "to": "vserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vserver",
+ "to": "flavor",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vserver",
+ "to": "image",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vserver",
+ "to": "pserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vserver",
+ "to": "snapshot",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vserver",
+ "to": "volume",
+ "label": "tosca.relationships.AttachesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "${direction}",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "zone",
+ "to": "complex",
+ "label": "org.onap.relationships.inventory.LocatedIn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "configuration",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "configuration",
+ "to": "pnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarder",
+ "to": "forwarding-path",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarding-path",
+ "to": "service-instance",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarder",
+ "to": "l-interface",
+ "label": "org.onap.relationships.inventory.ForwardsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarder",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarding-path",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarder",
+ "to": "lag-interface",
+ "label": "org.onap.relationships.inventory.ForwardsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "evc",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarder-evc",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "forwarder",
+ "to": "p-interface",
+ "label": "org.onap.relationships.inventory.ForwardsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "nos-server",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "nos-server",
+ "to": "pserver",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "nos-server",
+ "to": "tenant",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "configuration",
+ "to": "configuration",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "configuration",
+ "to": "vpn-binding",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "configuration",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vpn-binding",
+ "to": "customer",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "configuration",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "false",
+ "description":""
+ },
+ {
+ "from": "forwarder",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.AppliesTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description": "Points to the generic-vnf(s) involved in this forwarding step."
+ },
+ {
+ "from": "cloud-region",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description": ""
+ },
+ {
+ "from": "instance-group",
+ "to": "collection",
+ "label": "org.onap.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description": ""
+ },
+ {
+ "from": "service-instance",
+ "to": "collection",
+ "label": "org.onap.relationships.inventory.ComposedOf",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description": ""
+ },
+ {
+ "from": "vlan-mapping",
+ "to": "forwarder-evc",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description": ""
+ },
+ {
+ "from": "allotted-resource",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ },
+ {
+ "from": "configuration",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ },
+ {
+ "from": "connector",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ },
+ {
+ "from": "instance-group",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ },
+ {
+ "from": "l3-network",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ },
+ {
+ "from": "logical-link",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ },
+ {
+ "from": "vf-module",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ },
+ {
+ "from": "vnfc",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ },
+ {
+ "from": "pnf",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ },
+ {
+ "from": "collection",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "private": "true"
+ },
+ {
+ "from": "configuration",
+ "to": "vnfc",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vnfc",
+ "to": "cp",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "${direction}",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":"cp is child of vnfc"
+ },
+ {
+ "from": "l3-interface-ipv4-address-list",
+ "to": "cp",
+ "label": "org.onap.relationships.inventory.network.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-interface-ipv6-address-list",
+ "to": "cp",
+ "label": "org.onap.relationships.inventory.network.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vip-ipv4-address-list",
+ "to": "cp",
+ "label": "org.onap.relationships.inventory.network.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vip-ipv6-address-list",
+ "to": "cp",
+ "label": "org.onap.relationships.inventory.network.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vlan-tag",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vlan-tag",
+ "to": "cloud-region",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vlan-tag",
+ "to": "cp",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l-interface",
+ "to": "cp",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-network",
+ "to": "cp",
+ "label": "tosca.relationships.network.LinksTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "line-of-business",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "platform",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-network",
+ "to": "l3-network",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "false",
+ "description":""
+ },
+ {
+ "from": "instance-group",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "!${direction}",
+ "prevent-delete": "NONE",
+ "default": "false",
+ "description":""
+ },
+ {
+ "from": "cloud-region",
+ "to": "network-technology",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ }
+
+ ]
+}
diff --git a/aai-core/src/test/resources/onap/oxm/v10/aai_oxm_v10.xml b/aai-core/src/test/resources/onap/oxm/v10/aai_oxm_v10.xml
new file mode 100644
index 00000000..e28466b7
--- /dev/null
+++ b/aai-core/src/test/resources/onap/oxm/v10/aai_oxm_v10.xml
@@ -0,0 +1,5586 @@
+<!--
+
+ ============LICENSE_START=======================================================
+ org.onap.aai
+ ================================================================================
+ Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ============LICENSE_END=========================================================
+
+ ECOMP is a trademark and service mark of AT&T Intellectual Property.
+
+-->
+<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v10" xml-mapping-metadata-complete="true">
+ <xml-schema element-form-default="QUALIFIED">
+ <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v10"/>
+ </xml-schema>
+ <java-types>
+ <java-type name="Inventory">
+ <xml-root-element name="inventory"/>
+ <java-attributes>
+ <xml-element java-attribute="search" name="search" type="inventory.aai.onap.org.v10.Search"/>
+ <xml-element java-attribute="actions" name="actions" type="inventory.aai.onap.org.v10.Actions"/>
+ <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.onap.org.v10.CloudInfrastructure"/>
+ <xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v10.Business"/>
+ <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.onap.org.v10.ServiceDesignAndCreation"/>
+ <xml-element java-attribute="network" name="network" type="inventory.aai.onap.org.v10.Network"/>
+ <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.onap.org.v10.AaiInternal"/>
+ <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.onap.org.v10.Nodes"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Nodes">
+ <xml-root-element name="nodes"/>
+ </java-type>
+ <java-type name="Search">
+ <xml-root-element name="search"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeTagQueryResult" name="edge-tag-query-result" type="inventory.aai.onap.org.v10.EdgeTagQueryResult"/>
+ <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.onap.org.v10.EdgeTagQueryRequest"/>
+ <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.onap.org.v10.SearchResults"/>
+ <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.onap.org.v10.SdnZoneResponse"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EdgeTagQueryResult">
+ <xml-root-element name="edge-tag-query-result"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v10.TaggedInventoryItemList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="TaggedInventoryItemList">
+ <xml-root-element name="tagged-inventory-item-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItem" name="inventory-item" type="inventory.aai.onap.org.v10.InventoryItem"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryItem">
+ <xml-root-element name="inventory-item"/>
+ <java-attributes>
+ <xml-element java-attribute="inventoryItemType" name="inventory-item-type" type="java.lang.String"/>
+ <xml-element java-attribute="inventoryItemLink" name="inventory-item-link" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItemData" name="inventory-item-data" type="inventory.aai.onap.org.v10.InventoryItemData"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v10.TaggedInventoryItemList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryItemData">
+ <xml-root-element name="inventory-item-data"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EdgeTagQueryRequest">
+ <xml-root-element name="edge-tag-query-request"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeTag" name="edge-tag" type="java.lang.String"/>
+ <xml-element java-attribute="resultDetail" name="result-detail" type="java.lang.String"/>
+ <xml-element java-attribute="startNodeType" name="start-node-type" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="startNodeFilter" name="start-node-filter" type="inventory.aai.onap.org.v10.StartNodeFilter"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.onap.org.v10.IncludeNodeFilter"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.onap.org.v10.SecondaryFilter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="StartNodeFilter">
+ <xml-root-element name="start-node-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IncludeNodeFilter">
+ <xml-root-element name="include-node-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="includeNodeType" name="include-node-type" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilter">
+ <xml-root-element name="secondary-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="filterType" name="filter-type" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SearchResults">
+ <xml-root-element name="search-results"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="resultData" name="result-data" type="inventory.aai.onap.org.v10.ResultData"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ResultData">
+ <xml-root-element name="result-data"/>
+ <java-attributes>
+ <xml-element java-attribute="resourceType" name="resource-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The specific type of node in the A&amp;AI graph"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceLink" name="resource-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The URL to the specific resource"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SdnZoneResponse">
+ <xml-root-element name="sdn-zone-response"/>
+ <java-attributes>
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v10.OamNetworks"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.onap.org.v10.AzAndDvsSwitches"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AzAndDvsSwitches">
+ <xml-root-element name="az-and-dvs-switches"/>
+ <java-attributes>
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v10.DvsSwitches"/>
+ <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v10.AvailabilityZone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Actions">
+ <xml-properties>
+ <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)."/>
+ </xml-properties>
+ <xml-root-element name="actions"/>
+ <java-attributes>
+ <xml-element java-attribute="update" name="update" type="inventory.aai.onap.org.v10.Update"/>
+ <xml-element java-attribute="notify" name="notify" type="inventory.aai.onap.org.v10.Notify"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Update">
+ <xml-properties>
+ <xml-property name="description" value="Serves a PATCH like function. Does not enforce concurrency control. Clear each usage with AAI team."/>
+ <xml-property name="requiredProps" value="update-node-type"/>
+ </xml-properties>
+ <xml-root-element name="update"/>
+ <java-attributes>
+ <xml-element java-attribute="updateNodeType" name="update-node-type" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="updateNodeKey" name="update-node-key" type="inventory.aai.onap.org.v10.UpdateNodeKey"/>
+ <xml-element java-attribute="updateNodeUri" name="update-node-uri" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="action" name="action" type="inventory.aai.onap.org.v10.Action"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Action">
+ <xml-root-element name="action"/>
+ <java-attributes>
+ <xml-element java-attribute="actionType" name="action-type" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="actionData" name="action-data" type="inventory.aai.onap.org.v10.ActionData"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ActionData">
+ <xml-root-element name="action-data"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="UpdateNodeKey">
+ <xml-root-element name="update-node-key"/>
+ <java-attributes>
+ <xml-element java-attribute="keyName" name="key-name" type="java.lang.String"/>
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Notify">
+ <xml-root-element name="notify"/>
+ <java-attributes>
+ <xml-element java-attribute="eventId" name="event-id" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="nodeType" name="node-type" type="java.lang.String"/>
+ <xml-element java-attribute="eventTrigger" name="event-trigger" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="keyData" name="key-data" type="inventory.aai.onap.org.v10.KeyData"/>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="KeyData">
+ <xml-root-element name="key-data"/>
+ <java-attributes>
+ <xml-element java-attribute="keyName" name="key-name" type="java.lang.String"/>
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CloudInfrastructure">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for cloud infrastructure."/>
+ </xml-properties>
+ <xml-root-element name="cloud-infrastructure"/>
+ <java-attributes>
+ <xml-element java-attribute="complexes" name="complexes" type="inventory.aai.onap.org.v10.Complexes"/>
+ <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.onap.org.v10.CloudRegions"/>
+ <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.onap.org.v10.NetworkProfiles"/>
+ <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.onap.org.v10.Pservers"/>
+ <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.onap.org.v10.VirtualDataCenters"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CloudRegions">
+ <xml-root-element name="cloud-regions"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cloudRegion" name="cloud-region" type="inventory.aai.onap.org.v10.CloudRegion"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CloudRegion">
+ <xml-root-element name="cloud-region"/>
+ <java-attributes>
+ <xml-element java-attribute="cloudOwner" name="cloud-owner" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifies the vendor and cloud name. First part of composite key should be formatted as vendor-cloudname"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudRegionId" name="cloud-region-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite key"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudType" name="cloud-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the cloud (e.g., openstack)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ownerDefinedType" name="owner-defined-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Cloud-owner defined type indicator (e.g., dcp, lcp)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudRegionVersion" name="cloud-region-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Software version employed at the site. NOTE - THIS FIELD IS NOT KEPT UP TO DATE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL of the keystone identity service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudZone" name="cloud-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Zone where the cloud is homed. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="complex name for cloud-region instance. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeGroups" name="volume-groups" type="inventory.aai.onap.org.v10.VolumeGroups"/>
+ <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v10.Tenants"/>
+ <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v10.Flavors"/>
+ <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.onap.org.v10.GroupAssignments"/>
+ <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v10.Snapshots"/>
+ <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v10.Images"/>
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v10.DvsSwitches"/>
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v10.OamNetworks"/>
+ <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v10.AvailabilityZones"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation"/>
+ <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type"/>
+ <xml-property name="nameProps" value="owner-defined-type"/>
+ <xml-property name="container" value="cloud-regions"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}"/>
+ <xml-property name="requiredProps" value="cloud-owner,cloud-region-id"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="VolumeGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of persistent block-level storage."/>
+ </xml-properties>
+ <xml-root-element name="volume-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volumeGroup" name="volume-group" type="inventory.aai.onap.org.v10.VolumeGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VolumeGroup">
+ <xml-root-element name="volume-group"/>
+ <java-attributes>
+ <xml-element java-attribute="volumeGroupId" name="volume-group-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of volume-group."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeGroupName" name="volume-group-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the volume group."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this volume-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this volume-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfModuleModelCustomizationId" name="vf-module-model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="helps relate the volume group to the vf-module whose components will require the volume group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persistent block-level storage."/>
+ <xml-property name="indexedProps" value="volume-group-name,vnf-type,heat-stack-id,volume-group-id"/>
+ <xml-property name="searchable" value="volume-group-id,volume-group-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="volume-groups"/>
+ <xml-property name="uriTemplate" value="/volume-groups/volume-group/{volume-group-id}"/>
+ <xml-property name="requiredProps" value="volume-group-id,vnf-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="RelationshipList">
+ <xml-root-element name="relationship-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.onap.org.v10.Relationship"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Relationship">
+ <xml-root-element name="relationship"/>
+ <java-attributes>
+ <xml-element java-attribute="relatedTo" name="related-to" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate type of node."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to the object in A&amp;AI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.onap.org.v10.RelationshipData"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.onap.org.v10.RelatedToProperty"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedToProperty">
+ <xml-root-element name="related-to-property"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyKey" name="property-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Key part of a key/value pair"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value part of a key/value pair"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelationshipData">
+ <xml-root-element name="relationship-data"/>
+ <java-attributes>
+ <xml-element java-attribute="relationshipKey" name="relationship-key" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate an attribute."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipValue" name="relationship-value" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value of the attribute."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Complexes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions."/>
+ </xml-properties>
+ <xml-root-element name="complexes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="complex" name="complex" type="inventory.aai.onap.org.v10.Complex"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Complex">
+ <xml-root-element name="complex"/>
+ <java-attributes>
+ <xml-element java-attribute="physicalLocationId" name="physical-location-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for physical location, e.g., CLLI"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dataCenterCode" name="data-center-code" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Data center code which can be an alternate way to identify a complex"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Gamma complex name for LCP instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL of the keystone identity service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="physicalLocationType" name="physical-location-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type, e.g., central office, data center."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="street1" name="street1" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="street2" name="street2" type="java.lang.String"/>
+ <xml-element java-attribute="city" name="city" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="state" name="state" type="java.lang.String"/>
+ <xml-element java-attribute="postalCode" name="postal-code" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="country" name="country" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="region" name="region" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="latitude" name="latitude" type="java.lang.String"/>
+ <xml-element java-attribute="longitude" name="longitude" type="java.lang.String"/>
+ <xml-element java-attribute="elevation" name="elevation" type="java.lang.String"/>
+ <xml-element java-attribute="lata" name="lata" type="java.lang.String"/>
+ <xml-element java-attribute="ctagPools" name="ctag-pools" type="inventory.aai.onap.org.v10.CtagPools"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions."/>
+ <xml-property name="indexedProps" value="identity-url,data-center-code,complex-name,physical-location-id"/>
+ <xml-property name="searchable" value="physical-location-id,data-center-code,complex-name,street1,street2,postal-code"/>
+ <xml-property name="uniqueProps" value="physical-location-id"/>
+ <xml-property name="container" value="complexes"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/complexes/complex/{physical-location-id}"/>
+ <xml-property name="requiredProps" value="physical-location-id,physical-location-type,street1,city,postal-code,country,region"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CtagPools">
+ <xml-root-element name="ctag-pools"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagPool" name="ctag-pool" type="inventory.aai.onap.org.v10.CtagPool"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CtagPool">
+ <xml-root-element name="ctag-pool"/>
+ <java-attributes>
+ <xml-element java-attribute="targetPe" name="target-pe" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="The Target provider edge router"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the availability zone"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ctagPoolPurpose" name="ctag-pool-purpose" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Describes what the intended purpose of this pool is."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ctagValues" name="ctag-values" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Comma separated list of ctags"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="A collection of C tags (vlan tags) grouped for a specific purpose."/>
+ <xml-property name="indexedProps" value="availability-zone-name"/>
+ <xml-property name="dependentOn" value="complex"/>
+ <xml-property name="container" value="ctag-pools"/>
+ <xml-property name="uriTemplate" value="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}"/>
+ <xml-property name="requiredProps" value="target-pe,availability-zone-name,ctag-pool-purpose"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Tenants">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack tenants."/>
+ </xml-properties>
+ <xml-root-element name="tenants"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tenant" name="tenant" type="inventory.aai.onap.org.v10.Tenant"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Tenant">
+ <xml-root-element name="tenant"/>
+ <java-attributes>
+ <xml-element java-attribute="tenantId" name="tenant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id relative to the cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tenantName" name="tenant-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Readable name of tenant"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vservers" name="vservers" type="inventory.aai.onap.org.v10.Vservers"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack tenant"/>
+ <xml-property name="nameProps" value="tenant-name"/>
+ <xml-property name="indexedProps" value="tenant-name,tenant-id"/>
+ <xml-property name="searchable" value="tenant-id,tenant-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="tenants"/>
+ <xml-property name="uriTemplate" value="/tenants/tenant/{tenant-id}"/>
+ <xml-property name="requiredProps" value="tenant-id,tenant-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of virtual Servers, aka virtual machines or VMs."/>
+ </xml-properties>
+ <xml-root-element name="vservers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vserver" name="vserver" type="inventory.aai.onap.org.v10.Vserver"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vserver">
+ <xml-root-element name="vserver"/>
+ <java-attributes>
+ <xml-element java-attribute="vserverId" name="vserver-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for this vserver relative to its tenant"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverName" name="vserver-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of vserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverName2" name="vserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternative name of vserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverSelflink" name="vserver-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumes" name="volumes" type="inventory.aai.onap.org.v10.Volumes"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v10.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Servers, aka virtual machine or VM."/>
+ <xml-property name="nameProps" value="vserver-name"/>
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2"/>
+ <xml-property name="searchable" value="vserver-id,vserver-name,vserver-name2"/>
+ <xml-property name="dependentOn" value="tenant"/>
+ <xml-property name="container" value="vservers"/>
+ <xml-property name="uriTemplate" value="/vservers/vserver/{vserver-id}"/>
+ <xml-property name="requiredProps" value="vserver-id,vserver-name,vserver-selflink,in-maint,is-closed-loop-disabled"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical interfaces."/>
+ </xml-properties>
+ <xml-root-element name="l-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lInterface" name="l-interface" type="inventory.aai.onap.org.v10.LInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LInterface">
+ <xml-root-element name="l-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name given to the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="E.g., CUSTOMER, UPLINK, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v6WanLinkIp" name="v6-wan-link-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="macaddr" name="macaddr" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="MAC address for the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether A&amp;AI should be managing this interface of not. Could have value like CUSTOMER"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Human friendly text regarding this interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isPortMirrored" name="is-port-mirrored" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not port is a mirrored."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.onap.org.v10.Vlans"/>
+ <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v10.SriovVfs"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v10.LInterfaces"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v10.L3InterfaceIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v10.L3InterfaceIpv6AddressList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical interfaces, e.g., a vnic."/>
+ <xml-property name="indexedProps" value="macaddr,interface-id,interface-name,network-name"/>
+ <xml-property name="dependentOn" value="generic-vnf,newvce,p-interface,vserver,lag-interface,l-interface"/>
+ <xml-property name="container" value="l-interfaces"/>
+ <xml-property name="uriTemplate" value="/l-interfaces/l-interface/{interface-name}"/>
+ <xml-property name="requiredProps" value="interface-name,is-port-mirrored,in-maint"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SriovVfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of SR-IOV Virtual Functions."/>
+ </xml-properties>
+ <xml-root-element name="sriov-vfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sriovVf" name="sriov-vf" type="inventory.aai.onap.org.v10.SriovVf"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="SriovVf">
+ <xml-root-element name="sriov-vf"/>
+ <java-attributes>
+ <xml-element java-attribute="pciId" name="pci-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="PCI ID used to identify the sriov-vf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanFilter" name="vf-vlan-filter" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This metadata provides option to specify list of VLAN filters applied on VF to pass the traffic to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMacFilter" name="vf-mac-filter" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="When MAC filters are specified, VF-agent service configures VFs to do MAC level filtering before the traffic is passed to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanStrip" name="vf-vlan-strip" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="When this field is set to true, VF will configured to strip the outer TAG before the traffic is passed to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanAntiSpoofCheck" name="vf-vlan-anti-spoof-check" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option ensures anti VLAN spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMacAntiSpoofCheck" name="vf-mac-anti-spoof-check" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option ensures anti MAC spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMirrors" name="vf-mirrors" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This option defines the set of Mirror objects which essentially mirrors the traffic from source to set of collector VNF Ports."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfBroadcastAllow" name="vf-broadcast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows all broadcast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfUnknownMulticastAllow" name="vf-unknown-multicast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown multicast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfUnknownUnicastAllow" name="vf-unknown-unicast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown unicast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfInsertStag" name="vf-insert-stag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, instructs to insert outer tag after traffic comes out of VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfLinkStatus" name="vf-link-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This option is used to set the link status. Valid values as of 1607 are on, off, and auto."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="SR-IOV Virtual Function (not to be confused with virtual network function)"/>
+ <xml-property name="indexedProps" value="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id"/>
+ <xml-property name="dependentOn" value="l-interface"/>
+ <xml-property name="container" value="sriov-vfs"/>
+ <xml-property name="uriTemplate" value="/sriov-vfs/sriov-vf/{pci-id}"/>
+ <xml-property name="requiredProps" value="pci-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv4AddressList">
+ <xml-root-element name="l3-interface-ipv4-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv4Address" name="l3-interface-ipv4-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv4PrefixLength" name="l3-interface-ipv4-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 32 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv4 Address Range"/>
+ <xml-property name="indexedProps" value="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="vlan,l-interface"/>
+ <xml-property name="uriTemplate" value="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}"/>
+ <xml-property name="requiredProps" value="l3-interface-ipv4-address"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vlans">
+ <xml-root-element name="vlans"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vlan" name="vlan" type="inventory.aai.onap.org.v10.Vlan"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vlan">
+ <xml-root-element name="vlan"/>
+ <java-attributes>
+ <xml-element java-attribute="vlanInterface" name="vlan-interface" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="String that identifies the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanDescription" name="vlan-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to describe (the service associated with) the vlan"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="backdoorConnection" name="backdoor-connection" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether customer is going to use this VLAN for backdoor connection to another customer premise device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnKey" name="vpn-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v10.L3InterfaceIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v10.L3InterfaceIpv6AddressList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Definition of vlan"/>
+ <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-key"/>
+ <xml-property name="dependentOn" value="l-interface"/>
+ <xml-property name="container" value="vlans"/>
+ <xml-property name="uriTemplate" value="/vlans/vlan/{vlan-interface}"/>
+ <xml-property name="requiredProps" value="vlan-interface,in-maint"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv6AddressList">
+ <xml-root-element name="l3-interface-ipv6-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv6Address" name="l3-interface-ipv6-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv6PrefixLength" name="l3-interface-ipv6-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 128 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv6 Address Range"/>
+ <xml-property name="indexedProps" value="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="vlan,l-interface"/>
+ <xml-property name="uriTemplate" value="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}"/>
+ <xml-property name="requiredProps" value="l3-interface-ipv6-address"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Volumes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of ephemeral Block storage volumes."/>
+ </xml-properties>
+ <xml-root-element name="volumes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volume" name="volume" type="inventory.aai.onap.org.v10.Volume"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Volume">
+ <xml-root-element name="volume"/>
+ <java-attributes>
+ <xml-element java-attribute="volumeId" name="volume-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of block storage volume relative to the vserver."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeSelflink" name="volume-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Ephemeral Block storage volume."/>
+ <xml-property name="indexedProps" value="volume-id"/>
+ <xml-property name="dependentOn" value="vserver"/>
+ <xml-property name="container" value="volumes"/>
+ <xml-property name="uriTemplate" value="/volumes/volume/{volume-id}"/>
+ <xml-property name="requiredProps" value="volume-id,volume-selflink"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Flavors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack flavors."/>
+ </xml-properties>
+ <xml-root-element name="flavors"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="flavor" name="flavor" type="inventory.aai.onap.org.v10.Flavor"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Flavor">
+ <xml-root-element name="flavor"/>
+ <java-attributes>
+ <xml-element java-attribute="flavorId" name="flavor-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Flavor id, expected to be unique across cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorName" name="flavor-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Flavor name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorVcpus" name="flavor-vcpus" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Number of CPUs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorRam" name="flavor-ram" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Amount of memory"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorDisk" name="flavor-disk" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Disk space"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorEphemeral" name="flavor-ephemeral" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Amount of ephemeral disk space"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorSwap" name="flavor-swap" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="amount of swap space allocation"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorIsPublic" name="flavor-is-public" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="whether flavor is available to all users or private to the tenant it was created in."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorSelflink" name="flavor-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorDisabled" name="flavor-disabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Boolean as to whether this flavor is no longer enabled"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack flavor."/>
+ <xml-property name="nameProps" value="flavor-name"/>
+ <xml-property name="indexedProps" value="flavor-name,flavor-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="flavors"/>
+ <xml-property name="uriTemplate" value="/flavors/flavor/{flavor-id}"/>
+ <xml-property name="requiredProps" value="flavor-id,flavor-name,flavor-selflink"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Snapshots">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack snapshots"/>
+ </xml-properties>
+ <xml-root-element name="snapshots"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="snapshot" name="snapshot" type="inventory.aai.onap.org.v10.Snapshot"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Snapshot">
+ <xml-root-element name="snapshot"/>
+ <java-attributes>
+ <xml-element java-attribute="snapshotId" name="snapshot-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Snapshot id, this is the key UUID assoc associated in glance with the snapshots."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotName" name="snapshot-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Snapshot name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotArchitecture" name="snapshot-architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operating system architecture"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotOsDistro" name="snapshot-os-distro" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The common name of the operating system distribution in lowercase"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotOsVersion" name="snapshot-os-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The operating system version as specified by the distributor."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotSelflink" name="snapshot-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="prevSnapshotId" name="prev-snapshot-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field contains the UUID of the previous snapshot (if any)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack snapshot"/>
+ <xml-property name="nameProps" value="snapshot-name"/>
+ <xml-property name="uniqueProps" value="snapshot-id"/>
+ <xml-property name="indexedProps" value="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="snapshots"/>
+ <xml-property name="uriTemplate" value="/snapshots/snapshot/{snapshot-id}"/>
+ <xml-property name="requiredProps" value="snapshot-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GroupAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack group assignments"/>
+ </xml-properties>
+ <xml-root-element name="group-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="groupAssignment" name="group-assignment" type="inventory.aai.onap.org.v10.GroupAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="GroupAssignment">
+ <xml-root-element name="group-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="groupId" name="group-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Group id, expected to be unique across cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupType" name="group-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group type - the type of group this instance refers to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupName" name="group-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group name - name assigned to the group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupDescription" name="group-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group description - description of the group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack group-assignment used to store exclusivity groups (EG)."/>
+ <xml-property name="nameProps" value="group-name"/>
+ <xml-property name="indexedProps" value="group-id,group-type,group-name"/>
+ <xml-property name="searchable" value="group-id,group-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="group-assignments"/>
+ <xml-property name="uriTemplate" value="/group-assignments/group-assignment/{group-id}"/>
+ <xml-property name="requiredProps" value="group-id,group-type,group-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Images">
+ <xml-properties>
+ <xml-property name="description" value="Collectio of Openstack images."/>
+ </xml-properties>
+ <xml-root-element name="images"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="image" name="image" type="inventory.aai.onap.org.v10.Image"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Image">
+ <xml-root-element name="image"/>
+ <java-attributes>
+ <xml-element java-attribute="imageId" name="image-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Image id, expected to be unique across cloud region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageName" name="image-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Image name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageArchitecture" name="image-architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operating system architecture."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageOsDistro" name="image-os-distro" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The common name of the operating system distribution in lowercase"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageOsVersion" name="image-os-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The operating system version as specified by the distributor."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageSelflink" name="image-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v10.Metadata"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack image."/>
+ <xml-property name="nameProps" value="image-name"/>
+ <xml-property name="indexedProps" value="application,image-name,application-vendor,image-id,application-version"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="images"/>
+ <xml-property name="uriTemplate" value="/images/image/{image-id}"/>
+ <xml-property name="requiredProps" value="image-id,image-name,image-os-distro,image-os-version,image-selflink"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Metadata">
+ <xml-properties>
+ <xml-property name="description" value="Collection of metadatum (key/value pairs)"/>
+ </xml-properties>
+ <xml-root-element name="metadata"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="metadatum" name="metadatum" type="inventory.aai.onap.org.v10.Metadatum"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Metadatum">
+ <xml-root-element name="metadatum"/>
+ <java-attributes>
+ <xml-element java-attribute="metaname" name="metaname" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="metaval" name="metaval" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Key/value pairs"/>
+ <xml-property name="indexedProps" value="metaname"/>
+ <xml-property name="dependentOn" value="tenant,image,service-instance,connector,model"/>
+ <xml-property name="container" value="metadata"/>
+ <xml-property name="uriTemplate" value="/metadata/metadatum/{metaname}"/>
+ <xml-property name="requiredProps" value="metaname,metaval"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="DvsSwitches">
+ <xml-properties>
+ <xml-property name="description" value="Collection of digital virtual switch metadata used for vmWare VCEs and GenericVnfs."/>
+ </xml-properties>
+ <xml-root-element name="dvs-switches"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="dvsSwitch" name="dvs-switch" type="inventory.aai.onap.org.v10.DvsSwitch"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="DvsSwitch">
+ <xml-root-element name="dvs-switch"/>
+ <java-attributes>
+ <xml-element java-attribute="switchName" name="switch-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="DVS switch name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcenterUrl" name="vcenter-url" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL used to reach the vcenter"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Digital virtual switch metadata, used by SDN-C to configure VCEs. A&amp;AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&amp;AI. "/>
+ <xml-property name="indexedProps" value="vcenter-url,switch-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="dvs-switches"/>
+ <xml-property name="uriTemplate" value="/dvs-switches/dvs-switch/{switch-name}"/>
+ <xml-property name="requiredProps" value="switch-name,vcenter-url"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="NetworkProfiles">
+ <xml-properties>
+ <xml-property name="description" value="Collection of network profiles"/>
+ </xml-properties>
+ <xml-root-element name="network-profiles"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkProfile" name="network-profile" type="inventory.aai.onap.org.v10.NetworkProfile"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NetworkProfile">
+ <xml-root-element name="network-profile"/>
+ <java-attributes>
+ <xml-element java-attribute="nmProfileName" name="nm-profile-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique name of network profile."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="communityString" name="community-string" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encrypted SNMP community string"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Network profile populated by SDN-GP for SNMP"/>
+ <xml-property name="indexedProps" value="nm-profile-name"/>
+ <xml-property name="container" value="network-profiles"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}"/>
+ <xml-property name="requiredProps" value="nm-profile-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of compute hosts."/>
+ </xml-properties>
+ <xml-root-element name="pservers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pserver" name="pserver" type="inventory.aai.onap.org.v10.Pserver"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pserver">
+ <xml-root-element name="pserver"/>
+ <java-attributes>
+ <xml-element java-attribute="hostname" name="hostname" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value from executing hostname on the compute node."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ptniiEquipName" name="ptnii-equip-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="PTNII name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="numberOfCpus" name="number-of-cpus" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Number of cpus"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="diskInGigabytes" name="disk-in-gigabytes" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Disk size, in GBs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ramInMegabytes" name="ram-in-megabytes" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="RAM size, in MBs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment type. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment vendor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment model. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="fqdn" name="fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Fully-qualified domain name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverSelflink" name="pserver-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to configure device, also used for troubleshooting and is IP used for traps generated by device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Serial number, may be queried"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 OAM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CANOPI's inventory status. Only set with values exactly as defined by CANOPI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverId" name="pserver-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of Pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="internetTopology" name="internet-topology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="internet topology of Pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverName2" name="pserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="alternative pserver name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="purpose of pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v10.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v10.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver."/>
+ <xml-property name="nameProps" value="pserver-name2"/>
+ <xml-property name="indexedProps" value="hostname,in-maint,pserver-id,pserver-name2,inv-status"/>
+ <xml-property name="searchable" value="hostname,pserver-name2,pserver-id,ipv4-oam-address"/>
+ <xml-property name="uniqueProps" value="hostname"/>
+ <xml-property name="container" value="pservers"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/pservers/pserver/{hostname}"/>
+ <xml-property name="requiredProps" value="hostname,in-maint"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical interfaces."/>
+ </xml-properties>
+ <xml-root-element name="p-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pInterface" name="p-interface" type="inventory.aai.onap.org.v10.PInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PInterface">
+ <xml-root-element name="p-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the physical interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portDescription" name="port-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Nature of the services and connectivity on this port."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentIdentifier" name="equipment-identifier" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CLEI or other specification for p-interface hardware."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role specification for p-interface hardware."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceType" name="interface-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the physical properties of the interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v10.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Physical interface (e.g., nic)"/>
+ <xml-property name="indexedProps" value="interface-name,prov-status"/>
+ <xml-property name="nameProps" value="prov-status"/>
+ <xml-property name="dependentOn" value="vpls-pe,pserver,pnf"/>
+ <xml-property name="container" value="p-interfaces"/>
+ <xml-property name="uriTemplate" value="/p-interfaces/p-interface/{interface-name}"/>
+ <xml-property name="requiredProps" value="interface-name,in-maint"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LagInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregate interfaces."/>
+ </xml-properties>
+ <xml-root-element name="lag-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagInterface" name="lag-interface" type="inventory.aai.onap.org.v10.LagInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LagInterface">
+ <xml-root-element name="lag-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the link aggregate interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Human friendly text regarding this interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v10.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Link aggregate interface"/>
+ <xml-property name="indexedProps" value="interface-name,interface-id,interface-role"/>
+ <xml-property name="dependentOn" value="generic-vnf,pserver,vpls-pe,pnf"/>
+ <xml-property name="container" value="lag-interfaces"/>
+ <xml-property name="uriTemplate" value="/lag-interfaces/lag-interface/{interface-name}"/>
+ <xml-property name="requiredProps" value="interface-name,in-maint"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="OamNetworks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of OAM networks, to be deprecated shortly. Do not use for new purposes. "/>
+ </xml-properties>
+ <xml-root-element name="oam-networks"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="oamNetwork" name="oam-network" type="inventory.aai.onap.org.v10.OamNetwork"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OamNetwork">
+ <xml-root-element name="oam-network"/>
+ <java-attributes>
+ <xml-element java-attribute="networkUuid" name="network-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the network. Unique across a cloud-region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="cvlan-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="OAM network, to be deprecated shortly. Do not use for new purposes. "/>
+ <xml-property name="nameProps" value="network-name"/>
+ <xml-property name="indexedProps" value="cvlan-tag,network-uuid,network-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="oam-networks"/>
+ <xml-property name="uriTemplate" value="/oam-networks/oam-network/{network-uuid}"/>
+ <xml-property name="requiredProps" value="network-uuid,network-name,cvlan-tag"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="AvailabilityZones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of availability zones"/>
+ </xml-properties>
+ <xml-root-element name="availability-zones"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v10.AvailabilityZone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AvailabilityZone">
+ <xml-root-element name="availability-zone"/>
+ <java-attributes>
+ <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the availability zone. Unique across a cloud region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hypervisorType" name="hypervisor-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of hypervisor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="State that indicates whether the availability zone should be used, etc. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Availability zone, a collection of compute hosts/pservers"/>
+ <xml-property name="indexedProps" value="availability-zone-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="availability-zones"/>
+ <xml-property name="uriTemplate" value="/availability-zones/availability-zone/{availability-zone-name}"/>
+ <xml-property name="requiredProps" value="availability-zone-name,hypervisor-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VirtualDataCenters">
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context"/>
+ </xml-properties>
+ <xml-root-element name="virtual-data-centers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="virtualDataCenter" name="virtual-data-center" type="inventory.aai.onap.org.v10.VirtualDataCenter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VirtualDataCenter">
+ <xml-root-element name="virtual-data-center"/>
+ <java-attributes>
+ <xml-element java-attribute="vdcId" name="vdc-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the vdc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdcName" name="vdc-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the virtual data center"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context"/>
+ <xml-property name="nameProps" value="vdc-name"/>
+ <xml-property name="indexedProps" value="vdc-name,vdc-id"/>
+ <xml-property name="container" value="virtual-data-centers"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}"/>
+ <xml-property name="requiredProps" value="vdc-id,vdc-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Business">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for business related constructs"/>
+ </xml-properties>
+ <xml-root-element name="business"/>
+ <java-attributes>
+ <xml-element java-attribute="connectors" name="connectors" type="inventory.aai.onap.org.v10.Connectors"/>
+ <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.org.v10.Customers"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Connectors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets"/>
+ </xml-properties>
+ <xml-root-element name="connectors"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="connector" name="connector" type="inventory.aai.onap.org.v10.Connector"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Connector">
+ <xml-root-element name="connector"/>
+ <java-attributes>
+ <xml-element java-attribute="resourceInstanceId" name="resource-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of resource instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v10.Metadata"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets"/>
+ <xml-property name="indexedProps" value="resource-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version"/>
+ <xml-property name="container" value="connectors"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/connectors/connector/{resource-instance-id}"/>
+ <xml-property name="requiredProps" value="resource-instance-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Customers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information."/>
+ </xml-properties>
+ <xml-root-element name="customers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.onap.org.v10.Customer"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Customer">
+ <xml-root-element name="customer"/>
+ <java-attributes>
+ <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Global customer id used across ECOMP to uniquely identify customer."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber name, an alternate way to retrieve a customer."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberType" name="subscriber-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber type, a way to provide VID with only the INFRA customers."/>
+ <xml-property name="defaultValue" value="CUST"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSubscriptions" name="service-subscriptions" type="inventory.aai.onap.org.v10.ServiceSubscriptions"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="customer identifiers to provide linkage back to BSS information."/>
+ <xml-property name="nameProps" value="subscriber-name"/>
+ <xml-property name="indexedProps" value="subscriber-name,global-customer-id,subscriber-type"/>
+ <xml-property name="searchable" value="global-customer-id,subscriber-name"/>
+ <xml-property name="uniqueProps" value="global-customer-id"/>
+ <xml-property name="container" value="customers"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/customers/customer/{global-customer-id}"/>
+ <xml-property name="requiredProps" value="global-customer-id,subscriber-name,subscriber-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceSubscriptions">
+ <xml-properties>
+ <xml-property name="description" value="Collection of objects that group service instances."/>
+ </xml-properties>
+ <xml-root-element name="service-subscriptions"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceSubscription" name="service-subscription" type="inventory.aai.onap.org.v10.ServiceSubscription"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceSubscription">
+ <xml-root-element name="service-subscription"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value defined by orchestration to identify this service across ECOMP."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tempUbSubAccountId" name="temp-ub-sub-account-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This property will be deleted from A&amp;AI in the near future. Only stop gap solution."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstances" name="service-instances" type="inventory.aai.onap.org.v10.ServiceInstances">
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Object that group service instances."/>
+ <xml-property name="indexedProps" value="service-type"/>
+ <xml-property name="dependentOn" value="customer"/>
+ <xml-property name="container" value="service-subscriptions"/>
+ <xml-property name="crossEntityReference" value="service-instance,service-type"/>
+ <xml-property name="uriTemplate" value="/service-subscriptions/service-subscription/{service-type}"/>
+ <xml-property name="requiredProps" value="service-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceInstances">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service instances"/>
+ </xml-properties>
+ <xml-root-element name="service-instances"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceInstance" name="service-instance" type="inventory.aai.onap.org.v10.ServiceInstance"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceInstance">
+ <xml-root-element name="service-instance"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceInstanceId" name="service-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Uniquely identifies this instance of a service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstanceName" name="service-instance-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field will store a name assigned to the service-instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthTotal" name="bandwidth-total" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the total bandwidth to be used for this service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN1 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN1 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN2 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN2 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vhnPortalUrl" name="vhn-portal-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL customers will use to access the vHN Portal."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstanceLocationId" name="service-instance-location-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="An identifier that customers assign to the location where this service is being used."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v10.Metadata"/>
+ <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.onap.org.v10.AllottedResources"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Instance of a service"/>
+ <xml-property name="indexedProps" value="service-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status"/>
+ <xml-property name="nameProps" value="service-instance-name"/>
+ <xml-property name="searchable" value="service-instance-id,service-instance-name"/>
+ <xml-property name="uniqueProps" value="service-instance-id"/>
+ <xml-property name="dependentOn" value="service-subscription"/>
+ <xml-property name="container" value="service-instances"/>
+ <xml-property name="uriTemplate" value="/service-instances/service-instance/{service-instance-id}"/>
+ <xml-property name="requiredProps" value="service-instance-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceDesignAndCreation">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for objects managed by ASDC"/>
+ </xml-properties>
+ <xml-root-element name="service-design-and-creation"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfImages" name="vnf-images" type="inventory.aai.onap.org.v10.VnfImages"/>
+ <xml-element java-attribute="services" name="services" type="inventory.aai.onap.org.v10.Services"/>
+ <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.onap.org.v10.ServiceCapabilities"/>
+ <xml-element java-attribute="models" name="models" type="inventory.aai.onap.org.v10.Models"/>
+ <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.onap.org.v10.NamedQueries"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VnfImages">
+ <xml-properties>
+ <xml-property name="description" value="Collection of image objects that pertain to a VNF that doesn't have associated vservers. This is a kludge."/>
+ </xml-properties>
+ <xml-root-element name="vnf-images"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfImage" name="vnf-image" type="inventory.aai.onap.org.v10.VnfImage"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VnfImage">
+ <xml-root-element name="vnf-image"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfImageUuid" name="vnf-image-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of this asset"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Image object that pertain to a VNF that doesn't have associated vservers. This is a kludge."/>
+ <xml-property name="indexedProps" value="application,vnf-image-uuid,application-vendor,application-version"/>
+ <xml-property name="uniqueProps" value="vnf-image-uuid"/>
+ <xml-property name="container" value="vnf-images"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/vnf-images/vnf-image/{att-uuid}"/>
+ <xml-property name="requiredProps" value="vnf-image-uuid,application,application-vendor"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Services">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service model definitions. Likely to be deprecated in favor of models from ASDC."/>
+ </xml-properties>
+ <xml-root-element name="services"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.onap.org.v10.Service"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Service">
+ <xml-root-element name="service"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description of the service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="service version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Stand-in for service model definitions. Likely to be deprecated in favor of models from ASDC. Does not strictly map to ASDC services."/>
+ <xml-property name="indexedProps" value="service-description,service-id"/>
+ <xml-property name="container" value="services"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/services/service/{service-id}"/>
+ <xml-property name="requiredProps" value="service-id,service-description"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceCapabilities">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service capabilities."/>
+ </xml-properties>
+ <xml-root-element name="service-capabilities"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceCapability" name="service-capability" type="inventory.aai.onap.org.v10.ServiceCapability"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceCapability">
+ <xml-root-element name="service-capability"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Early definition of server/resource pairings, likely to be replaced by models. No new use should be made of this."/>
+ <xml-property name="indexedProps" value="service-type,vnf-type"/>
+ <xml-property name="container" value="service-capabilities"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}"/>
+ <xml-property name="requiredProps" value="service-type,vnf-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Network">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for network inventory resources."/>
+ </xml-properties>
+ <xml-root-element name="network"/>
+ <java-attributes>
+ <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.onap.org.v10.LogicalLinks"/>
+ <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.onap.org.v10.SitePairSets"/>
+ <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v10.VpnBindings"/>
+ <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.onap.org.v10.VplsPes"/>
+ <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.onap.org.v10.MulticastConfigurations"/>
+ <xml-element java-attribute="vces" name="vces" type="inventory.aai.onap.org.v10.Vces"/>
+ <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.onap.org.v10.Vnfcs"/>
+ <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.onap.org.v10.L3Networks"/>
+ <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v10.NetworkPolicies"/>
+ <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.onap.org.v10.GenericVnfs"/>
+ <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.onap.org.v10.LagLinks"/>
+ <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.onap.org.v10.Newvces"/>
+ <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v10.Pnfs"/>
+ <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.onap.org.v10.PhysicalLinks"/>
+ <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.onap.org.v10.IpsecConfigurations"/>
+ <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.onap.org.v10.RouteTableReferences"/>
+ <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.onap.org.v10.InstanceGroups"/>
+ <xml-element java-attribute="zones" name="zones" type="inventory.aai.onap.org.v10.Zones"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LogicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical connections"/>
+ </xml-properties>
+ <xml-root-element name="logical-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.onap.org.v10.LogicalLink"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LogicalLink">
+ <xml-root-element name="logical-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of logical link, e.g., evc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4, v6, or ds for dual stack"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routingProtocol" name="routing-protocol" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="For example, static or BGP"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of operational status of the logical link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkRole" name="link-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of the network use of the logical link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkName2" name="link-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alias or alternate name (CLCI or D1 name)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkId" name="link-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the logical-link, SDNC generates this."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Circuit id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Reason for this entity, role it is playing"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points"/>
+ <xml-property name="indexedProps" value="link-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose"/>
+ <xml-property name="uniqueProps" value="link-id"/>
+ <xml-property name="container" value="logical-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="searchable" value="link-name"/>
+ <xml-property name="uriTemplate" value="/network/logical-links/logical-link/{link-name}"/>
+ <xml-property name="requiredProps" value="link-name,link-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SitePairSets">
+ <xml-properties>
+ <xml-property name="description" value="Collection of sets of instances for probes related to generic-vnf"/>
+ </xml-properties>
+ <xml-root-element name="site-pair-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePairSet" name="site-pair-set" type="inventory.aai.onap.org.v10.SitePairSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SitePairSet">
+ <xml-root-element name="site-pair-set"/>
+ <java-attributes>
+ <xml-element java-attribute="sitePairSetId" name="site-pair-set-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of site pair set."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routingInstances" name="routing-instances" type="inventory.aai.onap.org.v10.RoutingInstances"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Set of instances for probes used to measure service level agreements"/>
+ <xml-property name="indexedProps" value="site-pair-set-id"/>
+ <xml-property name="uniqueProps" value="site-pair-set-id"/>
+ <xml-property name="container" value="site-pair-sets"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/site-pair-sets/site-pair-set/{site-pair-set-id}"/>
+ <xml-property name="requiredProps" value="site-pair-set-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="RoutingInstances">
+ <xml-properties>
+ <xml-property name="description" value="set of probes related to generic-vnf routing instance"/>
+ </xml-properties>
+ <xml-root-element name="routing-instances"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routingInstance" name="routing-instance" type="inventory.aai.onap.org.v10.RoutingInstance"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RoutingInstance">
+ <xml-root-element name="routing-instance"/>
+ <java-attributes>
+ <xml-element java-attribute="routingInstanceId" name="routing-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of routing instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="rpmOwner" name="rpm-owner" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="rpm owner"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sitePairs" name="site-pairs" type="inventory.aai.onap.org.v10.SitePairs"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="routing-instance-id"/>
+ <xml-property name="uniqueProps" value="routing-instance-id"/>
+ <xml-property name="dependentOn" value="site-pair-set"/>
+ <xml-property name="container" value="routing-instances"/>
+ <xml-property name="uriTemplate" value="/routing-instances/routing-instance/{routing-instance-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SitePairs">
+ <xml-properties>
+ <xml-property name="description" value="probe within a set"/>
+ </xml-properties>
+ <xml-root-element name="site-pairs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePair" name="site-pair" type="inventory.aai.onap.org.v10.SitePair"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SitePair">
+ <xml-root-element name="site-pair"/>
+ <java-attributes>
+ <xml-element java-attribute="sitePairId" name="site-pair-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceIp" name="source-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prefix address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationIp" name="destination-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prefix address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip version, v4, v6"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationHostname" name="destination-hostname" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Hostname of the destination equipment to which SLAs are measured against."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationEquipType" name="destination-equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The type of destinatination equipment. Could be Router, UCPE, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="classesOfService" name="classes-of-service" type="inventory.aai.onap.org.v10.ClassesOfService"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="site-pair-id"/>
+ <xml-property name="uniqueProps" value="site-pair-id"/>
+ <xml-property name="dependentOn" value="routing-instance"/>
+ <xml-property name="container" value="site-pairs"/>
+ <xml-property name="uriTemplate" value="/site-pairs/site-pair/{site-pair-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ClassesOfService">
+ <xml-properties>
+ <xml-property name="description" value="class-of-service of probe"/>
+ </xml-properties>
+ <xml-root-element name="classes-of-service"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="classOfService" name="class-of-service" type="inventory.aai.onap.org.v10.ClassOfService"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ClassOfService">
+ <xml-root-element name="class-of-service"/>
+ <java-attributes>
+ <xml-element java-attribute="cos" name="cos" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="probeId" name="probe-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="probeType" name="probe-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="type of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="cos"/>
+ <xml-property name="dependentOn" value="site-pair"/>
+ <xml-property name="container" value="classes-of-service"/>
+ <xml-property name="uriTemplate" value="/classes-of-service/class-of-service/{cos}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VpnBindings">
+ <xml-root-element name="vpn-bindings"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vpnBinding" name="vpn-binding" type="inventory.aai.onap.org.v10.VpnBinding"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VpnBinding">
+ <xml-root-element name="vpn-binding"/>
+ <java-attributes>
+ <xml-element java-attribute="vpnId" name="vpn-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="VPN ID, globally unique within A&amp;AI"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnName" name="vpn-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="VPN Name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnPlatform" name="vpn-platform" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the platform associated with the VPN example AVPN, Mobility"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnType" name="vpn-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the vpn, should be taken from enumerated/valid values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeDistinguisher" name="route-distinguisher" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTargets" name="route-targets" type="inventory.aai.onap.org.v10.RouteTargets"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList">
+ <xml-properties>
+ <xml-property name="description" value="l3-networks relate to vpn-bindings"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPN binding"/>
+ <xml-property name="nameProps" value="vpn-name,vpn-type"/>
+ <xml-property name="indexedProps" value="vpn-name,vpn-id,vpn-type"/>
+ <xml-property name="searchable" value="vpn-id,vpn-name"/>
+ <xml-property name="uniqueProps" value="vpn-id"/>
+ <xml-property name="container" value="vpn-bindings"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vpn-bindings/vpn-binding/{vpn-id}"/>
+ <xml-property name="requiredProps" value="vpn-id,vpn-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VplsPes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VPLS Provider Edge routers"/>
+ </xml-properties>
+ <xml-root-element name="vpls-pes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vplsPe" name="vpls-pe" type="inventory.aai.onap.org.v10.VplsPe"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VplsPe">
+ <xml-root-element name="vpls-pe"/>
+ <java-attributes>
+ <xml-element java-attribute="equipmentName" name="equipment-name" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (v4-loopback0-ip-address)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value, e.g., VPLS-PE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Temporary location for stag to get to VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v10.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v10.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPLS Provider Edge routers."/>
+ <xml-property name="indexedProps" value="prov-status,equipment-name"/>
+ <xml-property name="container" value="vpls-pes"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vpls-pes/vpls-pe/{equipment-name}"/>
+ <xml-property name="requiredProps" value="equipment-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="MulticastConfigurations">
+ <xml-properties>
+ <xml-property name="description" value="multicast configuration of generic-vnf ip-address"/>
+ </xml-properties>
+ <xml-root-element name="multicast-configurations"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="multicastConfiguration" name="multicast-configuration" type="inventory.aai.onap.org.v10.MulticastConfiguration"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="MulticastConfiguration">
+ <xml-root-element name="multicast-configuration"/>
+ <java-attributes>
+ <xml-element java-attribute="multicastConfigurationId" name="multicast-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of multicast configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="multicastProtocol" name="multicast-protocol" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="protocol of multicast configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="rpType" name="rp-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="rp type of multicast configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="multicast-configuration-id"/>
+ <xml-property name="uniqueProps" value="multicast-configuration-id"/>
+ <xml-property name="container" value="multicast-configurations"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Virtual Customer Edge Routers, used specifically for Gamma. This object is deprecated."/>
+ </xml-properties>
+ <xml-root-element name="vces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vce" name="vce" type="inventory.aai.onap.org.v10.Vce"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vce">
+ <xml-root-element name="vce"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network role being played by this VNF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpeId" name="vpe-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of VPE connected to this VCE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v6VceWanAddress" name="v6-vce-wan-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Valid v6 IP address for the WAN Link on this router. Implied length of /64."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure vce, also used for troubleshooting and is IP used for traps generated by VCE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - see child relationships"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroups" name="port-groups" type="inventory.aai.onap.org.v10.PortGroups"/>
+ <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v10.Licenses"/>
+ <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v10.Entitlements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Customer Edge Router, used specifically for Gamma. This object is deprecated."/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id"/>
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="container" value="vces"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="extends" value="vnf"/>
+ <xml-property name="uriTemplate" value="/network/vces/vce/{vnf-id}"/>
+ <xml-property name="requiredProps" value="vnf-id,vnf-name,vnf-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PortGroups">
+ <xml-root-element name="port-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="portGroup" name="port-group" type="inventory.aai.onap.org.v10.PortGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PortGroup">
+ <xml-root-element name="port-group"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceId" name="interface-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkName" name="neutron-network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network name of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupId" name="port-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for port group in vmware"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupName" name="port-group-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Likely to duplicate value of neutron network name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="switchName" name="switch-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="DVS or standard switch name (should be non-null for port groups associated with DVS)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlanTags" name="cvlan-tags" type="inventory.aai.onap.org.v10.CvlanTags"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Used to capture the network interfaces of this VCE"/>
+ <xml-property name="nameProps" value="port-group-name"/>
+ <xml-property name="indexedProps" value="port-group-id,heat-stack-id,interface-id,interface-name,switch-name"/>
+ <xml-property name="dependentOn" value="vce"/>
+ <xml-property name="container" value="port-groups"/>
+ <xml-property name="uriTemplate" value="/port-groups/port-group/{interface-id}"/>
+ <xml-property name="requiredProps" value="interface-id,orchestration-status"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CvlanTags">
+ <xml-root-element name="cvlan-tags"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cvlanTagEntry" name="cvlan-tag-entry" type="inventory.aai.onap.org.v10.CvlanTagEntry"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CvlanTagEntry">
+ <xml-root-element name="cvlan-tag-entry"/>
+ <java-attributes>
+ <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="See mis-na-virtualization-platform.yang"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="dependentOn" value="port-group"/>
+ <xml-property name="indexedProps" value="cvlan-tag"/>
+ <xml-property name="container" value="cvlan-tags"/>
+ <xml-property name="uriTemplate" value="/cvlan-tags/cvlan-tag/{cvlan-tag}"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="Vnfcs">
+ <xml-properties>
+ <xml-property name="description" value="virtual network components associated with a vserver from application controller."/>
+ </xml-properties>
+ <xml-root-element name="vnfcs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfc" name="vnfc" type="inventory.aai.onap.org.v10.Vnfc"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vnfc">
+ <xml-root-element name="vnfc"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfcName" name="vnfc-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vnfc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfcFunctionCode" name="vnfc-function-code" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="function code"/>
+ <xml-property name="dbAlias" value="nfc-naming-code"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfcType" name="vnfc-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="type"/>
+ <xml-property name="dbAlias" value="nfc-function"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="prov status of this vnfc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by APP-C"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4OamVip" name="ipaddress-v4-oam-vip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Oam V4 vip address of this vnfc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupNotation" name="group-notation" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group notation of VNFC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vnfc-name,prov-status,vnfc-type,vnfc-function-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation"/>
+ <xml-property name="searchable" value="vnfc-name"/>
+ <xml-property name="container" value="vnfcs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vnfcs/vnfc/{vnfc-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3Networks">
+ <xml-root-element name="l3-networks"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3Network" name="l3-network" type="inventory.aai.onap.org.v10.L3Network"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="L3Network">
+ <xml-root-element name="l3-network"/>
+ <java-attributes>
+ <xml-element java-attribute="networkId" name="network-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Network ID, should be uuid. Unique across A&amp;AI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network, governed by some naming convention.."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkType" name="network-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the network - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkRole" name="network-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role the network plans - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkTechnology" name="network-technology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network technology - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isBoundToVpn" name="is-bound-to-vpn" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Set to true if bound to VPN"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service from ASDC. Does not strictly map to ASDC services. SOON TO BE DEPRECATED"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkRoleInstance" name="network-role-instance" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="network role instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailNetworkFqdn" name="contrail-network-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contrail FQDN for the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="physicalNetworkName" name="physical-network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name associated with the physical network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isProviderNetwork" name="is-provider-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is a provider network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isSharedNetwork" name="is-shared-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is a shared network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isExternalNetwork" name="is-external-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is an external network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnets" name="subnets" type="inventory.aai.onap.org.v10.Subnets"/>
+ <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.onap.org.v10.CtagAssignments"/>
+ <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.onap.org.v10.SegmentationAssignments"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList">
+ <xml-properties>
+ <xml-property name="description" value="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Generic network definition"/>
+ <xml-property name="nameProps" value="network-name"/>
+ <xml-property name="indexedProps" value="heat-stack-id,network-uuid,service-id,network-id,network-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-network-fqdn,network-role"/>
+ <xml-property name="searchable" value="network-id,network-name"/>
+ <xml-property name="uniqueProps" value="network-id"/>
+ <xml-property name="container" value="l3-networks"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/l3-networks/l3-network/{network-id}"/>
+ <xml-property name="requiredProps" value="network-id,is-bound-to-vpn,is-provider-network,is-shared-network,is-external-network"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="NetworkPolicies">
+ <xml-root-element name="network-policies"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkPolicy" name="network-policy" type="inventory.aai.onap.org.v10.NetworkPolicy"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="NetworkPolicy">
+ <xml-root-element name="network-policy"/>
+ <java-attributes>
+ <xml-element java-attribute="networkPolicyId" name="network-policy-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID representing unique key to this instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkPolicyFqdn" name="network-policy-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contrail FQDN for the policy"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID for the openStack Heat instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="nameProps" value="network-policy-fqdn"/>
+ <xml-property name="indexedProps" value="network-policy-id,network-policy-fqdn"/>
+ <xml-property name="searchable" value="network-policy-id,network-policy-fqdn"/>
+ <xml-property name="uniqueProps" value="network-policy-id"/>
+ <xml-property name="container" value="network-policies"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/network-policies/network-policy/{network-policy-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="CtagAssignments">
+ <xml-root-element name="ctag-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagAssignment" name="ctag-assignment" type="inventory.aai.onap.org.v10.CtagAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CtagAssignment">
+ <xml-root-element name="ctag-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="id."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vlan-id-inner"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="ctag-assignments"/>
+ <xml-property name="uriTemplate" value="/ctag-assignments/ctag-assignment/{vlan-id-inner}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Subnets">
+ <xml-root-element name="subnets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="subnet" name="subnet" type="inventory.aai.onap.org.v10.Subnet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Subnet">
+ <xml-root-element name="subnet"/>
+ <java-attributes>
+ <xml-element java-attribute="subnetId" name="subnet-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Subnet ID, should be UUID."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnetName" name="subnet-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name associated with the subnet."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of this subnet"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="gatewayAddress" name="gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="gateway ip address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkStartAddress" name="network-start-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="network start address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cidrMask" name="cidr-mask" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="cidr mask"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="dhcpEnabled" name="dhcp-enabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="dhcp enabled"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpStart" name="dhcp-start" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the start address reserved for use by dhcp"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpEnd" name="dhcp-end" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the last address reserved for use by dhcp"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="subnet-id,subnet-name"/>
+ <xml-property name="nameProps" value="subnet-name"/>
+ <xml-property name="uniqueProps" value="subnet-id"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="subnets"/>
+ <xml-property name="uriTemplate" value="/subnets/subnet/{subnet-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GenericVnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VNFs"/>
+ </xml-properties>
+ <xml-root-element name="generic-vnfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="genericVnf" name="generic-vnf" type="inventory.aai.onap.org.v10.GenericVnf"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GenericVnf">
+ <xml-root-element name="generic-vnf"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service, does not necessarily map to ASDC service models. SOON TO BE DEPRECATED"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ <xml-property name="suggestibleOnSearch" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational. Valid values are in-service-path and out-of-service-path."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, used by MSO."/>
+ <xml-property name="suggestibleOnSearch" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of managed by ATT or customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nmLanV6Address" name="nm-lan-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 Loopback address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementV6Address" name="management-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 management address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpu" name="vcpu" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpuUnits" name="vcpu-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only in some usecases"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemory" name="vmemory" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemoryUnits" name="vmemory-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only in some usecases"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdisk" name="vdisk" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdiskUnits" name="vdisk-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only in some usecases"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether generic-vnf access uses SSH"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementAssignmentGroupUuid" name="entitlement-assignment-group-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the Entitlement group used for licensing VNFs, OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the specific entitlement resource. OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseAssignmentGroupUuid" name="license-assignment-group-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the license assignment group. OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKeyUuid" name="license-key-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the actual license resource. OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="as-number of the VNF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceSubzone" name="regional-resource-subzone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="represents sub zone of the rr plane"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfType" name="nf-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Generic description of the type of NF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfFunction" name="nf-function" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="English description of Network function that the specific VNF deployment is providing"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="role in the network that this model will be providing"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfNamingCode" name="nf-naming-code" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="string assigned to this model used for naming purposes"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v10.LInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v10.LagInterfaces"/>
+ <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.onap.org.v10.VfModules"/>
+ <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v10.Licenses"/>
+ <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v10.Entitlements"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="General purpose VNF"/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,nf-type,nf-function,nf-naming-code,nf-role"/>
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="container" value="generic-vnfs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="extends" value="vnf"/>
+ <xml-property name="containsSuggestibleProps" value="true"/>
+ <xml-property name="suggestionAliases" value="VNFs"/>
+ <xml-property name="uriTemplate" value="/network/generic-vnfs/generic-vnf/{vnf-id}"/>
+ <xml-property name="requiredProps" value="vnf-id,vnf-type,in-maint,is-closed-loop-disabled"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VfModules">
+ <xml-properties>
+ <xml-property name="description" value="Collection of vf-modules, a deployment unit of VNFCs"/>
+ </xml-properties>
+ <xml-root-element name="vf-modules"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vfModule" name="vf-module" type="inventory.aai.onap.org.v10.VfModule"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VfModule">
+ <xml-root-element name="vf-module"/>
+ <java-attributes>
+ <xml-element java-attribute="vfModuleId" name="vf-module-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vf-module."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfModuleName" name="vf-module-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of vf-module"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="orchestration status of this vf-module, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isBaseVfModule" name="is-base-vf-module" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is base vf module"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the Contrail unique ID for a service-instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="moduleIndex" name="module-index" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="the index will track the number of modules of a given type that have been deployed in a VNF, starting with 0, and always choosing the lowest available digit"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="a deployment unit of VNFCs"/>
+ <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-service-instance-fqdn"/>
+ <xml-property name="searchable" value="vf-module-id,vf-module-name"/>
+ <xml-property name="dependentOn" value="generic-vnf"/>
+ <xml-property name="container" value="vf-modules"/>
+ <xml-property name="uriTemplate" value="/vf-modules/vf-module/{vf-module-id}"/>
+ <xml-property name="requiredProps" value="vf-module-id,is-base-vf-module"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="LagLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregation connections"/>
+ </xml-properties>
+ <xml-root-element name="lag-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagLink" name="lag-link" type="inventory.aai.onap.org.v10.LagLink"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LagLink">
+ <xml-root-element name="lag-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Alphabetical concatenation of lag-interface names"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="LAG links can connect lag-interfaces"/>
+ <xml-property name="indexedProps" value="link-name"/>
+ <xml-property name="container" value="lag-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/lag-links/lag-link/{link-name}"/>
+ <xml-property name="requiredProps" value="link-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Newvces">
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce."/>
+ </xml-properties>
+ <xml-root-element name="newvces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="newvce" name="newvce" type="inventory.aai.onap.org.v10.Newvce"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Newvce">
+ <xml-root-element name="newvce"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId2" name="vnf-id2" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF, can't use same attribute name right now until we promote this new object"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (v4-loopback0-ip-address)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v10.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce."/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2"/>
+ <xml-property name="searchable" value="vnf-id2,vnf-name,vnf-name2"/>
+ <xml-property name="uniqueProps" value="vnf-id2"/>
+ <xml-property name="container" value="newvces"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/newvces/newvce/{vnf-id2}"/>
+ <xml-property name="requiredProps" value="vnf-id2,vnf-name,vnf-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Physical Network Functions."/>
+ </xml-properties>
+ <xml-root-element name="pnfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pnf" name="pnf" type="inventory.aai.onap.org.v10.Pnf"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pnf">
+ <xml-root-element name="pnf"/>
+ <java-attributes>
+ <xml-element java-attribute="pnfName" name="pnf-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique name of Physical Network Function."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfName2" name="pnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="name of Physical Network Function."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfName2Source" name="pnf-name2-source" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="source of name2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfId" name="pnf-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="id of pnf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment type. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment vendor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment model. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of managed by ATT or customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Oam" name="ipaddress-v4-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ipv4-oam-address with new naming convention for IP addresses"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="swVersion" name="sw-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="sw-version is the version of SW for the hosted application on the PNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="frameId" name="frame-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of the physical frame (relay rack) where pnf is installed."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Serial number of the device"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 OAM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CANOPI's inventory status. Only set with values exactly as defined by CANOPI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Nf Role is the role performed by this instance in the network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v10.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v10.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE."/>
+ <xml-property name="indexedProps" value="pnf-name,orchestration-status,inv-status"/>
+ <xml-property name="searchable" value="pnf-name"/>
+ <xml-property name="uniqueProps" value="pnf-name"/>
+ <xml-property name="container" value="pnfs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/pnfs/pnf/{pnf-name}"/>
+ <xml-property name="requiredProps" value="pnf-name,in-maint"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PhysicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces"/>
+ </xml-properties>
+ <xml-root-element name="physical-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="physicalLink" name="physical-link" type="inventory.aai.onap.org.v10.PhysicalLink"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PhysicalLink">
+ <xml-root-element name="physical-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Circuit it"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dualMode" name="dual-mode" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Dual access mode (e.g., primary, secondary"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="To provide information on who manages this circuit. A&amp;AI or 3rd party transport provider"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderName" name="service-provider-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the service Provider on this link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces"/>
+ <xml-property name="indexedProps" value="circuit-id,link-name"/>
+ <xml-property name="alternateKeys1" value="circuit-id"/>
+ <xml-property name="container" value="physical-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="searchable" value="link-name,circuit-id"/>
+ <xml-property name="uriTemplate" value="/network/physical-links/physical-link/{link-name}"/>
+ <xml-property name="requiredProps" value="link-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VigServers">
+ <xml-root-element name="vig-servers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vigServer" name="vig-server" type="inventory.aai.onap.org.v10.VigServer"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VigServer">
+ <xml-root-element name="vig-server"/>
+ <java-attributes>
+ <xml-element java-attribute="vigAddressType" name="vig-address-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether the VIG is for AVPN or INTERNET"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV4Vig" name="ipaddress-v4-vig" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 IP of the vig server"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV6Vig" name="ipaddress-v6-vig" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 IP of the vig server"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607"/>
+ <xml-property name="indexedProps" value="vig-address-type"/>
+ <xml-property name="dependentOn" value="ipsec-configuration"/>
+ <xml-property name="container" value="vig-servers"/>
+ <xml-property name="uriTemplate" value="/vig-servers/vig-server/{vig-address-type}"/>
+ <xml-property name="requiredProps" value="vig-address-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="IpsecConfigurations">
+ <xml-root-element name="ipsec-configurations"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipsecConfiguration" name="ipsec-configuration" type="inventory.aai.onap.org.v10.IpsecConfiguration"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IpsecConfiguration">
+ <xml-root-element name="ipsec-configuration"/>
+ <java-attributes>
+ <xml-element java-attribute="ipsecConfigurationId" name="ipsec-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of this configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedVigAddressType" name="requested-vig-address-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicate the type of VIG server like AVPN, INTERNET, BOTH"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedEncryptionStrength" name="requested-encryption-strength" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encryption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedDmzType" name="requested-dmz-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="can offer a shared DMZ or a DMZ specific to a customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sharedDmzNetworkAddress" name="shared-dmz-network-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network address of shared DMZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedCustomerName" name="requested-customer-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="If the DMZ is a custom DMZ, this field will indicate the customer information"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikeVersion" name="ike-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="can be 1 or 2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1Authentication" name="ikev1-authentication" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contains values like md5, sha1, sha256, sha384"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1Encryption" name="ikev1-encryption" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1DhGroup" name="ikev1-dh-group" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Diffie-Hellman group like DH-GROUP2, DH-GROUP5, DH-GROUP14"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1AmGroupId" name="ikev1-am-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group name defined in VIG for clients using aggressive mode"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1AmPassword" name="ikev1-am-password" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="pre-shared key for the above group name "/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1SaLifetime" name="ikev1-sa-lifetime" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Lifetime for IKEv1 SA"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecAuthentication" name="ipsec-authentication" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="md5, sha1, sha256, sha384"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecEncryption" name="ipsec-encryption" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecSaLifetime" name="ipsec-sa-lifetime" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Life time for IPSec SA"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecPfs" name="ipsec-pfs" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="enable PFS or not"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="xauthUserId" name="xauth-userid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="user ID for xAuth, sm-user,nmteHostName"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="xauthUserPassword" name="xauth-user-password" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encrypted using the Juniper $9$ algorithm"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dpdInterval" name="dpd-interval" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The time between DPD probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dpdFrequency" name="dpd-frequency" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Maximum number of DPD before claiming the tunnel is down"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.onap.org.v10.VigServers"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C"/>
+ <xml-property name="indexedProps" value="ipsec-configuration-id"/>
+ <xml-property name="uniqueProps" value="ipsec-configuration-id"/>
+ <xml-property name="container" value="ipsec-configurations"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}"/>
+ <xml-property name="requiredProps" value="ipsec-configuration-id"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="NotificationEvent">
+ <xml-root-element name="notification-event"/>
+ <java-attributes>
+ <xml-element java-attribute="cambriaPartition" name="cambria.partition" type="java.lang.String"/>
+ <xml-element java-attribute="eventHeader" name="event-header" type="inventory.aai.onap.org.v10.NotificationEventHeader"/>
+ <xml-any-element java-attribute="entity"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="NotificationEventHeader">
+ <xml-root-element name="notification-event-header"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" type="java.lang.String"/>
+ <xml-element java-attribute="timestamp" name="timestamp" type="java.lang.String"/>
+ <xml-element java-attribute="sourceName" name="source-name" type="java.lang.String"/>
+ <xml-element java-attribute="domain" name="domain" type="java.lang.String"/>
+ <xml-element java-attribute="sequenceNumber" name="sequence-number" type="java.lang.String"/>
+ <xml-element java-attribute="severity" name="severity" type="java.lang.String"/>
+ <xml-element java-attribute="eventType" name="event-type" type="java.lang.String"/>
+ <xml-element java-attribute="version" name="version" type="java.lang.String"/>
+ <xml-element java-attribute="action" name="action" type="java.lang.String"/>
+ <xml-element java-attribute="entityType" name="entity-type" type="java.lang.String"/>
+ <xml-element java-attribute="topEntityType" name="top-entity-type" type="java.lang.String"/>
+ <xml-element java-attribute="entityLink" name="entity-link" type="java.lang.String"/>
+ <xml-element java-attribute="status" name="status" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="AaiInternal">
+ <xml-root-element name="aai-internal"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="reservedPropNames" name="reserved-prop-names" type="inventory.aai.onap.org.v10.ReservedPropNames"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.onap.org.v10.EdgePropNames"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="ReservedPropNames">
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define some reserved properties of a vertex"/>
+ <xml-property name="uniqueProps" value="aai-unique-key"/>
+ <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type,aai-uri"/>
+ </xml-properties>
+ <xml-root-element name="reserved-prop-names"/>
+ <java-attributes>
+ <xml-element java-attribute="lastModSourceOfTruth" name="last-mod-source-of-truth" type="java.lang.String"/>
+ <xml-element java-attribute="aaiNodeType" name="aai-node-type" type="java.lang.String"/>
+ <xml-element java-attribute="aaiCreatedTs" name="aai-created-ts" type="java.lang.Long"/>
+ <xml-element java-attribute="aaiUniqueKey" name="aai-unique-key" type="java.lang.String"/>
+ <xml-element java-attribute="aaiLastModTs" name="aai-last-mod-ts" type="java.lang.Long"/>
+ <xml-element java-attribute="sourceOfTruth" name="source-of-truth" type="java.lang.String"/>
+ <xml-element java-attribute="aaiUri" name="aai-uri" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="EdgePropNames">
+ <!-- NOTE that the names of these properties are not consistent and are in mixed case and hyphen case for now -->
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define the properties of an edge and interpret the map EdgeRules"/>
+ <xml-property name="edgeInfo" value="edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV"/>
+ </xml-properties>
+ <xml-root-element name="edge-prop-names"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeLabel" name="edgeLabel" type="java.lang.String"/>
+ <xml-element java-attribute="direction" name="direction" type="java.lang.String"/>
+ <xml-element java-attribute="multiplicityRule" name="multiplicityRule" type="java.lang.String"/>
+ <xml-element java-attribute="containsOtherV" name="contains-other-v" type="java.lang.String"/>
+ <xml-element java-attribute="deleteOtherV" name="delete-other-v" type="java.lang.String"/>
+ <xml-element java-attribute="svcinfra" name="SVC-INFRA" type="java.lang.String"/>
+ <xml-element java-attribute="preventDelete" name="prevent-delete" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Models">
+ <xml-properties>
+ <xml-property name="description" value="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models"/>
+ </xml-properties>
+ <xml-root-element name="models"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="model" name="model" type="inventory.aai.onap.org.v10.Model"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Model">
+ <xml-root-element name="model"/>
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version"/>
+ <xml-property name="nameProps" value="model-type"/>
+ <xml-property name="indexedProps" value="model-invariant-id,model-type"/>
+ <xml-property name="uniqueProps" value="model-invariant-id"/>
+ <xml-property name="container" value="models"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/models/model/{model-invariant-id}"/>
+ <xml-property name="requiredProps" value="model-invariant-id,model-type"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.onap.org.v10.ModelVers"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+
+ <java-type name="ModelVers">
+ <xml-root-element name="model-vers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelVer" name="model-ver" type="inventory.aai.onap.org.v10.ModelVer"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelVer">
+ <xml-root-element name="model-ver"/>
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models"/>
+ <xml-property name="nameProps" value="model-name"/>
+ <xml-property name="indexedProps" value="model-version-id,model-name,model-version"/>
+ <xml-property name="uniqueProps" value="model-version-id"/>
+ <xml-property name="container" value="model-vers"/>
+ <xml-property name="uriTemplate" value="/model-vers/model-ver/{model-version-id}"/>
+ <xml-property name="requiredProps" value="model-version-id,model-name,model-version"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the model, which can change from version to version."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v10.ModelElements"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v10.Metadata"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelElements">
+ <xml-root-element name="model-elements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelElement" name="model-element" type="inventory.aai.onap.org.v10.ModelElement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelElement">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model."/>
+ <xml-property name="uniqueProps" value="model-element-uuid"/>
+ <xml-property name="indexedProps" value="model-element-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="model-elements"/>
+ <xml-property name="uriTemplate" value="/model-elements/model-element/{model-element-uuid}"/>
+ <xml-property name="requiredProps" value="model-element-uuid,new-data-del-flag,cardinality"/>
+ </xml-properties>
+ <xml-root-element name="model-element"/>
+ <java-attributes>
+ <xml-element java-attribute="modelElementUuid" name="model-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="newDataDelFlag" name="new-data-del-flag" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates whether this element was created as part of instantiation from this model"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cardinality" name="cardinality" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="How many of this type of element are required/allowed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="linkagePoints" name="linkage-points" type="java.lang.String">
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v10.ModelElements">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelConstraints" name="model-constraints" type="inventory.aai.onap.org.v10.ModelConstraints">
+ <xml-properties>
+ <xml-property name="description" value="Describes new constraints on this model element that are not part of that model's definition"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelConstraints">
+ <xml-root-element name="model-constraints"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelConstraint" name="model-constraint" type="inventory.aai.onap.org.v10.ModelConstraint"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelConstraint">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="model-constraint-uuid"/>
+ <xml-property name="indexedProps" value="model-constraint-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="model-constraints"/>
+ <xml-property name="uriTemplate" value="/model-constraints/model-constraint/{model-constraint-uuid}"/>
+ <xml-property name="requiredProps" value="model-constraint-uuid,constrained-element-set-uuid-to-replace"/>
+ </xml-properties>
+ <xml-root-element name="model-constraint"/>
+ <java-attributes>
+ <xml-element java-attribute="modelConstraintUuid" name="model-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constrainedElementSetUuidToReplace" name="constrained-element-set-uuid-to-replace" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="constrainedElementSets" name="constrained-element-sets" type="inventory.aai.onap.org.v10.ConstrainedElementSets"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ConstrainedElementSets">
+ <xml-root-element name="constrained-element-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="constrainedElementSet" name="constrained-element-set" type="inventory.aai.onap.org.v10.ConstrainedElementSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ConstrainedElementSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="constrained-element-set-uuid"/>
+ <xml-property name="indexedProps" value="constrained-element-set-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="constrained-element-sets"/>
+ <xml-property name="uriTemplate" value="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}"/>
+ <xml-property name="requiredProps" value="constrained-element-set-uuid,constraint-type,check-type"/>
+ </xml-properties>
+ <xml-root-element name="constrained-element-set"/>
+ <java-attributes>
+ <xml-element java-attribute="constrainedElementSetUuid" name="constrained-element-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="checkType" name="check-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="elementChoiceSets" name="element-choice-sets" type="inventory.aai.onap.org.v10.ElementChoiceSets"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ElementChoiceSets">
+ <xml-root-element name="element-choice-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="elementChoiceSet" name="element-choice-set" type="inventory.aai.onap.org.v10.ElementChoiceSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ElementChoiceSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="element-choice-set-uuid"/>
+ <xml-property name="indexedProps" value="element-choice-set-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="element-choice-sets"/>
+ <xml-property name="uriTemplate" value="/element-choice-sets/element-choice-set/{element-choice-set-uuid}"/>
+ <xml-property name="requiredProps" value="element-choice-set-uuid,element-choice-set-name"/>
+ </xml-properties>
+ <xml-root-element name="element-choice-set"/>
+ <java-attributes>
+ <xml-element java-attribute="elementChoiceSetUuid" name="element-choice-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="elementChoiceSetName" name="element-choice-set-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="cardinality" name="cardinality" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v10.ModelElements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueries">
+ <xml-root-element name="named-queries"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQuery" name="named-query" type="inventory.aai.onap.org.v10.NamedQuery"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQuery">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="nameProps" value="named-query-name"/>
+ <xml-property name="uniqueProps" value="named-query-uuid"/>
+ <xml-property name="indexedProps" value="named-query-uuid,named-query-name"/>
+ <xml-property name="container" value="named-queries"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/named-queries/named-query/{named-query-uuid}"/>
+ <xml-property name="requiredProps" value="named-query-uuid,named-query-name,named-query-version"/>
+ </xml-properties>
+ <xml-root-element name="named-query"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQueryUuid" name="named-query-uuid" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="namedQueryName" name="named-query-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryVersion" name="named-query-version" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="requiredInputParams" name="required-input-param" type="java.lang.String">
+ <xml-element-wrapper name="required-input-params"/>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.onap.org.v10.NamedQueryElements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueryElements">
+ <xml-root-element name="named-query-elements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQueryElement" name="named-query-element" type="inventory.aai.onap.org.v10.NamedQueryElement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueryElement">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="named-query-element-uuid"/>
+ <xml-property name="indexedProps" value="named-query-element-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="named-query-elements"/>
+ <xml-property name="uriTemplate" value="/named-query-elements/named-query-element/{named-query-element-uuid}"/>
+ <xml-property name="requiredProps" value="named-query-element-uuid"/>
+ </xml-properties>
+ <xml-root-element name="named-query-element"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQueryElementUuid" name="named-query-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="propertyLimitDesc" name="property-limit-desc" type="java.lang.String"/>
+ <xml-element java-attribute="doNotOutput" name="do-not-output" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.onap.org.v10.NamedQueryElements"/>
+ <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.onap.org.v10.RelatedLookups"/>
+ <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.onap.org.v10.PropertyConstraints"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedLookups">
+ <xml-root-element name="related-lookups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedLookup" name="related-lookup" type="inventory.aai.onap.org.v10.RelatedLookup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedLookup">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="related-lookup-uuid"/>
+ <xml-property name="indexedProps" value="related-lookup-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="related-lookups"/>
+ <xml-property name="uriTemplate" value="/related-lookups/related-lookup/{related-lookup-uuid}"/>
+ <xml-property name="requiredProps" value="related-lookup-uuid,source-node-type,source-node-property,target-node-type,target-node-property"/>
+ </xml-properties>
+ <xml-root-element name="related-lookup"/>
+ <java-attributes>
+ <xml-element java-attribute="relatedLookupUuid" name="related-lookup-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceNodeType" name="source-node-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="sourceNodeProperty" name="source-node-property" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="targetNodeType" name="target-node-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="targetNodeProperty" name="target-node-property" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PropertyConstraints">
+ <xml-root-element name="property-constraints"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyConstraint" name="property-constraint" type="inventory.aai.onap.org.v10.PropertyConstraint"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PropertyConstraint">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="property-constraint-uuid"/>
+ <xml-property name="indexedProps" value="property-constraint-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="property-constraints"/>
+ <xml-property name="uriTemplate" value="/property-constraints/property-constraint/{property-constraint-uuid}"/>
+ <xml-property name="requiredProps" value="property-constraint-uuid,constraint-type,property-name,property-value"/>
+ </xml-properties>
+ <xml-root-element name="property-constraint"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyConstraintUuid" name="property-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="propertyName" name="property-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelAndNamedQuerySearch">
+ <xml-properties>
+ <xml-property name="description" value="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="model-and-named-query-search"/>
+ <java-attributes>
+ <xml-element java-attribute="queryParameters" name="query-parameters" type="inventory.aai.onap.org.v10.QueryParameters"/>
+ <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.onap.org.v10.InstanceFilters"/>
+ <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.onap.org.v10.SecondaryFilts"/>
+ <xml-element java-attribute="topNodeType" name="top-node-type" type="java.lang.String"/>
+ <xml-element java-attribute="secondaryFilterCutPoint" name="secondary-filter-cut-point" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="QueryParameters">
+ <xml-properties>
+ <xml-property name="description" value="QueryParameters for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="query-parameters"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQuery" name="named-query" type="inventory.aai.onap.org.v10.NamedQuery"/>
+ <xml-element java-attribute="model" name="model" type="inventory.aai.onap.org.v10.OverloadedModel"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OverloadedModel">
+ <xml-root-element name="overloaded-model"/>
+ <xml-properties>
+ <xml-property name="description" value="Allows for legacy POST of old-style and new-style models"/>
+ <xml-property name="requiredProps" value="model-invariant-id,model-name-version-id,model-type,model-name,model-id,model-version"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelNameVersionId" name="model-name-version-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the model, which can change from version to version."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelId" name="model-id" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Invariant unique ID which does not change from version to version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.onap.org.v10.ModelVers"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceFilters">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilters for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="instance-filters"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="instanceFilter" name="instance-filter" type="inventory.aai.onap.org.v10.InstanceFilter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceFilter">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilter for performing a named-query or model query"/>
+ <xml-property name="container" value="instance-filters"/>
+ </xml-properties>
+ <xml-root-element name="instance-filter"/>
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilts">
+ <xml-properties>
+ <xml-property name="description" value="SecondaryFilts for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="secondary-filts"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilt" name="secondary-filt" type="inventory.aai.onap.org.v10.SecondaryFilt"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilt">
+ <xml-properties>
+ <xml-property name="description" value="SecondaryFilt for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="secondary-filt"/>
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Properties">
+ <xml-properties>
+ <xml-property name="description" value="Property holder for query properties or instance properties"/>
+ </xml-properties>
+ <xml-root-element name="properties"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ResponseList">
+ <xml-properties>
+ <xml-property name="description" value="Response container for the results of a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="response-list"/>
+ <java-attributes>
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v10.InventoryResponseItems"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryResponseItems">
+ <xml-properties>
+ <xml-property name="description" value="Container for inventory items in response list"/>
+ <xml-property name="container" value="response-list"/>
+ </xml-properties>
+ <xml-root-element name="inventory-response-items"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryResponseItem" name="inventory-response-item" type="inventory.aai.onap.org.v10.InventoryResponseItem"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryResponseItem">
+ <xml-properties>
+ <xml-property name="description" value="Inventory item for response list"/>
+ <xml-property name="container" value="inventory-response-items"/>
+ </xml-properties>
+ <xml-root-element name="inventory-response-item"/>
+ <java-attributes>
+ <xml-element java-attribute="modelName" name="model-name" type="java.lang.String"/>
+ <xml-any-element java-attribute="item"/>
+ <xml-element java-attribute="extraProperties" name="extra-properties" type="inventory.aai.onap.org.v10.ExtraProperties"/>
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v10.InventoryResponseItems"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExtraProperties">
+ <xml-properties>
+ <xml-property name="description" value="Extra properties for inventory item for response list"/>
+ </xml-properties>
+ <xml-root-element name="extra-properties"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="extraProperty" name="extra-property" type="inventory.aai.onap.org.v10.ExtraProperty"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExtraProperty">
+ <xml-root-element name="extra-property"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RouteTableReferences">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack route table references"/>
+ </xml-properties>
+ <xml-root-element name="route-table-references"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routeTableReference" name="route-table-reference" type="inventory.aai.onap.org.v10.RouteTableReference"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RouteTableReference">
+ <xml-root-element name="route-table-reference"/>
+ <java-attributes>
+ <xml-element java-attribute="routeTableReferenceId" name="route-table-reference-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTableReferenceFqdn" name="route-table-reference-fqdn" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="FQDN entry in the route table."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Openstack route table reference."/>
+ <xml-property name="nameProps" value="route-table-reference-fqdn"/>
+ <xml-property name="uniqueProps" value="route-table-reference-id"/>
+ <xml-property name="indexedProps" value="route-table-reference-id,route-table-reference-fqdn"/>
+ <xml-property name="container" value="route-table-references"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/route-table-references/route-table-reference/{route-table-reference-id}"/>
+ <xml-property name="requiredProps" value="route-table-reference-id,route-table-reference-fqdn"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="InstanceGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack route table references"/>
+ </xml-properties>
+ <xml-root-element name="instance-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="instanceGroup" name="instance-group" type="inventory.aai.onap.org.v10.InstanceGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceGroup">
+ <xml-root-element name="instance-group"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Instance Group ID, UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Descriptive text to help identify the usage of this instance-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="type" name="type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Only valid value today is lower case ha for high availability"/>
+ <xml-property name="dbAlias" value="instance-group-type"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subType" name="sub-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Valid values for ha type are [geo-activeactive, geo-activestandby, local-activeactive, local-activestandby]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="General mechanism for grouping instances"/>
+ <xml-property name="nameProps" value="description"/>
+ <xml-property name="uniqueProps" value="id"/>
+ <xml-property name="searchable" value="id,description"/>
+ <xml-property name="indexedProps" value="id,description,type,sub-type"/>
+ <xml-property name="container" value="instance-groups"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/instance-groups/instance-group/{id}"/>
+ <xml-property name="requiredProps" value="id,description,type"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="SegmentationAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack segmentation assignments"/>
+ </xml-properties>
+ <xml-root-element name="segmentation-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.onap.org.v10.SegmentationAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SegmentationAssignment">
+ <xml-root-element name="segmentation-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack segmentation assignment."/>
+ <xml-property name="indexedProps" value="segmentation-id"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="segmentation-assignments"/>
+ <xml-property name="uriTemplate" value="/segmentation-assignments/segmentation-assignment/{segmentation-id}"/>
+ <xml-property name="requiredProps" value="segmentation-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="AllottedResources">
+ <xml-properties>
+ <xml-property name="description" value="This object is used to store slices of services being offered"/>
+ </xml-properties>
+ <xml-root-element name="allotted-resources"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="allottedResource" name="allotted-resource" type="inventory.aai.onap.org.v10.AllottedResource"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AllottedResource">
+ <xml-root-element name="allotted-resource"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Allotted Resource id UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The descriptive information assigned to this allotted resource instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Link back to more information in the controller"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="type" name="type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Generic description of the type of allotted resource."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="role" name="role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="role in the network that this resource will be providing."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tunnelXconnects" name="tunnel-xconnects" type="inventory.aai.onap.org.v10.TunnelXconnects"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Represents a slice or partial piece of a resource that gets separately allotted"/>
+ <xml-property name="nameProps" value="description"/>
+ <xml-property name="uniqueProps" value="id"/>
+ <xml-property name="indexedProps" value="id,model-invariant-id,model-version-id,type,role"/>
+ <xml-property name="dependentOn" value="service-instance"/>
+ <xml-property name="container" value="allotted-resources"/>
+ <!-- <xml-property name="namespace" value="network" /> -->
+ <xml-property name="uriTemplate" value="/allotted-resources/allotted-resource/{id}"/>
+ <xml-property name="requiredProps" value="id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="TunnelXconnects">
+ <xml-properties>
+ <xml-property name="description" value="This object is used to store the specific tunnel cross connect aspects of an allotted resource"/>
+ </xml-properties>
+ <xml-root-element name="tunnel-xconnects"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tunnelXconnect" name="tunnel-xconnect" type="inventory.aai.onap.org.v10.TunnelXconnect"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="TunnelXconnect">
+ <xml-root-element name="tunnel-xconnect"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Allotted Resource id UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN uplink bandwidth for WAN1"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN downlink bandwidth for WAN1"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN uplink bandwidth for WAN2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN downlink bandwidth for WAN2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted"/>
+ <xml-property name="uniqueProps" value="id"/>
+ <xml-property name="indexedProps" value="id"/>
+ <xml-property name="dependentOn" value="allotted-resource"/>
+ <xml-property name="container" value="tunnel-xconnects"/>
+ <!-- <xml-property name="namespace" value="network" /> -->
+ <xml-property name="uriTemplate" value="/tunnel-xconnects/tunnel-xconnect/{id}"/>
+ <xml-property name="requiredProps" value="id,bandwidth-up-wan1,bandwidth-down-wan1,bandwidth-up-wan2,bandwidth-down-wan2"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Entitlements">
+ <xml-properties>
+ <xml-property name="description" value="Entitlements, keyed by group-uuid and resource-uuid, related to license management"/>
+ </xml-properties>
+ <xml-root-element name="entitlements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="entitlement" name="entitlement" type="inventory.aai.onap.org.v10.Entitlement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Entitlement">
+ <xml-root-element name="entitlement"/>
+ <java-attributes>
+ <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for the entitlement group the resource comes from, should be uuid."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of an entitlement resource. "/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Metadata for entitlement group."/>
+ <xml-property name="indexedProps" value="group-uuid,resource-uuid"/>
+ <xml-property name="dependentOn" value="generic-vnf,vce"/>
+ <xml-property name="container" value="entitlements"/>
+ <xml-property name="uriTemplate" value="/entitlements/entitlement/{group-uuid}/{resource-uuid}"/>
+ <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="Licenses">
+ <xml-properties>
+ <xml-property name="description" value="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management"/>
+ </xml-properties>
+ <xml-root-element name="licenses"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="license" name="license" type="inventory.aai.onap.org.v10.License"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="License">
+ <xml-root-element name="license"/>
+ <java-attributes>
+ <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for the license group the resource belongs to, should be uuid."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of a license resource. "/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Metadata for license group."/>
+ <xml-property name="indexedProps" value="group-uuid,resource-uuid"/>
+ <xml-property name="dependentOn" value="generic-vnf,vce"/>
+ <xml-property name="container" value="licenses"/>
+ <xml-property name="uriTemplate" value="/licenses/license/{group-uuid}/{resource-uuid}"/>
+ <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vnf">
+ <xml-root-element name="vnf"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Abstract vnf class"/>
+ <xml-property name="indexedProps" value="vnf-id"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="inheritors" value="vce,generic-vnf"/>
+ <xml-property name="abstract" value="true"/>
+ <xml-property name="requiredProps" value="vnf-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Zones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of zones"/>
+ </xml-properties>
+ <xml-root-element name="zones"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="zone" name="zone" type="inventory.aai.onap.org.v10.Zone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Zone">
+ <xml-root-element name="zone"/>
+ <java-attributes>
+ <xml-element java-attribute="zoneId" name="zone-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Code assigned by AIC to the zone"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="zoneName" name="zone-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="English name associated with the zone"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="designType" name="design-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Design of zone [Medium/Large…]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="zoneContext" name="zone-context" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Context of zone [production/test]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="status" name="status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Status of a zone."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="A zone is a grouping of assets in a location homing to the same connections into the CBB"/>
+ <xml-property name="nameProps" value="zone-name"/>
+ <xml-property name="indexedProps" value="zone-id,design-type,zone-context"/>
+ <xml-property name="uniqueProps" value="zone-id"/>
+ <xml-property name="container" value="zones"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/zones/zone/{zone-id}"/>
+ <xml-property name="requiredProps" value="zone-id,zone-name,design-type,zone-context"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="RouteTargets">
+ <xml-properties>
+ <xml-property name="description" value="Collection of route target information"/>
+ </xml-properties>
+ <xml-root-element name="route-targets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routeTarget" name="route-target" type="inventory.aai.onap.org.v10.RouteTarget"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="RouteTarget">
+ <xml-root-element name="route-target"/>
+ <java-attributes>
+ <xml-element java-attribute="globalRouteTarget" name="global-route-target" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Number used to identify an RT, globally unique in the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTargetRole" name="route-target-role" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this route target"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Route target information"/>
+ <xml-property name="container" value="route-targets"/>
+ <xml-property name="dependentOn" value="vpn-binding"/>
+ <xml-property name="canBeLinked" value="true"/>
+ <xml-property name="uriTemplate" value="/route-targets/route-target/{global-route-target}/{route-target-role}"/>
+ <xml-property name="requiredProps" value="global-route-target,route-target-role"/>
+ </xml-properties>
+ </java-type>
+ </java-types>
+</xml-bindings>
diff --git a/aai-core/src/test/resources/onap/oxm/v11/aai_oxm_v11.xml b/aai-core/src/test/resources/onap/oxm/v11/aai_oxm_v11.xml
new file mode 100644
index 00000000..490fd7b5
--- /dev/null
+++ b/aai-core/src/test/resources/onap/oxm/v11/aai_oxm_v11.xml
@@ -0,0 +1,6565 @@
+<!--
+
+ ============LICENSE_START=======================================================
+ org.onap.aai
+ ================================================================================
+ Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ============LICENSE_END=========================================================
+
+ ECOMP is a trademark and service mark of AT&T Intellectual Property.
+
+-->
+<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v11" xml-mapping-metadata-complete="true">
+ <xml-schema element-form-default="QUALIFIED">
+ <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v11"/>
+ </xml-schema>
+ <java-types>
+ <java-type name="Inventory">
+ <xml-root-element name="inventory"/>
+ <java-attributes>
+ <xml-element java-attribute="search" name="search" type="inventory.aai.onap.org.v11.Search"/>
+ <xml-element java-attribute="actions" name="actions" type="inventory.aai.onap.org.v11.Actions"/>
+ <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.onap.org.v11.CloudInfrastructure"/>
+ <xml-element java-attribute="externalSystem" name="external-system" type="inventory.aai.onap.org.v11.ExternalSystem"/>
+ <xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v11.Business"/>
+ <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.onap.org.v11.ServiceDesignAndCreation"/>
+ <xml-element java-attribute="network" name="network" type="inventory.aai.onap.org.v11.Network"/>
+ <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.onap.org.v11.AaiInternal"/>
+ <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.onap.org.v11.Nodes"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Nodes">
+ <xml-root-element name="nodes"/>
+ </java-type>
+ <java-type name="Search">
+ <xml-root-element name="search"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeTagQueryResult" name="edge-tag-query-result" type="inventory.aai.onap.org.v11.EdgeTagQueryResult"/>
+ <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.onap.org.v11.EdgeTagQueryRequest"/>
+ <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.onap.org.v11.SearchResults"/>
+ <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.onap.org.v11.SdnZoneResponse"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EdgeTagQueryResult">
+ <xml-root-element name="edge-tag-query-result"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v11.TaggedInventoryItemList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="TaggedInventoryItemList">
+ <xml-root-element name="tagged-inventory-item-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItem" name="inventory-item" type="inventory.aai.onap.org.v11.InventoryItem"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryItem">
+ <xml-root-element name="inventory-item"/>
+ <java-attributes>
+ <xml-element java-attribute="inventoryItemType" name="inventory-item-type" type="java.lang.String"/>
+ <xml-element java-attribute="inventoryItemLink" name="inventory-item-link" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItemData" name="inventory-item-data" type="inventory.aai.onap.org.v11.InventoryItemData"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v11.TaggedInventoryItemList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryItemData">
+ <xml-root-element name="inventory-item-data"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EdgeTagQueryRequest">
+ <xml-root-element name="edge-tag-query-request"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeTag" name="edge-tag" type="java.lang.String"/>
+ <xml-element java-attribute="resultDetail" name="result-detail" type="java.lang.String"/>
+ <xml-element java-attribute="startNodeType" name="start-node-type" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="startNodeFilter" name="start-node-filter" type="inventory.aai.onap.org.v11.StartNodeFilter"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.onap.org.v11.IncludeNodeFilter"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.onap.org.v11.SecondaryFilter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="StartNodeFilter">
+ <xml-root-element name="start-node-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IncludeNodeFilter">
+ <xml-root-element name="include-node-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="includeNodeType" name="include-node-type" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilter">
+ <xml-root-element name="secondary-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="filterType" name="filter-type" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SearchResults">
+ <xml-root-element name="search-results"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="resultData" name="result-data" type="inventory.aai.onap.org.v11.ResultData"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ResultData">
+ <xml-root-element name="result-data"/>
+ <java-attributes>
+ <xml-element java-attribute="resourceType" name="resource-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The specific type of node in the A&amp;AI graph"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceLink" name="resource-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The URL to the specific resource"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SdnZoneResponse">
+ <xml-root-element name="sdn-zone-response"/>
+ <java-attributes>
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v11.OamNetworks"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.onap.org.v11.AzAndDvsSwitches"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AzAndDvsSwitches">
+ <xml-root-element name="az-and-dvs-switches"/>
+ <java-attributes>
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v11.DvsSwitches"/>
+ <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v11.AvailabilityZone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Actions">
+ <xml-properties>
+ <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)."/>
+ </xml-properties>
+ <xml-root-element name="actions"/>
+ <java-attributes>
+ <xml-element java-attribute="update" name="update" type="inventory.aai.onap.org.v11.Update"/>
+ <xml-element java-attribute="notify" name="notify" type="inventory.aai.onap.org.v11.Notify"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Update">
+ <xml-properties>
+ <xml-property name="description" value="Serves a PATCH like function. Does not enforce concurrency control. Clear each usage with AAI team."/>
+ <xml-property name="requiredProps" value="update-node-type"/>
+ </xml-properties>
+ <xml-root-element name="update"/>
+ <java-attributes>
+ <xml-element java-attribute="updateNodeType" name="update-node-type" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="updateNodeKey" name="update-node-key" type="inventory.aai.onap.org.v11.UpdateNodeKey"/>
+ <xml-element java-attribute="updateNodeUri" name="update-node-uri" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="action" name="action" type="inventory.aai.onap.org.v11.Action"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Action">
+ <xml-root-element name="action"/>
+ <java-attributes>
+ <xml-element java-attribute="actionType" name="action-type" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="actionData" name="action-data" type="inventory.aai.onap.org.v11.ActionData"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ActionData">
+ <xml-root-element name="action-data"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="UpdateNodeKey">
+ <xml-root-element name="update-node-key"/>
+ <java-attributes>
+ <xml-element java-attribute="keyName" name="key-name" type="java.lang.String"/>
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Notify">
+ <xml-root-element name="notify"/>
+ <java-attributes>
+ <xml-element java-attribute="eventId" name="event-id" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="nodeType" name="node-type" type="java.lang.String"/>
+ <xml-element java-attribute="eventTrigger" name="event-trigger" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="keyData" name="key-data" type="inventory.aai.onap.org.v11.KeyData"/>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="KeyData">
+ <xml-root-element name="key-data"/>
+ <java-attributes>
+ <xml-element java-attribute="keyName" name="key-name" type="java.lang.String"/>
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExternalSystem">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for external system."/>
+ </xml-properties>
+ <xml-root-element name="external-system"/>
+ <java-attributes>
+ <xml-element java-attribute="esrEmsList" name="esr-ems-list" type="inventory.aai.onap.org.v11.EsrEmsList"/>
+ <xml-element java-attribute="esrVnfmList" name="esr-vnfm-list" type="inventory.aai.onap.org.v11.EsrVnfmList"/>
+ <xml-element java-attribute="esrThirdpartySdncList" name="esr-thirdparty-sdnc-list" type="inventory.aai.onap.org.v11.EsrThirdpartySdncList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EsrEmsList">
+ <xml-root-element name="esr-ems-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="esrEms" name="esr-ems" type="inventory.aai.onap.org.v11.EsrEms"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrEms">
+ <xml-root-element name="esr-ems"/>
+ <java-attributes>
+ <xml-element java-attribute="emsId" name="ems-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of EMS."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v11.EsrSystemInfoList"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persist EMS address information used by EMS driver."/>
+ <xml-property name="indexedProps" value="ems-id"/>
+ <xml-property name="searchable" value="ems-id"/>
+ <xml-property name="container" value="esr-ems-list"/>
+ <xml-property name="namespace" value="external-system"/>
+ <xml-property name="requiredProps" value="ems-id"/>
+ <xml-property name="uriTemplate" value="/external-system/esr-ems-list/esr-ems/{ems-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrVnfmList">
+ <xml-root-element name="esr-vnfm-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="esrVnfm" name="esr-vnfm" type="inventory.aai.onap.org.v11.EsrVnfm"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrVnfm">
+ <xml-root-element name="esr-vnfm"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfmId" name="vnfm-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of VNFM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vimId" name="vim-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indecate the VIM to deploy VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="certificateUrl" name="certificate-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="certificate url of VNFM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v11.EsrSystemInfoList"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persist VNFM address information used by VF-C."/>
+ <xml-property name="indexedProps" value="vnfm-id"/>
+ <xml-property name="searchable" value="vnfm-id"/>
+ <xml-property name="container" value="esr-vnfm-list"/>
+ <xml-property name="namespace" value="external-system"/>
+ <xml-property name="requiredProps" value="vnfm-id"/>
+ <xml-property name="uriTemplate" value="/external-system/esr-vnfm-list/esr-vnfm/{vnfm-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrThirdpartySdncList">
+ <xml-root-element name="esr-thirdparty-sdnc-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="esrThirdpartySdnc" name="esr-thirdparty-sdnc" type="inventory.aai.onap.org.v11.EsrThirdpartySdnc"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrThirdpartySdnc">
+ <xml-root-element name="esr-thirdparty-sdnc"/>
+ <java-attributes>
+ <xml-element java-attribute="thirdpartySdncId" name="thirdparty-sdnc-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of SDNC."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="location" name="location" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="used for DC type to indicate the location of SDNC, such as Core or Edge."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="productName" name="product-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="password used to access SDNC server."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v11.EsrSystemInfoList"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persist SDNC address information used by ONAP SDNC."/>
+ <xml-property name="indexedProps" value="sdnc-id"/>
+ <xml-property name="searchable" value="sdnc-id"/>
+ <xml-property name="container" value="esr-thirdparty-sdnc-list"/>
+ <xml-property name="namespace" value="external-system"/>
+ <xml-property name="requiredProps" value="thirdparty-sdnc-id"/>
+ <xml-property name="uriTemplate" value="/external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/{thirdparty-sdnc-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrSystemInfoList">
+ <xml-root-element name="esr-system-info-list"/>
+ <xml-properties>
+ <xml-property name="description" value="Collection of persistent block-level external system auth info."/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="esrSystemInfo" name="esr-system-info" type="inventory.aai.onap.org.v11.EsrSystemInfo"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrSystemInfo">
+ <xml-root-element name="esr-system-info"/>
+ <java-attributes>
+ <xml-element java-attribute="esrSystemInfoId" name="esr-system-info-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of esr system info."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="systemName" name="system-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="name of external system."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="type" name="type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="type of external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vendor" name="vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="vendor of external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="version" name="version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="version of external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceUrl" name="service-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="url used to access external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="userName" name="user-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="username used to access external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="password" name="password" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="password used to access external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="systemType" name="system-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="it could be vim/vnfm/thirdparty-sdnc/ems-resource/ems-performance/ems-alarm."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="protocol" name="protocol" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="protocol of third party SDNC, for example netconf/snmp."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sslCacert" name="ssl-cacert" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ca file content if enabled ssl on auth-url."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="sslInsecure" name="ssl-insecure" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Whether to verify VIM's certificate."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipAddress" name="ip-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="service IP of ftp server."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="port" name="port" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="service port of ftp server."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudDomain" name="cloud-domain" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="domain info for authentication."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="defaultTenant" name="default-tenant" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="default tenant of VIM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="passive" name="passive" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="ftp passive mode or not."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="remotepath" name="remote-path" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="resource or performance data file path."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="systemStatus" name="system-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the status of external system."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persist common address information of external systems."/>
+ <xml-property name="indexedProps" value="esr-system-info-id,system-name,system-type"/>
+ <xml-property name="searchable" value="esr-system-info-id,system-name,system-type"/>
+ <xml-property name="container" value="esr-system-info-list"/>
+ <xml-property name="dependentOn" value="cloud-region,esr-ems,esr-vnfm,esr-thirdparty-sdnc"/>
+ <xml-property name="requiredProps" value="esr-system-info-id,user-name,password,system-type"/>
+ <xml-property name="uriTemplate" value="/esr-system-info-list/esr-system-info/{esr-system-info-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CloudInfrastructure">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for cloud infrastructure."/>
+ </xml-properties>
+ <xml-root-element name="cloud-infrastructure"/>
+ <java-attributes>
+ <xml-element java-attribute="complexes" name="complexes" type="inventory.aai.onap.org.v11.Complexes"/>
+ <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.onap.org.v11.CloudRegions"/>
+ <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.onap.org.v11.NetworkProfiles"/>
+ <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.onap.org.v11.Pservers"/>
+ <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.onap.org.v11.VirtualDataCenters"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CloudRegions">
+ <xml-root-element name="cloud-regions"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cloudRegion" name="cloud-region" type="inventory.aai.onap.org.v11.CloudRegion"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CloudRegion">
+ <xml-root-element name="cloud-region"/>
+ <java-attributes>
+ <xml-element java-attribute="cloudOwner" name="cloud-owner" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifies the vendor and cloud name. First part of composite key should be formatted as vendor-cloudname"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudRegionId" name="cloud-region-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite key"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudType" name="cloud-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the cloud (e.g., openstack)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ownerDefinedType" name="owner-defined-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Cloud-owner defined type indicator (e.g., dcp, lcp)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudRegionVersion" name="cloud-region-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Software version employed at the site. NOTE - THIS FIELD IS NOT KEPT UP TO DATE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL of the keystone identity service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudZone" name="cloud-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Zone where the cloud is homed. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="complex name for cloud-region instance. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sriovAutomation" name="sriov-automation" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether the cloud region supports (true) or does not support (false) SR-IOV automation."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudExtraInfo" name="cloud-extra-info" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ESR inputs extra information about the VIM or Cloud which will be decoded by MultiVIM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudEpaCaps" name="cloud-epa-caps" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="MultiVIM will discover and expose EPA capabilities."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeGroups" name="volume-groups" type="inventory.aai.onap.org.v11.VolumeGroups"/>
+ <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v11.Tenants"/>
+ <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v11.Flavors"/>
+ <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.onap.org.v11.GroupAssignments"/>
+ <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v11.Snapshots"/>
+ <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v11.Images"/>
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v11.DvsSwitches"/>
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v11.OamNetworks"/>
+ <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v11.AvailabilityZones"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v11.EsrSystemInfoList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv4AddressList" name="vip-ipv4-address-list" type="inventory.aai.onap.org.v11.VipIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv6AddressList" name="vip-ipv6-address-list" type="inventory.aai.onap.org.v11.VipIpv6AddressList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation."/>
+ <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type"/>
+ <xml-property name="nameProps" value="owner-defined-type"/>
+ <xml-property name="container" value="cloud-regions"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}"/>
+ <xml-property name="requiredProps" value="cloud-owner,cloud-region-id"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="VolumeGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of persistent block-level storage."/>
+ </xml-properties>
+ <xml-root-element name="volume-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volumeGroup" name="volume-group" type="inventory.aai.onap.org.v11.VolumeGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VolumeGroup">
+ <xml-root-element name="volume-group"/>
+ <java-attributes>
+ <xml-element java-attribute="volumeGroupId" name="volume-group-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of volume-group."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeGroupName" name="volume-group-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the volume group."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this volume-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this volume-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfModuleModelCustomizationId" name="vf-module-model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="helps relate the volume group to the vf-module whose components will require the volume group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persistent block-level storage."/>
+ <xml-property name="indexedProps" value="volume-group-name,vnf-type,heat-stack-id,volume-group-id"/>
+ <xml-property name="searchable" value="volume-group-id,volume-group-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="volume-groups"/>
+ <xml-property name="uriTemplate" value="/volume-groups/volume-group/{volume-group-id}"/>
+ <xml-property name="requiredProps" value="volume-group-id,vnf-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="RelationshipList">
+ <xml-root-element name="relationship-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.onap.org.v11.Relationship"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Relationship">
+ <xml-root-element name="relationship"/>
+ <java-attributes>
+ <xml-element java-attribute="relatedTo" name="related-to" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate type of node."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to the object in A&amp;AI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.onap.org.v11.RelationshipData"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.onap.org.v11.RelatedToProperty"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedToProperty">
+ <xml-root-element name="related-to-property"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyKey" name="property-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Key part of a key/value pair"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value part of a key/value pair"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelationshipData">
+ <xml-root-element name="relationship-data"/>
+ <java-attributes>
+ <xml-element java-attribute="relationshipKey" name="relationship-key" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate an attribute."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipValue" name="relationship-value" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value of the attribute."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Complexes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions."/>
+ </xml-properties>
+ <xml-root-element name="complexes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="complex" name="complex" type="inventory.aai.onap.org.v11.Complex"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Complex">
+ <xml-root-element name="complex"/>
+ <java-attributes>
+ <xml-element java-attribute="physicalLocationId" name="physical-location-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for physical location, e.g., CLLI"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dataCenterCode" name="data-center-code" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Data center code which can be an alternate way to identify a complex"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Gamma complex name for LCP instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL of the keystone identity service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="physicalLocationType" name="physical-location-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type, e.g., central office, data center."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="street1" name="street1" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="street2" name="street2" type="java.lang.String"/>
+ <xml-element java-attribute="city" name="city" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="state" name="state" type="java.lang.String"/>
+ <xml-element java-attribute="postalCode" name="postal-code" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="country" name="country" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="region" name="region" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="latitude" name="latitude" type="java.lang.String"/>
+ <xml-element java-attribute="longitude" name="longitude" type="java.lang.String"/>
+ <xml-element java-attribute="elevation" name="elevation" type="java.lang.String"/>
+ <xml-element java-attribute="lata" name="lata" type="java.lang.String"/>
+ <xml-element java-attribute="ctagPools" name="ctag-pools" type="inventory.aai.onap.org.v11.CtagPools"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions."/>
+ <xml-property name="indexedProps" value="identity-url,data-center-code,complex-name,physical-location-id"/>
+ <xml-property name="searchable" value="physical-location-id,data-center-code,complex-name,street1,street2,postal-code"/>
+ <xml-property name="uniqueProps" value="physical-location-id"/>
+ <xml-property name="container" value="complexes"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/complexes/complex/{physical-location-id}"/>
+ <xml-property name="requiredProps" value="physical-location-id,physical-location-type,street1,city,postal-code,country,region"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CtagPools">
+ <xml-root-element name="ctag-pools"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagPool" name="ctag-pool" type="inventory.aai.onap.org.v11.CtagPool"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CtagPool">
+ <xml-root-element name="ctag-pool"/>
+ <java-attributes>
+ <xml-element java-attribute="targetPe" name="target-pe" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="The Target provider edge router"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the availability zone"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ctagPoolPurpose" name="ctag-pool-purpose" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Describes what the intended purpose of this pool is."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ctagValues" name="ctag-values" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Comma separated list of ctags"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="A collection of C tags (vlan tags) grouped for a specific purpose."/>
+ <xml-property name="indexedProps" value="availability-zone-name"/>
+ <xml-property name="dependentOn" value="complex"/>
+ <xml-property name="container" value="ctag-pools"/>
+ <xml-property name="uriTemplate" value="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}"/>
+ <xml-property name="requiredProps" value="target-pe,availability-zone-name,ctag-pool-purpose"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Tenants">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack tenants."/>
+ </xml-properties>
+ <xml-root-element name="tenants"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tenant" name="tenant" type="inventory.aai.onap.org.v11.Tenant"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Tenant">
+ <xml-root-element name="tenant"/>
+ <java-attributes>
+ <xml-element java-attribute="tenantId" name="tenant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id relative to the cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tenantName" name="tenant-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Readable name of tenant"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tenantContext" name="tenant-context" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field will store the tenant context."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vservers" name="vservers" type="inventory.aai.onap.org.v11.Vservers"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack tenant"/>
+ <xml-property name="nameProps" value="tenant-name"/>
+ <xml-property name="indexedProps" value="tenant-name,tenant-id,tenant-context"/>
+ <xml-property name="searchable" value="tenant-id,tenant-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="tenants"/>
+ <xml-property name="uriTemplate" value="/tenants/tenant/{tenant-id}"/>
+ <xml-property name="requiredProps" value="tenant-id,tenant-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of virtual Servers, aka virtual machines or VMs."/>
+ </xml-properties>
+ <xml-root-element name="vservers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vserver" name="vserver" type="inventory.aai.onap.org.v11.Vserver"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vserver">
+ <xml-root-element name="vserver"/>
+ <java-attributes>
+ <xml-element java-attribute="vserverId" name="vserver-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for this vserver relative to its tenant"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverName" name="vserver-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of vserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverName2" name="vserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternative name of vserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverSelflink" name="vserver-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumes" name="volumes" type="inventory.aai.onap.org.v11.Volumes"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v11.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Servers, aka virtual machine or VM."/>
+ <xml-property name="nameProps" value="vserver-name"/>
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2"/>
+ <xml-property name="searchable" value="vserver-id,vserver-name,vserver-name2"/>
+ <xml-property name="dependentOn" value="tenant"/>
+ <xml-property name="container" value="vservers"/>
+ <xml-property name="uriTemplate" value="/vservers/vserver/{vserver-id}"/>
+ <xml-property name="requiredProps" value="vserver-id,vserver-name,vserver-selflink,in-maint,is-closed-loop-disabled"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical interfaces."/>
+ </xml-properties>
+ <xml-root-element name="l-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lInterface" name="l-interface" type="inventory.aai.onap.org.v11.LInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LInterface">
+ <xml-root-element name="l-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name given to the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="E.g., CUSTOMER, UPLINK, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v6WanLinkIp" name="v6-wan-link-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="macaddr" name="macaddr" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="MAC address for the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether A&amp;AI should be managing this interface of not. Could have value like CUSTOMER"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Human friendly text regarding this interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isPortMirrored" name="is-port-mirrored" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not port is a mirrored."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of the logical interface. Valid values [PREPROV/NVTPROV/PROV]."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isIpUnnumbered" name="is-ip-unnumbered" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Flag indicating the interface uses the IP Unnumbered configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="allowedAddressPairs" name="allowed-address-pairs" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Freeform field for storing an ip address, list of ip addresses or a subnet block."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.onap.org.v11.Vlans"/>
+ <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v11.SriovVfs"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v11.LInterfaces"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v11.L3InterfaceIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v11.L3InterfaceIpv6AddressList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical interfaces, e.g., a vnic."/>
+ <xml-property name="indexedProps" value="macaddr,interface-id,interface-name,network-name"/>
+ <xml-property name="dependentOn" value="generic-vnf,newvce,p-interface,vserver,lag-interface,l-interface"/>
+ <xml-property name="container" value="l-interfaces"/>
+ <xml-property name="uriTemplate" value="/l-interfaces/l-interface/{interface-name}"/>
+ <xml-property name="requiredProps" value="interface-name,is-port-mirrored,in-maint,is-ip-unnumbered"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SriovVfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of SR-IOV Virtual Functions."/>
+ </xml-properties>
+ <xml-root-element name="sriov-vfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sriovVf" name="sriov-vf" type="inventory.aai.onap.org.v11.SriovVf"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="SriovVf">
+ <xml-root-element name="sriov-vf"/>
+ <java-attributes>
+ <xml-element java-attribute="pciId" name="pci-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="PCI ID used to identify the sriov-vf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanFilter" name="vf-vlan-filter" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This metadata provides option to specify list of VLAN filters applied on VF to pass the traffic to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMacFilter" name="vf-mac-filter" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="When MAC filters are specified, VF-agent service configures VFs to do MAC level filtering before the traffic is passed to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanStrip" name="vf-vlan-strip" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="When this field is set to true, VF will configured to strip the outer TAG before the traffic is passed to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanAntiSpoofCheck" name="vf-vlan-anti-spoof-check" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option ensures anti VLAN spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMacAntiSpoofCheck" name="vf-mac-anti-spoof-check" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option ensures anti MAC spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMirrors" name="vf-mirrors" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This option defines the set of Mirror objects which essentially mirrors the traffic from source to set of collector VNF Ports."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfBroadcastAllow" name="vf-broadcast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows all broadcast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfUnknownMulticastAllow" name="vf-unknown-multicast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown multicast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfUnknownUnicastAllow" name="vf-unknown-unicast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown unicast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfInsertStag" name="vf-insert-stag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, instructs to insert outer tag after traffic comes out of VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfLinkStatus" name="vf-link-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This option is used to set the link status. Valid values as of 1607 are on, off, and auto."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="SR-IOV Virtual Function (not to be confused with virtual network function)"/>
+ <xml-property name="indexedProps" value="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id"/>
+ <xml-property name="dependentOn" value="l-interface"/>
+ <xml-property name="container" value="sriov-vfs"/>
+ <xml-property name="uriTemplate" value="/sriov-vfs/sriov-vf/{pci-id}"/>
+ <xml-property name="requiredProps" value="pci-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv4AddressList">
+ <xml-root-element name="l3-interface-ipv4-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv4Address" name="l3-interface-ipv4-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv4PrefixLength" name="l3-interface-ipv4-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 32 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv4 Address Range"/>
+ <xml-property name="indexedProps" value="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="vlan,l-interface,vnfc"/>
+ <xml-property name="uriTemplate" value="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}"/>
+ <xml-property name="requiredProps" value="l3-interface-ipv4-address"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vlans">
+ <xml-root-element name="vlans"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vlan" name="vlan" type="inventory.aai.onap.org.v11.Vlan"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vlan">
+ <xml-root-element name="vlan"/>
+ <java-attributes>
+ <xml-element java-attribute="vlanInterface" name="vlan-interface" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="String that identifies the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanDescription" name="vlan-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to describe (the service associated with) the vlan"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="backdoorConnection" name="backdoor-connection" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether customer is going to use this VLAN for backdoor connection to another customer premise device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnKey" name="vpn-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of the VLAN configuration related to a logical interface. Valid values [PREPROV/NVTPROV/PROV]."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isIpUnnumbered" name="is-ip-unnumbered" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Flag indicating the interface uses the IP Unnumbered configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v11.L3InterfaceIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v11.L3InterfaceIpv6AddressList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Definition of vlan"/>
+ <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-key"/>
+ <xml-property name="dependentOn" value="l-interface"/>
+ <xml-property name="container" value="vlans"/>
+ <xml-property name="uriTemplate" value="/vlans/vlan/{vlan-interface}"/>
+ <xml-property name="requiredProps" value="vlan-interface,in-maint,is-ip-unnumbered"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv6AddressList">
+ <xml-root-element name="l3-interface-ipv6-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv6Address" name="l3-interface-ipv6-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv6PrefixLength" name="l3-interface-ipv6-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 128 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv6 Address Range"/>
+ <xml-property name="indexedProps" value="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="vlan,l-interface,vnfc"/>
+ <xml-property name="uriTemplate" value="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}"/>
+ <xml-property name="requiredProps" value="l3-interface-ipv6-address"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Volumes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of ephemeral Block storage volumes."/>
+ </xml-properties>
+ <xml-root-element name="volumes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volume" name="volume" type="inventory.aai.onap.org.v11.Volume"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Volume">
+ <xml-root-element name="volume"/>
+ <java-attributes>
+ <xml-element java-attribute="volumeId" name="volume-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of block storage volume relative to the vserver."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeSelflink" name="volume-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Ephemeral Block storage volume."/>
+ <xml-property name="indexedProps" value="volume-id"/>
+ <xml-property name="dependentOn" value="vserver"/>
+ <xml-property name="container" value="volumes"/>
+ <xml-property name="uriTemplate" value="/volumes/volume/{volume-id}"/>
+ <xml-property name="requiredProps" value="volume-id,volume-selflink"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Flavors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack flavors."/>
+ </xml-properties>
+ <xml-root-element name="flavors"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="flavor" name="flavor" type="inventory.aai.onap.org.v11.Flavor"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Flavor">
+ <xml-root-element name="flavor"/>
+ <java-attributes>
+ <xml-element java-attribute="flavorId" name="flavor-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Flavor id, expected to be unique across cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorName" name="flavor-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Flavor name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorVcpus" name="flavor-vcpus" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Number of CPUs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorRam" name="flavor-ram" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Amount of memory"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorDisk" name="flavor-disk" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Disk space"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorEphemeral" name="flavor-ephemeral" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Amount of ephemeral disk space"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorSwap" name="flavor-swap" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="amount of swap space allocation"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorIsPublic" name="flavor-is-public" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="whether flavor is available to all users or private to the tenant it was created in."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorSelflink" name="flavor-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorDisabled" name="flavor-disabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Boolean as to whether this flavor is no longer enabled"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack flavor."/>
+ <xml-property name="nameProps" value="flavor-name"/>
+ <xml-property name="indexedProps" value="flavor-name,flavor-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="flavors"/>
+ <xml-property name="uriTemplate" value="/flavors/flavor/{flavor-id}"/>
+ <xml-property name="requiredProps" value="flavor-id,flavor-name,flavor-selflink"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Snapshots">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack snapshots"/>
+ </xml-properties>
+ <xml-root-element name="snapshots"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="snapshot" name="snapshot" type="inventory.aai.onap.org.v11.Snapshot"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Snapshot">
+ <xml-root-element name="snapshot"/>
+ <java-attributes>
+ <xml-element java-attribute="snapshotId" name="snapshot-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Snapshot id, this is the key UUID assoc associated in glance with the snapshots."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotName" name="snapshot-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Snapshot name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotArchitecture" name="snapshot-architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operating system architecture"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotOsDistro" name="snapshot-os-distro" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The common name of the operating system distribution in lowercase"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotOsVersion" name="snapshot-os-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The operating system version as specified by the distributor."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotSelflink" name="snapshot-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="prevSnapshotId" name="prev-snapshot-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field contains the UUID of the previous snapshot (if any)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack snapshot"/>
+ <xml-property name="nameProps" value="snapshot-name"/>
+ <xml-property name="uniqueProps" value="snapshot-id"/>
+ <xml-property name="indexedProps" value="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="snapshots"/>
+ <xml-property name="uriTemplate" value="/snapshots/snapshot/{snapshot-id}"/>
+ <xml-property name="requiredProps" value="snapshot-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GroupAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack group assignments"/>
+ </xml-properties>
+ <xml-root-element name="group-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="groupAssignment" name="group-assignment" type="inventory.aai.onap.org.v11.GroupAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="GroupAssignment">
+ <xml-root-element name="group-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="groupId" name="group-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Group id, expected to be unique across cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupType" name="group-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group type - the type of group this instance refers to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupName" name="group-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group name - name assigned to the group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupDescription" name="group-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group description - description of the group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack group-assignment used to store exclusivity groups (EG)."/>
+ <xml-property name="nameProps" value="group-name"/>
+ <xml-property name="indexedProps" value="group-id,group-type,group-name"/>
+ <xml-property name="searchable" value="group-id,group-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="group-assignments"/>
+ <xml-property name="uriTemplate" value="/group-assignments/group-assignment/{group-id}"/>
+ <xml-property name="requiredProps" value="group-id,group-type,group-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Images">
+ <xml-properties>
+ <xml-property name="description" value="Collectio of Openstack images."/>
+ </xml-properties>
+ <xml-root-element name="images"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="image" name="image" type="inventory.aai.onap.org.v11.Image"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Image">
+ <xml-root-element name="image"/>
+ <java-attributes>
+ <xml-element java-attribute="imageId" name="image-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Image id, expected to be unique across cloud region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageName" name="image-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Image name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageArchitecture" name="image-architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operating system architecture."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageOsDistro" name="image-os-distro" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The common name of the operating system distribution in lowercase"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageOsVersion" name="image-os-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The operating system version as specified by the distributor."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageSelflink" name="image-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v11.Metadata"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack image."/>
+ <xml-property name="nameProps" value="image-name"/>
+ <xml-property name="indexedProps" value="application,image-name,application-vendor,image-id,application-version"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="images"/>
+ <xml-property name="uriTemplate" value="/images/image/{image-id}"/>
+ <xml-property name="requiredProps" value="image-id,image-name,image-os-distro,image-os-version,image-selflink"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Metadata">
+ <xml-properties>
+ <xml-property name="description" value="Collection of metadatum (key/value pairs)"/>
+ </xml-properties>
+ <xml-root-element name="metadata"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="metadatum" name="metadatum" type="inventory.aai.onap.org.v11.Metadatum"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Metadatum">
+ <xml-root-element name="metadatum"/>
+ <java-attributes>
+ <xml-element java-attribute="metaname" name="metaname" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="metaval" name="metaval" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Key/value pairs"/>
+ <xml-property name="indexedProps" value="metaname"/>
+ <xml-property name="dependentOn" value="tenant,image,service-instance,connector,model"/>
+ <xml-property name="container" value="metadata"/>
+ <xml-property name="uriTemplate" value="/metadata/metadatum/{metaname}"/>
+ <xml-property name="requiredProps" value="metaname,metaval"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="DvsSwitches">
+ <xml-properties>
+ <xml-property name="description" value="Collection of digital virtual switch metadata used for vmWare VCEs and GenericVnfs."/>
+ </xml-properties>
+ <xml-root-element name="dvs-switches"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="dvsSwitch" name="dvs-switch" type="inventory.aai.onap.org.v11.DvsSwitch"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="DvsSwitch">
+ <xml-root-element name="dvs-switch"/>
+ <java-attributes>
+ <xml-element java-attribute="switchName" name="switch-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="DVS switch name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcenterUrl" name="vcenter-url" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL used to reach the vcenter"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Digital virtual switch metadata, used by SDN-C to configure VCEs. A&amp;AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&amp;AI. "/>
+ <xml-property name="indexedProps" value="vcenter-url,switch-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="dvs-switches"/>
+ <xml-property name="uriTemplate" value="/dvs-switches/dvs-switch/{switch-name}"/>
+ <xml-property name="requiredProps" value="switch-name,vcenter-url"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="NetworkProfiles">
+ <xml-properties>
+ <xml-property name="description" value="Collection of network profiles"/>
+ </xml-properties>
+ <xml-root-element name="network-profiles"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkProfile" name="network-profile" type="inventory.aai.onap.org.v11.NetworkProfile"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NetworkProfile">
+ <xml-root-element name="network-profile"/>
+ <java-attributes>
+ <xml-element java-attribute="nmProfileName" name="nm-profile-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique name of network profile."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="communityString" name="community-string" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encrypted SNMP community string"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Network profile populated by SDN-GP for SNMP"/>
+ <xml-property name="indexedProps" value="nm-profile-name"/>
+ <xml-property name="container" value="network-profiles"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}"/>
+ <xml-property name="requiredProps" value="nm-profile-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of compute hosts."/>
+ </xml-properties>
+ <xml-root-element name="pservers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pserver" name="pserver" type="inventory.aai.onap.org.v11.Pserver"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pserver">
+ <xml-root-element name="pserver"/>
+ <java-attributes>
+ <xml-element java-attribute="hostname" name="hostname" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value from executing hostname on the compute node."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ptniiEquipName" name="ptnii-equip-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="PTNII name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="numberOfCpus" name="number-of-cpus" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Number of cpus"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="diskInGigabytes" name="disk-in-gigabytes" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Disk size, in GBs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ramInMegabytes" name="ram-in-megabytes" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="RAM size, in MBs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment type. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment vendor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment model. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="fqdn" name="fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Fully-qualified domain name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverSelflink" name="pserver-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to configure device, also used for troubleshooting and is IP used for traps generated by device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Serial number, may be queried"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 OAM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CANOPI's inventory status. Only set with values exactly as defined by CANOPI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverId" name="pserver-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of Pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="internetTopology" name="internet-topology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="internet topology of Pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverName2" name="pserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="alternative pserver name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="purpose of pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates who owns and or manages the device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hostProfile" name="host-profile" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The host profile that defines the configuration of the pserver."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v11.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v11.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver."/>
+ <xml-property name="nameProps" value="pserver-name2"/>
+ <xml-property name="indexedProps" value="hostname,in-maint,pserver-id,pserver-name2,inv-status"/>
+ <xml-property name="searchable" value="hostname,pserver-name2,pserver-id,ipv4-oam-address"/>
+ <xml-property name="uniqueProps" value="hostname"/>
+ <xml-property name="container" value="pservers"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/pservers/pserver/{hostname}"/>
+ <xml-property name="requiredProps" value="hostname,in-maint"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical interfaces."/>
+ </xml-properties>
+ <xml-root-element name="p-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pInterface" name="p-interface" type="inventory.aai.onap.org.v11.PInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PInterface">
+ <xml-root-element name="p-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the physical interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portDescription" name="port-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Nature of the services and connectivity on this port."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentIdentifier" name="equipment-identifier" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CLEI or other specification for p-interface hardware."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role specification for p-interface hardware."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceType" name="interface-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the physical properties of the interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="macAddress" name="mac-addresss" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="MAC Address of the p-interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="inventory status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ <xml-element java-attribute="sriovPfs" name="sriov-pfs" type="inventory.aai.onap.org.v11.SriovPfs"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v11.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Physical interface (e.g., nic)"/>
+ <xml-property name="indexedProps" value="interface-name,prov-status"/>
+ <xml-property name="nameProps" value="prov-status"/>
+ <xml-property name="dependentOn" value="vpls-pe,pserver,pnf"/>
+ <xml-property name="container" value="p-interfaces"/>
+ <xml-property name="uriTemplate" value="/p-interfaces/p-interface/{interface-name}"/>
+ <xml-property name="requiredProps" value="interface-name,in-maint"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LagInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregate interfaces."/>
+ </xml-properties>
+ <xml-root-element name="lag-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagInterface" name="lag-interface" type="inventory.aai.onap.org.v11.LagInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LagInterface">
+ <xml-root-element name="lag-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the link aggregate interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Human friendly text regarding this interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v11.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Link aggregate interface"/>
+ <xml-property name="indexedProps" value="interface-name,interface-id,interface-role"/>
+ <xml-property name="dependentOn" value="generic-vnf,pserver,vpls-pe,pnf"/>
+ <xml-property name="container" value="lag-interfaces"/>
+ <xml-property name="uriTemplate" value="/lag-interfaces/lag-interface/{interface-name}"/>
+ <xml-property name="requiredProps" value="interface-name,in-maint"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="OamNetworks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of OAM networks, to be deprecated shortly. Do not use for new purposes. "/>
+ </xml-properties>
+ <xml-root-element name="oam-networks"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="oamNetwork" name="oam-network" type="inventory.aai.onap.org.v11.OamNetwork"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OamNetwork">
+ <xml-root-element name="oam-network"/>
+ <java-attributes>
+ <xml-element java-attribute="networkUuid" name="network-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the network. Unique across a cloud-region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="cvlan-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="OAM network, to be deprecated shortly. Do not use for new purposes. "/>
+ <xml-property name="nameProps" value="network-name"/>
+ <xml-property name="indexedProps" value="cvlan-tag,network-uuid,network-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="oam-networks"/>
+ <xml-property name="uriTemplate" value="/oam-networks/oam-network/{network-uuid}"/>
+ <xml-property name="requiredProps" value="network-uuid,network-name,cvlan-tag"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="AvailabilityZones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of availability zones"/>
+ </xml-properties>
+ <xml-root-element name="availability-zones"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v11.AvailabilityZone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AvailabilityZone">
+ <xml-root-element name="availability-zone"/>
+ <java-attributes>
+ <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the availability zone. Unique across a cloud region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hypervisorType" name="hypervisor-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of hypervisor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="State that indicates whether the availability zone should be used, etc. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Availability zone, a collection of compute hosts/pservers"/>
+ <xml-property name="indexedProps" value="availability-zone-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="availability-zones"/>
+ <xml-property name="uriTemplate" value="/availability-zones/availability-zone/{availability-zone-name}"/>
+ <xml-property name="requiredProps" value="availability-zone-name,hypervisor-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VirtualDataCenters">
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context"/>
+ </xml-properties>
+ <xml-root-element name="virtual-data-centers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="virtualDataCenter" name="virtual-data-center" type="inventory.aai.onap.org.v11.VirtualDataCenter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VirtualDataCenter">
+ <xml-root-element name="virtual-data-center"/>
+ <java-attributes>
+ <xml-element java-attribute="vdcId" name="vdc-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the vdc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdcName" name="vdc-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the virtual data center"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context"/>
+ <xml-property name="nameProps" value="vdc-name"/>
+ <xml-property name="indexedProps" value="vdc-name,vdc-id"/>
+ <xml-property name="container" value="virtual-data-centers"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}"/>
+ <xml-property name="requiredProps" value="vdc-id,vdc-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Business">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for business related constructs"/>
+ </xml-properties>
+ <xml-root-element name="business"/>
+ <java-attributes>
+ <xml-element java-attribute="connectors" name="connectors" type="inventory.aai.onap.org.v11.Connectors"/>
+ <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.org.v11.Customers"/>
+ <xml-element java-attribute="linesOfBusiness" name="lines-of-business" type="inventory.aai.onap.org.v11.LinesOfBusiness"/>
+ <xml-element java-attribute="owningEntities" name="owning-entities" type="inventory.aai.onap.org.v11.OwningEntities"/>
+ <xml-element java-attribute="platforms" name="platforms" type="inventory.aai.onap.org.v11.Platforms"/>
+ <xml-element java-attribute="projects" name="projects" type="inventory.aai.onap.org.v11.Projects"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Projects">
+ <xml-properties>
+ <xml-property name="description" value="Collection of projects"/>
+ </xml-properties>
+ <xml-root-element name="projects"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="project" name="project" type="inventory.aai.onap.org.v11.Project"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Project">
+ <xml-root-element name="project"/>
+ <java-attributes>
+ <xml-element java-attribute="projectName" name="project-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the project deploying a service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="describes the project"/>
+ <xml-property name="indexedProps" value="project-name"/>
+ <xml-property name="uniqueProps" value="project-name"/>
+ <xml-property name="container" value="projects"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/projects/project/{project-name}"/>
+ <xml-property name="requiredProps" value="project-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Connectors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets"/>
+ </xml-properties>
+ <xml-root-element name="connectors"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="connector" name="connector" type="inventory.aai.onap.org.v11.Connector"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Connector">
+ <xml-root-element name="connector"/>
+ <java-attributes>
+ <xml-element java-attribute="resourceInstanceId" name="resource-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of resource instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v11.Metadata"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets"/>
+ <xml-property name="indexedProps" value="resource-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version"/>
+ <xml-property name="container" value="connectors"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/connectors/connector/{resource-instance-id}"/>
+ <xml-property name="requiredProps" value="resource-instance-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Customers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information."/>
+ </xml-properties>
+ <xml-root-element name="customers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.onap.org.v11.Customer"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Customer">
+ <xml-root-element name="customer"/>
+ <java-attributes>
+ <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Global customer id used across ECOMP to uniquely identify customer."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber name, an alternate way to retrieve a customer."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberType" name="subscriber-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber type, a way to provide VID with only the INFRA customers."/>
+ <xml-property name="defaultValue" value="CUST"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSubscriptions" name="service-subscriptions" type="inventory.aai.onap.org.v11.ServiceSubscriptions"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="customer identifiers to provide linkage back to BSS information."/>
+ <xml-property name="nameProps" value="subscriber-name"/>
+ <xml-property name="indexedProps" value="subscriber-name,global-customer-id,subscriber-type"/>
+ <xml-property name="searchable" value="global-customer-id,subscriber-name"/>
+ <xml-property name="uniqueProps" value="global-customer-id"/>
+ <xml-property name="container" value="customers"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/customers/customer/{global-customer-id}"/>
+ <xml-property name="requiredProps" value="global-customer-id,subscriber-name,subscriber-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LinesOfBusiness">
+ <xml-properties>
+ <xml-property name="description" value="Collection of lines-of-business"/>
+ </xml-properties>
+ <xml-root-element name="lines-of-business"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lineOfBusiness" name="line-of-business" type="inventory.aai.onap.org.v11.LineOfBusiness"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LineOfBusiness">
+ <xml-root-element name="line-of-business"/>
+ <java-attributes>
+ <xml-element java-attribute="lineOfBusinessName" name="line-of-business-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the line-of-business (product)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="describes a line-of-business"/>
+ <xml-property name="indexedProps" value="line-of-business-name"/>
+ <xml-property name="uniqueProps" value="line-of-business-name"/>
+ <xml-property name="container" value="lines-of-business"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/lines-of-business/line-of-business/{line-of-business-name}"/>
+ <xml-property name="requiredProps" value="line-of-business-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="OwningEntities">
+ <xml-properties>
+ <xml-property name="description" value="Collection of owning-entities"/>
+ </xml-properties>
+ <xml-root-element name="owning-entities"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="owningEntity" name="owning-entity" type="inventory.aai.onap.org.v11.OwningEntity"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OwningEntity">
+ <xml-root-element name="owning-entity"/>
+ <java-attributes>
+ <xml-element java-attribute="owningEntityId" name="owning-entity-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of an owning entity"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="owningEntityName" name="owning-entity-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Owning entity name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="describes an owning-entity"/>
+ <xml-property name="indexedProps" value="owning-entity-id,owning-entity-name"/>
+ <xml-property name="searchable" value="owning-entity-id"/>
+ <xml-property name="uniqueProps" value="owning-entity-id,owning-entity-name"/>
+ <xml-property name="container" value="owning-entities"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/owning-entities/owning-entity/{owning-entity-id}"/>
+ <xml-property name="requiredProps" value="owning-entity-id,owning-entity-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Platforms">
+ <xml-properties>
+ <xml-property name="description" value="Collection of platforms"/>
+ </xml-properties>
+ <xml-root-element name="platforms"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="platform" name="platform" type="inventory.aai.onap.org.v11.Platform"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Platform">
+ <xml-root-element name="platform"/>
+ <java-attributes>
+ <xml-element java-attribute="platformName" name="platform-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the platform"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="describes a platform"/>
+ <xml-property name="indexedProps" value="platform-name"/>
+ <xml-property name="uniqueProps" value="platform-name"/>
+ <xml-property name="container" value="platforms"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/platforms/platform/{platform-name}"/>
+ <xml-property name="requiredProps" value="platform-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceSubscriptions">
+ <xml-properties>
+ <xml-property name="description" value="Collection of objects that group service instances."/>
+ </xml-properties>
+ <xml-root-element name="service-subscriptions"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceSubscription" name="service-subscription" type="inventory.aai.onap.org.v11.ServiceSubscription"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceSubscription">
+ <xml-root-element name="service-subscription"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value defined by orchestration to identify this service across ECOMP."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tempUbSubAccountId" name="temp-ub-sub-account-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This property will be deleted from A&amp;AI in the near future. Only stop gap solution."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstances" name="service-instances" type="inventory.aai.onap.org.v11.ServiceInstances">
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Object that group service instances."/>
+ <xml-property name="indexedProps" value="service-type"/>
+ <xml-property name="dependentOn" value="customer"/>
+ <xml-property name="container" value="service-subscriptions"/>
+ <xml-property name="crossEntityReference" value="service-instance,service-type"/>
+ <xml-property name="uriTemplate" value="/service-subscriptions/service-subscription/{service-type}"/>
+ <xml-property name="requiredProps" value="service-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceInstances">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service instances"/>
+ </xml-properties>
+ <xml-root-element name="service-instances"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceInstance" name="service-instance" type="inventory.aai.onap.org.v11.ServiceInstance"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceInstance">
+ <xml-root-element name="service-instance"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceInstanceId" name="service-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Uniquely identifies this instance of a service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstanceName" name="service-instance-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field will store a name assigned to the service-instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceType" name="service-type" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceRole" name="service-role" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing the service role."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="environmentContext" name="environment-context" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field will store the environment context assigned to the service-instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="workloadContext" name="workload-context" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field will store the workload context assigned to the service-instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="createdAt" name="created-at" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="create time of Network Service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="updatedAt" name="updated-at" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="last update of Network Service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="short description for service-instance."/>
+ </xml-properties>
+ </xml-element>
+ <!-- for storing the nsd_id create edge between services -->
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthTotal" name="bandwidth-total" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the total bandwidth to be used for this service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN1 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN1 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN2 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN2 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vhnPortalUrl" name="vhn-portal-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL customers will use to access the vHN Portal."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstanceLocationId" name="service-instance-location-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="An identifier that customers assign to the location where this service is being used."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v11.Metadata"/>
+ <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.onap.org.v11.AllottedResources"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Instance of a service"/>
+ <xml-property name="indexedProps" value="service-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status,environment-context,workload-context"/>
+ <xml-property name="nameProps" value="service-instance-name"/>
+ <xml-property name="searchable" value="service-instance-id,service-instance-name"/>
+ <xml-property name="uniqueProps" value="service-instance-id"/>
+ <xml-property name="dependentOn" value="service-subscription"/>
+ <xml-property name="container" value="service-instances"/>
+ <xml-property name="uriTemplate" value="/service-instances/service-instance/{service-instance-id}"/>
+ <xml-property name="requiredProps" value="service-instance-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceDesignAndCreation">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for objects managed by ASDC"/>
+ </xml-properties>
+ <xml-root-element name="service-design-and-creation"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfImages" name="vnf-images" type="inventory.aai.onap.org.v11.VnfImages"/>
+ <xml-element java-attribute="services" name="services" type="inventory.aai.onap.org.v11.Services"/>
+ <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.onap.org.v11.ServiceCapabilities"/>
+ <xml-element java-attribute="models" name="models" type="inventory.aai.onap.org.v11.Models"/>
+ <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.onap.org.v11.NamedQueries"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VnfImages">
+ <xml-properties>
+ <xml-property name="description" value="Collection of image objects that pertain to a VNF that doesn't have associated vservers. This is a kludge."/>
+ </xml-properties>
+ <xml-root-element name="vnf-images"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfImage" name="vnf-image" type="inventory.aai.onap.org.v11.VnfImage"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VnfImage">
+ <xml-root-element name="vnf-image"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfImageUuid" name="vnf-image-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of this asset"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Image object that pertain to a VNF that doesn't have associated vservers. This is a kludge."/>
+ <xml-property name="indexedProps" value="application,vnf-image-uuid,application-vendor,application-version"/>
+ <xml-property name="uniqueProps" value="vnf-image-uuid"/>
+ <xml-property name="container" value="vnf-images"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/vnf-images/vnf-image/{vnf-image-uuid}"/>
+ <xml-property name="requiredProps" value="vnf-image-uuid,application,application-vendor"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Services">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service model definitions. Likely to be deprecated in favor of models from ASDC."/>
+ </xml-properties>
+ <xml-root-element name="services"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.onap.org.v11.Service"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Service">
+ <xml-root-element name="service"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description of the service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="service version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Stand-in for service model definitions. Likely to be deprecated in favor of models from ASDC. Does not strictly map to ASDC services."/>
+ <xml-property name="indexedProps" value="service-description,service-id"/>
+ <xml-property name="container" value="services"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/services/service/{service-id}"/>
+ <xml-property name="requiredProps" value="service-id,service-description"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceCapabilities">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service capabilities."/>
+ </xml-properties>
+ <xml-root-element name="service-capabilities"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceCapability" name="service-capability" type="inventory.aai.onap.org.v11.ServiceCapability"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceCapability">
+ <xml-root-element name="service-capability"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Early definition of server/resource pairings, likely to be replaced by models. No new use should be made of this."/>
+ <xml-property name="indexedProps" value="service-type,vnf-type"/>
+ <xml-property name="container" value="service-capabilities"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}"/>
+ <xml-property name="requiredProps" value="service-type,vnf-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Network">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for network inventory resources."/>
+ </xml-properties>
+ <xml-root-element name="network"/>
+ <java-attributes>
+ <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.onap.org.v11.LogicalLinks"/>
+ <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.onap.org.v11.SitePairSets"/>
+ <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v11.VpnBindings"/>
+ <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.onap.org.v11.VplsPes"/>
+ <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.onap.org.v11.MulticastConfigurations"/>
+ <xml-element java-attribute="vces" name="vces" type="inventory.aai.onap.org.v11.Vces"/>
+ <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.onap.org.v11.Vnfcs"/>
+ <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.onap.org.v11.L3Networks"/>
+ <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v11.NetworkPolicies"/>
+ <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.onap.org.v11.GenericVnfs"/>
+ <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.onap.org.v11.LagLinks"/>
+ <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.onap.org.v11.Newvces"/>
+ <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v11.Pnfs"/>
+ <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.onap.org.v11.PhysicalLinks"/>
+ <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.onap.org.v11.IpsecConfigurations"/>
+ <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.onap.org.v11.RouteTableReferences"/>
+ <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.onap.org.v11.InstanceGroups"/>
+ <xml-element java-attribute="zones" name="zones" type="inventory.aai.onap.org.v11.Zones"/>
+ <xml-element java-attribute="configurations" name="configurations" type="inventory.aai.onap.org.v11.Configurations"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="Configurations">
+ <xml-properties>
+ <xml-property name="description" value="Collection of configurations"/>
+ </xml-properties>
+ <xml-root-element name="configurations"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="configuration" name="configuration" type="inventory.aai.onap.org.v11.Configuration"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Configuration">
+ <xml-root-element name="configuration"/>
+ <java-attributes>
+ <xml-element java-attribute="configurationId" name="configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID assigned to configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the entity that will manage this feature. Could be an organization or the name of the application as well."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="configurationName" name="configuration-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="configurationType" name="configuration-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="port-mirroring-configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="configurationSubType" name="configuration-sub-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="vprobe, pprobe."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of the configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="configurationSelflink" name="configuration-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details from SDN-GC."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="id of the configuration used to customize the resource"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v11.Metadata"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Port Mirror Configuration."/>
+ <xml-property name="indexedProps" value="configuration-id,model-invariant-id,model-version-id"/>
+ <xml-property name="uniqueProps" value="configuration-id"/>
+ <xml-property name="container" value="configurations"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/configurations/configuration/{configuration-id}"/>
+ <xml-property name="requiredProps" value="configuration-id,configuration-type,configuration-sub-type,orchestration-status,operational-status,configuration-selflink,model-customization-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LogicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical connections"/>
+ </xml-properties>
+ <xml-root-element name="logical-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.onap.org.v11.LogicalLink"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LogicalLink">
+ <xml-root-element name="logical-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of logical link, e.g., evc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4, v6, or ds for dual stack"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routingProtocol" name="routing-protocol" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="For example, static or BGP"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of operational status of the logical link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkRole" name="link-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of the network use of the logical link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkName2" name="link-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alias or alternate name (CLCI or D1 name)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkId" name="link-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the logical-link, SDNC generates this."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Circuit id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Reason for this entity, role it is playing"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points"/>
+ <xml-property name="indexedProps" value="link-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose"/>
+ <xml-property name="uniqueProps" value="link-id"/>
+ <xml-property name="container" value="logical-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="searchable" value="link-name"/>
+ <xml-property name="uriTemplate" value="/network/logical-links/logical-link/{link-name}"/>
+ <xml-property name="requiredProps" value="link-name,in-maint,link-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SitePairSets">
+ <xml-properties>
+ <xml-property name="description" value="Collection of sets of instances for probes related to generic-vnf"/>
+ </xml-properties>
+ <xml-root-element name="site-pair-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePairSet" name="site-pair-set" type="inventory.aai.onap.org.v11.SitePairSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SitePairSet">
+ <xml-root-element name="site-pair-set"/>
+ <java-attributes>
+ <xml-element java-attribute="sitePairSetId" name="site-pair-set-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of site pair set."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routingInstances" name="routing-instances" type="inventory.aai.onap.org.v11.RoutingInstances"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Set of instances for probes used to measure service level agreements"/>
+ <xml-property name="indexedProps" value="site-pair-set-id"/>
+ <xml-property name="uniqueProps" value="site-pair-set-id"/>
+ <xml-property name="container" value="site-pair-sets"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/site-pair-sets/site-pair-set/{site-pair-set-id}"/>
+ <xml-property name="requiredProps" value="site-pair-set-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="RoutingInstances">
+ <xml-properties>
+ <xml-property name="description" value="set of probes related to generic-vnf routing instance"/>
+ </xml-properties>
+ <xml-root-element name="routing-instances"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routingInstance" name="routing-instance" type="inventory.aai.onap.org.v11.RoutingInstance"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RoutingInstance">
+ <xml-root-element name="routing-instance"/>
+ <java-attributes>
+ <xml-element java-attribute="routingInstanceId" name="routing-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of routing instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="rpmOwner" name="rpm-owner" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="rpm owner"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sitePairs" name="site-pairs" type="inventory.aai.onap.org.v11.SitePairs"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="routing-instance-id"/>
+ <xml-property name="dependentOn" value="site-pair-set"/>
+ <xml-property name="container" value="routing-instances"/>
+ <xml-property name="uriTemplate" value="/routing-instances/routing-instance/{routing-instance-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SitePairs">
+ <xml-properties>
+ <xml-property name="description" value="probe within a set"/>
+ </xml-properties>
+ <xml-root-element name="site-pairs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePair" name="site-pair" type="inventory.aai.onap.org.v11.SitePair"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SitePair">
+ <xml-root-element name="site-pair"/>
+ <java-attributes>
+ <xml-element java-attribute="sitePairId" name="site-pair-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceIp" name="source-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prefix address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationIp" name="destination-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prefix address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip version, v4, v6"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationHostname" name="destination-hostname" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Hostname of the destination equipment to which SLAs are measured against."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationEquipType" name="destination-equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The type of destinatination equipment. Could be Router, UCPE, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="classesOfService" name="classes-of-service" type="inventory.aai.onap.org.v11.ClassesOfService"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="site-pair-id"/>
+ <xml-property name="uniqueProps" value="site-pair-id"/>
+ <xml-property name="dependentOn" value="routing-instance"/>
+ <xml-property name="container" value="site-pairs"/>
+ <xml-property name="uriTemplate" value="/site-pairs/site-pair/{site-pair-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ClassesOfService">
+ <xml-properties>
+ <xml-property name="description" value="class-of-service of probe"/>
+ </xml-properties>
+ <xml-root-element name="classes-of-service"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="classOfService" name="class-of-service" type="inventory.aai.onap.org.v11.ClassOfService"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ClassOfService">
+ <xml-root-element name="class-of-service"/>
+ <java-attributes>
+ <xml-element java-attribute="cos" name="cos" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="probeId" name="probe-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="probeType" name="probe-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="type of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="cos"/>
+ <xml-property name="dependentOn" value="site-pair"/>
+ <xml-property name="container" value="classes-of-service"/>
+ <xml-property name="uriTemplate" value="/classes-of-service/class-of-service/{cos}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VpnBindings">
+ <xml-root-element name="vpn-bindings"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vpnBinding" name="vpn-binding" type="inventory.aai.onap.org.v11.VpnBinding"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VpnBinding">
+ <xml-root-element name="vpn-binding"/>
+ <java-attributes>
+ <xml-element java-attribute="vpnId" name="vpn-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="VPN ID, globally unique within A&amp;AI"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnName" name="vpn-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="VPN Name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnPlatform" name="vpn-platform" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the platform associated with the VPN example AVPN, Mobility"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnType" name="vpn-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the vpn, should be taken from enumerated/valid values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnRegion" name="vpn-region" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="region of customer vpn"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="customerVpnId" name="customer-vpn-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="id for this customer vpn"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeDistinguisher" name="route-distinguisher" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTargets" name="route-targets" type="inventory.aai.onap.org.v11.RouteTargets"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList">
+ <xml-properties>
+ <xml-property name="description" value="l3-networks relate to vpn-bindings"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPN binding"/>
+ <xml-property name="nameProps" value="vpn-name,vpn-type"/>
+ <xml-property name="indexedProps" value="vpn-name,vpn-id,vpn-type"/>
+ <xml-property name="searchable" value="vpn-id,vpn-name"/>
+ <xml-property name="uniqueProps" value="vpn-id"/>
+ <xml-property name="container" value="vpn-bindings"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vpn-bindings/vpn-binding/{vpn-id}"/>
+ <xml-property name="requiredProps" value="vpn-id,vpn-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VplsPes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VPLS Provider Edge routers"/>
+ </xml-properties>
+ <xml-root-element name="vpls-pes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vplsPe" name="vpls-pe" type="inventory.aai.onap.org.v11.VplsPe"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VplsPe">
+ <xml-root-element name="vpls-pe"/>
+ <java-attributes>
+ <xml-element java-attribute="equipmentName" name="equipment-name" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (v4-loopback0-ip-address)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value, e.g., VPLS-PE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Temporary location for stag to get to VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v11.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v11.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPLS Provider Edge routers."/>
+ <xml-property name="indexedProps" value="prov-status,equipment-name"/>
+ <xml-property name="container" value="vpls-pes"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vpls-pes/vpls-pe/{equipment-name}"/>
+ <xml-property name="requiredProps" value="equipment-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="MulticastConfigurations">
+ <xml-properties>
+ <xml-property name="description" value="multicast configuration of generic-vnf ip-address"/>
+ </xml-properties>
+ <xml-root-element name="multicast-configurations"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="multicastConfiguration" name="multicast-configuration" type="inventory.aai.onap.org.v11.MulticastConfiguration"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="MulticastConfiguration">
+ <xml-root-element name="multicast-configuration"/>
+ <java-attributes>
+ <xml-element java-attribute="multicastConfigurationId" name="multicast-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of multicast configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="multicastProtocol" name="multicast-protocol" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="protocol of multicast configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="rpType" name="rp-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="rp type of multicast configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="multicast-configuration-id"/>
+ <xml-property name="uniqueProps" value="multicast-configuration-id"/>
+ <xml-property name="container" value="multicast-configurations"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Virtual Customer Edge Routers, used specifically for Gamma. This object is deprecated."/>
+ </xml-properties>
+ <xml-root-element name="vces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vce" name="vce" type="inventory.aai.onap.org.v11.Vce"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vce">
+ <xml-root-element name="vce"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network role being played by this VNF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpeId" name="vpe-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of VPE connected to this VCE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v6VceWanAddress" name="v6-vce-wan-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Valid v6 IP address for the WAN Link on this router. Implied length of /64."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure vce, also used for troubleshooting and is IP used for traps generated by VCE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - see child relationships"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroups" name="port-groups" type="inventory.aai.onap.org.v11.PortGroups"/>
+ <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v11.Licenses"/>
+ <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v11.Entitlements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Customer Edge Router, used specifically for Gamma. This object is deprecated."/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id"/>
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="container" value="vces"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="extends" value="vnf"/>
+ <xml-property name="uriTemplate" value="/network/vces/vce/{vnf-id}"/>
+ <xml-property name="requiredProps" value="vnf-id,vnf-name,vnf-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PortGroups">
+ <xml-root-element name="port-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="portGroup" name="port-group" type="inventory.aai.onap.org.v11.PortGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PortGroup">
+ <xml-root-element name="port-group"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceId" name="interface-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkName" name="neutron-network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network name of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupId" name="port-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for port group in vmware"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupName" name="port-group-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Likely to duplicate value of neutron network name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="switchName" name="switch-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="DVS or standard switch name (should be non-null for port groups associated with DVS)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlanTags" name="cvlan-tags" type="inventory.aai.onap.org.v11.CvlanTags"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Used to capture the network interfaces of this VCE"/>
+ <xml-property name="nameProps" value="port-group-name"/>
+ <xml-property name="indexedProps" value="port-group-id,heat-stack-id,interface-id,interface-name,switch-name"/>
+ <xml-property name="dependentOn" value="vce"/>
+ <xml-property name="container" value="port-groups"/>
+ <xml-property name="uriTemplate" value="/port-groups/port-group/{interface-id}"/>
+ <xml-property name="requiredProps" value="interface-id,orchestration-status"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CvlanTags">
+ <xml-root-element name="cvlan-tags"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cvlanTagEntry" name="cvlan-tag-entry" type="inventory.aai.onap.org.v11.CvlanTagEntry"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CvlanTagEntry">
+ <xml-root-element name="cvlan-tag-entry"/>
+ <java-attributes>
+ <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="See mis-na-virtualization-platform.yang"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="dependentOn" value="port-group"/>
+ <xml-property name="indexedProps" value="cvlan-tag"/>
+ <xml-property name="container" value="cvlan-tags"/>
+ <xml-property name="uriTemplate" value="/cvlan-tags/cvlan-tag/{cvlan-tag}"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="Vnfcs">
+ <xml-properties>
+ <xml-property name="description" value="virtual network components associated with a vserver from application controller."/>
+ </xml-properties>
+ <xml-root-element name="vnfcs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfc" name="vnfc" type="inventory.aai.onap.org.v11.Vnfc"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vnfc">
+ <xml-root-element name="vnfc"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfcName" name="vnfc-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vnfc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfcNamingCode" name="nfc-naming-code" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Short code that is used in naming instances of the item being modeled"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfcFunction" name="nfc-function" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="English description of function that the specific resource deployment is providing. Assigned as part of the customization of a resource in a service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="prov status of this vnfc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by APP-C"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4OamVip" name="ipaddress-v4-oam-vip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Oam V4 vip address of this vnfc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupNotation" name="group-notation" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group notation of VNFC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v11.L3InterfaceIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v11.L3InterfaceIpv6AddressList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vnfc-name,prov-status,nfc-function,nfc-naming-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation,model-invariant-id,model-version-id"/>
+ <xml-property name="searchable" value="vnfc-name"/>
+ <xml-property name="container" value="vnfcs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vnfcs/vnfc/{vnfc-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3Networks">
+ <xml-root-element name="l3-networks"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3Network" name="l3-network" type="inventory.aai.onap.org.v11.L3Network"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="L3Network">
+ <xml-root-element name="l3-network"/>
+ <java-attributes>
+ <xml-element java-attribute="networkId" name="network-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Network ID, should be uuid. Unique across A&amp;AI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network, governed by some naming convention.."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkType" name="network-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the network - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkRole" name="network-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role the network plans - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkTechnology" name="network-technology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network technology - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isBoundToVpn" name="is-bound-to-vpn" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Set to true if bound to VPN"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service from ASDC. Does not strictly map to ASDC services. SOON TO BE DEPRECATED"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkRoleInstance" name="network-role-instance" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="network role instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailNetworkFqdn" name="contrail-network-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contrail FQDN for the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="physicalNetworkName" name="physical-network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name associated with the physical network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isProviderNetwork" name="is-provider-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is a provider network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isSharedNetwork" name="is-shared-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is a shared network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isExternalNetwork" name="is-external-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is an external network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnets" name="subnets" type="inventory.aai.onap.org.v11.Subnets"/>
+ <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.onap.org.v11.CtagAssignments"/>
+ <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.onap.org.v11.SegmentationAssignments"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList">
+ <xml-properties>
+ <xml-property name="description" value="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Generic network definition"/>
+ <xml-property name="nameProps" value="network-name"/>
+ <xml-property name="indexedProps" value="heat-stack-id,network-uuid,service-id,network-id,network-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-network-fqdn,network-role"/>
+ <xml-property name="searchable" value="network-id,network-name"/>
+ <xml-property name="uniqueProps" value="network-id"/>
+ <xml-property name="container" value="l3-networks"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/l3-networks/l3-network/{network-id}"/>
+ <xml-property name="requiredProps" value="network-id,is-bound-to-vpn,is-provider-network,is-shared-network,is-external-network"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="NetworkPolicies">
+ <xml-root-element name="network-policies"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkPolicy" name="network-policy" type="inventory.aai.onap.org.v11.NetworkPolicy"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="NetworkPolicy">
+ <xml-root-element name="network-policy"/>
+ <java-attributes>
+ <xml-element java-attribute="networkPolicyId" name="network-policy-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID representing unique key to this instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkPolicyFqdn" name="network-policy-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contrail FQDN for the policy"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID for the openStack Heat instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="nameProps" value="network-policy-fqdn"/>
+ <xml-property name="indexedProps" value="network-policy-id,network-policy-fqdn"/>
+ <xml-property name="searchable" value="network-policy-id,network-policy-fqdn"/>
+ <xml-property name="uniqueProps" value="network-policy-id"/>
+ <xml-property name="container" value="network-policies"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/network-policies/network-policy/{network-policy-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="CtagAssignments">
+ <xml-root-element name="ctag-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagAssignment" name="ctag-assignment" type="inventory.aai.onap.org.v11.CtagAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CtagAssignment">
+ <xml-root-element name="ctag-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="id."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vlan-id-inner"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="ctag-assignments"/>
+ <xml-property name="uriTemplate" value="/ctag-assignments/ctag-assignment/{vlan-id-inner}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Subnets">
+ <xml-root-element name="subnets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="subnet" name="subnet" type="inventory.aai.onap.org.v11.Subnet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Subnet">
+ <xml-root-element name="subnet"/>
+ <java-attributes>
+ <xml-element java-attribute="subnetId" name="subnet-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Subnet ID, should be UUID."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnetName" name="subnet-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name associated with the subnet."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of this subnet"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="gatewayAddress" name="gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="gateway ip address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkStartAddress" name="network-start-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="network start address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cidrMask" name="cidr-mask" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="cidr mask"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="dhcpEnabled" name="dhcp-enabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="dhcp enabled"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpStart" name="dhcp-start" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the start address reserved for use by dhcp"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpEnd" name="dhcp-end" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the last address reserved for use by dhcp"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnetRole" name="subnet-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="role of the subnet, referenced when assigning IPs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipAssignmentDirection" name="ip-assignment-direction" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip address assignment direction of the subnet"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnetSequence" name="subnet-sequence" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="sequence of the subnet"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hostRoutes" name="host-routes" type="inventory.aai.onap.org.v11.HostRoutes"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="subnet-id,subnet-name"/>
+ <xml-property name="nameProps" value="subnet-name"/>
+ <xml-property name="uniqueProps" value="subnet-id"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="subnets"/>
+ <xml-property name="uriTemplate" value="/subnets/subnet/{subnet-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GenericVnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VNFs"/>
+ </xml-properties>
+ <xml-root-element name="generic-vnfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="genericVnf" name="generic-vnf" type="inventory.aai.onap.org.v11.GenericVnf"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GenericVnf">
+ <xml-root-element name="generic-vnf"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfInstanceId" name="vnf-instance-id" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="vnf instance id."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service, does not necessarily map to ASDC service models. SOON TO BE DEPRECATED"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ <xml-property name="suggestibleOnSearch" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational. Valid values are in-service-path and out-of-service-path."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, used by MSO."/>
+ <xml-property name="suggestibleOnSearch" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfPackageName" name="vnf-package-name" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value=""/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfDiscriptorName" name="vnf-discriptor-name" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="vnf discriptor name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="jobId" name="job-id" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="job id corresponding to vnf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of managed by ATT or customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nmLanV6Address" name="nm-lan-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 Loopback address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementV6Address" name="management-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 management address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpu" name="vcpu" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpuUnits" name="vcpu-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemory" name="vmemory" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemoryUnits" name="vmemory-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdisk" name="vdisk" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdiskUnits" name="vdisk-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nshd" name="nshd" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of associated SHD in vnf."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nvm" name="nvm" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vms in vnf."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nnet" name="nnet" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of network in vnf."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether generic-vnf access uses SSH"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementAssignmentGroupUuid" name="entitlement-assignment-group-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the Entitlement group used for licensing VNFs, OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the specific entitlement resource. OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseAssignmentGroupUuid" name="license-assignment-group-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the license assignment group. OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKeyUuid" name="license-key-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the actual license resource. OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="as-number of the VNF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceSubzone" name="regional-resource-subzone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="represents sub zone of the rr plane"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfType" name="nf-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Generic description of the type of NF"/>
+ <xml-property name="suggestibleOnSearch" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfFunction" name="nf-function" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="English description of Network function that the specific VNF deployment is providing"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="role in the network that this model will be providing"/>
+ <xml-property name="suggestibleOnSearch" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfNamingCode" name="nf-naming-code" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="string assigned to this model used for naming purposes"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Gateway address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length for oam-address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Temporary location for S-TAG to get to VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nmProfileName" name="nm-profile-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network Management profile of this VNF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v11.LInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v11.LagInterfaces"/>
+ <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.onap.org.v11.VfModules"/>
+ <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v11.Licenses"/>
+ <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v11.Entitlements"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="General purpose VNF"/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,nf-type,nf-function,nf-naming-code,nf-role"/>
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="container" value="generic-vnfs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="extends" value="vnf"/>
+ <xml-property name="containsSuggestibleProps" value="true"/>
+ <xml-property name="suggestionAliases" value="VNFs"/>
+ <xml-property name="uriTemplate" value="/network/generic-vnfs/generic-vnf/{vnf-id}"/>
+ <xml-property name="requiredProps" value="vnf-id,vnf-type,in-maint,is-closed-loop-disabled"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VfModules">
+ <xml-properties>
+ <xml-property name="description" value="Collection of vf-modules, a deployment unit of VNFCs"/>
+ </xml-properties>
+ <xml-root-element name="vf-modules"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vfModule" name="vf-module" type="inventory.aai.onap.org.v11.VfModule"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VfModule">
+ <xml-root-element name="vf-module"/>
+ <java-attributes>
+ <xml-element java-attribute="vfModuleId" name="vf-module-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vf-module."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfModuleName" name="vf-module-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of vf-module"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="orchestration status of this vf-module, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isBaseVfModule" name="is-base-vf-module" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is base vf module"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the Contrail unique ID for a service-instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="moduleIndex" name="module-index" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="the index will track the number of modules of a given type that have been deployed in a VNF, starting with 0, and always choosing the lowest available digit"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="a deployment unit of VNFCs"/>
+ <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-service-instance-fqdn"/>
+ <xml-property name="searchable" value="vf-module-id,vf-module-name"/>
+ <xml-property name="dependentOn" value="generic-vnf"/>
+ <xml-property name="container" value="vf-modules"/>
+ <xml-property name="uriTemplate" value="/vf-modules/vf-module/{vf-module-id}"/>
+ <xml-property name="requiredProps" value="vf-module-id,is-base-vf-module"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="LagLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregation connections"/>
+ </xml-properties>
+ <xml-root-element name="lag-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagLink" name="lag-link" type="inventory.aai.onap.org.v11.LagLink"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LagLink">
+ <xml-root-element name="lag-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Alphabetical concatenation of lag-interface names"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="LAG links can connect lag-interfaces"/>
+ <xml-property name="indexedProps" value="link-name"/>
+ <xml-property name="container" value="lag-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/lag-links/lag-link/{link-name}"/>
+ <xml-property name="requiredProps" value="link-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Newvces">
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce."/>
+ </xml-properties>
+ <xml-root-element name="newvces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="newvce" name="newvce" type="inventory.aai.onap.org.v11.Newvce"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Newvce">
+ <xml-root-element name="newvce"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId2" name="vnf-id2" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF, can't use same attribute name right now until we promote this new object"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (v4-loopback0-ip-address)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v11.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce."/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2"/>
+ <xml-property name="searchable" value="vnf-id2,vnf-name,vnf-name2"/>
+ <xml-property name="uniqueProps" value="vnf-id2"/>
+ <xml-property name="container" value="newvces"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/newvces/newvce/{vnf-id2}"/>
+ <xml-property name="requiredProps" value="vnf-id2,vnf-name,vnf-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Physical Network Functions."/>
+ </xml-properties>
+ <xml-root-element name="pnfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pnf" name="pnf" type="inventory.aai.onap.org.v11.Pnf"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pnf">
+ <xml-root-element name="pnf"/>
+ <java-attributes>
+ <xml-element java-attribute="pnfName" name="pnf-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique name of Physical Network Function."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfName2" name="pnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="name of Physical Network Function."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfName2Source" name="pnf-name2-source" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="source of name2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfId" name="pnf-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="id of pnf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment type. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment vendor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment model. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of managed by ATT or customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Oam" name="ipaddress-v4-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ipv4-oam-address with new naming convention for IP addresses"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="swVersion" name="sw-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="sw-version is the version of SW for the hosted application on the PNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="frameId" name="frame-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of the physical frame (relay rack) where pnf is installed."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Serial number of the device"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 OAM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CANOPI's inventory status. Only set with values exactly as defined by CANOPI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Nf Role is the role performed by this instance in the network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v11.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v11.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE."/>
+ <xml-property name="indexedProps" value="pnf-name,orchestration-status,inv-status"/>
+ <xml-property name="searchable" value="pnf-name"/>
+ <xml-property name="uniqueProps" value="pnf-name"/>
+ <xml-property name="container" value="pnfs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/pnfs/pnf/{pnf-name}"/>
+ <xml-property name="requiredProps" value="pnf-name,in-maint"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PhysicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces"/>
+ </xml-properties>
+ <xml-root-element name="physical-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="physicalLink" name="physical-link" type="inventory.aai.onap.org.v11.PhysicalLink"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PhysicalLink">
+ <xml-root-element name="physical-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Circuit it"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dualMode" name="dual-mode" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Dual access mode (e.g., primary, secondary"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="To provide information on who manages this circuit. A&amp;AI or 3rd party transport provider"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderName" name="service-provider-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the service Provider on this link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderBandwidthUpValue" name="service-provider-bandwidth-up-value" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Upstream Bandwidth value agreed with the service provider"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderBandwidthUpUnits" name="service-provider-bandwidth-up-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Units for the upstream BW value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderBandwidthDownValue" name="service-provider-bandwidth-down-value" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Downstream Bandwidth value agreed with the service provider"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderBandwidthDownUnits" name="service-provider-bandwidth-down-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Units for downstream BW value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces"/>
+ <xml-property name="indexedProps" value="circuit-id,link-name"/>
+ <xml-property name="alternateKeys1" value="circuit-id"/>
+ <xml-property name="container" value="physical-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="searchable" value="link-name,circuit-id"/>
+ <xml-property name="uriTemplate" value="/network/physical-links/physical-link/{link-name}"/>
+ <xml-property name="requiredProps" value="link-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VigServers">
+ <xml-root-element name="vig-servers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vigServer" name="vig-server" type="inventory.aai.onap.org.v11.VigServer"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VigServer">
+ <xml-root-element name="vig-server"/>
+ <java-attributes>
+ <xml-element java-attribute="vigAddressType" name="vig-address-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether the VIG is for AVPN or INTERNET"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV4Vig" name="ipaddress-v4-vig" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 IP of the vig server"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV6Vig" name="ipaddress-v6-vig" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 IP of the vig server"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607"/>
+ <xml-property name="indexedProps" value="vig-address-type"/>
+ <xml-property name="dependentOn" value="ipsec-configuration"/>
+ <xml-property name="container" value="vig-servers"/>
+ <xml-property name="uriTemplate" value="/vig-servers/vig-server/{vig-address-type}"/>
+ <xml-property name="requiredProps" value="vig-address-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="IpsecConfigurations">
+ <xml-root-element name="ipsec-configurations"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipsecConfiguration" name="ipsec-configuration" type="inventory.aai.onap.org.v11.IpsecConfiguration"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IpsecConfiguration">
+ <xml-root-element name="ipsec-configuration"/>
+ <java-attributes>
+ <xml-element java-attribute="ipsecConfigurationId" name="ipsec-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of this configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedVigAddressType" name="requested-vig-address-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicate the type of VIG server like AVPN, INTERNET, BOTH"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedEncryptionStrength" name="requested-encryption-strength" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encryption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedDmzType" name="requested-dmz-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ATT can offer a shared DMZ or a DMZ specific to a customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sharedDmzNetworkAddress" name="shared-dmz-network-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network address of shared DMZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedCustomerName" name="requested-customer-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="If the DMZ is a custom DMZ, this field will indicate the customer information"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikeVersion" name="ike-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="can be 1 or 2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1Authentication" name="ikev1-authentication" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contains values like md5, sha1, sha256, sha384"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1Encryption" name="ikev1-encryption" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc,?aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1DhGroup" name="ikev1-dh-group" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Diffie-Hellman group like DH-GROUP2, DH-GROUP5, DH-GROUP14"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1AmGroupId" name="ikev1-am-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group name defined in VIG for clients using aggressive mode"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1AmPassword" name="ikev1-am-password" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="pre-shared key for the above group name "/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1SaLifetime" name="ikev1-sa-lifetime" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Lifetime for IKEv1 SA"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecAuthentication" name="ipsec-authentication" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="md5, sha1, sha256, sha384"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecEncryption" name="ipsec-encryption" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc,?aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecSaLifetime" name="ipsec-sa-lifetime" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Life time for IPSec SA"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecPfs" name="ipsec-pfs" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="enable PFS or not"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="xauthUserId" name="xauth-userid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="user ID for xAuth, sm-user,ucpeHostName,nmteHostName"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="xauthUserPassword" name="xauth-user-password" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encrypted using the Juniper $9$ algorithm"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dpdInterval" name="dpd-interval" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The time between DPD probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dpdFrequency" name="dpd-frequency" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Maximum number of DPD before claiming the tunnel is down"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.onap.org.v11.VigServers"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C"/>
+ <xml-property name="indexedProps" value="ipsec-configuration-id"/>
+ <xml-property name="uniqueProps" value="ipsec-configuration-id"/>
+ <xml-property name="container" value="ipsec-configurations"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}"/>
+ <xml-property name="requiredProps" value="ipsec-configuration-id"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="NotificationEvent">
+ <xml-root-element name="notification-event"/>
+ <java-attributes>
+ <xml-element java-attribute="cambriaPartition" name="cambria.partition" type="java.lang.String"/>
+ <xml-element java-attribute="eventHeader" name="event-header" type="inventory.aai.onap.org.v11.NotificationEventHeader"/>
+ <xml-any-element java-attribute="entity"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="NotificationEventHeader">
+ <xml-root-element name="notification-event-header"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" type="java.lang.String"/>
+ <xml-element java-attribute="timestamp" name="timestamp" type="java.lang.String"/>
+ <xml-element java-attribute="sourceName" name="source-name" type="java.lang.String"/>
+ <xml-element java-attribute="domain" name="domain" type="java.lang.String"/>
+ <xml-element java-attribute="sequenceNumber" name="sequence-number" type="java.lang.String"/>
+ <xml-element java-attribute="severity" name="severity" type="java.lang.String"/>
+ <xml-element java-attribute="eventType" name="event-type" type="java.lang.String"/>
+ <xml-element java-attribute="version" name="version" type="java.lang.String"/>
+ <xml-element java-attribute="action" name="action" type="java.lang.String"/>
+ <xml-element java-attribute="entityType" name="entity-type" type="java.lang.String"/>
+ <xml-element java-attribute="topEntityType" name="top-entity-type" type="java.lang.String"/>
+ <xml-element java-attribute="entityLink" name="entity-link" type="java.lang.String"/>
+ <xml-element java-attribute="status" name="status" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="AaiInternal">
+ <xml-root-element name="aai-internal"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="reservedPropNames" name="reserved-prop-names" type="inventory.aai.onap.org.v11.ReservedPropNames"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.onap.org.v11.EdgePropNames"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="ReservedPropNames">
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define some reserved properties of a vertex"/>
+ <xml-property name="uniqueProps" value="aai-unique-key"/>
+ <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type,aai-uri"/>
+ </xml-properties>
+ <xml-root-element name="reserved-prop-names"/>
+ <java-attributes>
+ <xml-element java-attribute="lastModSourceOfTruth" name="last-mod-source-of-truth" type="java.lang.String"/>
+ <xml-element java-attribute="aaiNodeType" name="aai-node-type" type="java.lang.String"/>
+ <xml-element java-attribute="aaiCreatedTs" name="aai-created-ts" type="java.lang.Long"/>
+ <xml-element java-attribute="aaiUniqueKey" name="aai-unique-key" type="java.lang.String"/>
+ <xml-element java-attribute="aaiLastModTs" name="aai-last-mod-ts" type="java.lang.Long"/>
+ <xml-element java-attribute="sourceOfTruth" name="source-of-truth" type="java.lang.String"/>
+ <xml-element java-attribute="aaiUri" name="aai-uri" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="EdgePropNames">
+ <!-- NOTE that the names of these properties are not consistent and are in mixed case and hyphen case for now -->
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define the properties of an edge and interpret the map EdgeRules"/>
+ <xml-property name="edgeInfo" value="edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV"/>
+ </xml-properties>
+ <xml-root-element name="edge-prop-names"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeLabel" name="edgeLabel" type="java.lang.String"/>
+ <xml-element java-attribute="direction" name="direction" type="java.lang.String"/>
+ <xml-element java-attribute="multiplicityRule" name="multiplicityRule" type="java.lang.String"/>
+ <xml-element java-attribute="containsOtherV" name="contains-other-v" type="java.lang.String"/>
+ <xml-element java-attribute="deleteOtherV" name="delete-other-v" type="java.lang.String"/>
+ <xml-element java-attribute="svcinfra" name="SVC-INFRA" type="java.lang.String"/>
+ <xml-element java-attribute="preventDelete" name="prevent-delete" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Models">
+ <xml-properties>
+ <xml-property name="description" value="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models"/>
+ </xml-properties>
+ <xml-root-element name="models"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="model" name="model" type="inventory.aai.onap.org.v11.Model"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Model">
+ <xml-root-element name="model"/>
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version"/>
+ <xml-property name="nameProps" value="model-type"/>
+ <xml-property name="indexedProps" value="model-invariant-id,model-type"/>
+ <xml-property name="uniqueProps" value="model-invariant-id"/>
+ <xml-property name="container" value="models"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/models/model/{model-invariant-id}"/>
+ <xml-property name="requiredProps" value="model-invariant-id,model-type"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.onap.org.v11.ModelVers"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+
+ <java-type name="ModelVers">
+ <xml-root-element name="model-vers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelVer" name="model-ver" type="inventory.aai.onap.org.v11.ModelVer"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelVer">
+ <xml-root-element name="model-ver"/>
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models"/>
+ <xml-property name="nameProps" value="model-name"/>
+ <xml-property name="indexedProps" value="model-version-id,model-name,model-version"/>
+ <xml-property name="uniqueProps" value="model-version-id"/>
+ <xml-property name="container" value="model-vers"/>
+ <xml-property name="uriTemplate" value="/model-vers/model-ver/{model-version-id}"/>
+ <xml-property name="requiredProps" value="model-version-id,model-name,model-version"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the model, which can change from version to version."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v11.ModelElements"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v11.Metadata"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelElements">
+ <xml-root-element name="model-elements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelElement" name="model-element" type="inventory.aai.onap.org.v11.ModelElement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelElement">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model."/>
+ <xml-property name="uniqueProps" value="model-element-uuid"/>
+ <xml-property name="indexedProps" value="model-element-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="model-elements"/>
+ <xml-property name="uriTemplate" value="/model-elements/model-element/{model-element-uuid}"/>
+ <xml-property name="requiredProps" value="model-element-uuid,new-data-del-flag,cardinality"/>
+ </xml-properties>
+ <xml-root-element name="model-element"/>
+ <java-attributes>
+ <xml-element java-attribute="modelElementUuid" name="model-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="newDataDelFlag" name="new-data-del-flag" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates whether this element was created as part of instantiation from this model"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cardinality" name="cardinality" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="How many of this type of element are required/allowed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="linkagePoints" name="linkage-points" type="java.lang.String">
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v11.ModelElements">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelConstraints" name="model-constraints" type="inventory.aai.onap.org.v11.ModelConstraints">
+ <xml-properties>
+ <xml-property name="description" value="Describes new constraints on this model element that are not part of that model's definition"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelConstraints">
+ <xml-root-element name="model-constraints"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelConstraint" name="model-constraint" type="inventory.aai.onap.org.v11.ModelConstraint"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelConstraint">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="model-constraint-uuid"/>
+ <xml-property name="indexedProps" value="model-constraint-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="model-constraints"/>
+ <xml-property name="uriTemplate" value="/model-constraints/model-constraint/{model-constraint-uuid}"/>
+ <xml-property name="requiredProps" value="model-constraint-uuid,constrained-element-set-uuid-to-replace"/>
+ </xml-properties>
+ <xml-root-element name="model-constraint"/>
+ <java-attributes>
+ <xml-element java-attribute="modelConstraintUuid" name="model-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constrainedElementSetUuidToReplace" name="constrained-element-set-uuid-to-replace" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="constrainedElementSets" name="constrained-element-sets" type="inventory.aai.onap.org.v11.ConstrainedElementSets"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ConstrainedElementSets">
+ <xml-root-element name="constrained-element-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="constrainedElementSet" name="constrained-element-set" type="inventory.aai.onap.org.v11.ConstrainedElementSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ConstrainedElementSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="constrained-element-set-uuid"/>
+ <xml-property name="indexedProps" value="constrained-element-set-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="constrained-element-sets"/>
+ <xml-property name="uriTemplate" value="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}"/>
+ <xml-property name="requiredProps" value="constrained-element-set-uuid,constraint-type,check-type"/>
+ </xml-properties>
+ <xml-root-element name="constrained-element-set"/>
+ <java-attributes>
+ <xml-element java-attribute="constrainedElementSetUuid" name="constrained-element-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="checkType" name="check-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="elementChoiceSets" name="element-choice-sets" type="inventory.aai.onap.org.v11.ElementChoiceSets"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ElementChoiceSets">
+ <xml-root-element name="element-choice-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="elementChoiceSet" name="element-choice-set" type="inventory.aai.onap.org.v11.ElementChoiceSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ElementChoiceSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="element-choice-set-uuid"/>
+ <xml-property name="indexedProps" value="element-choice-set-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="element-choice-sets"/>
+ <xml-property name="uriTemplate" value="/element-choice-sets/element-choice-set/{element-choice-set-uuid}"/>
+ <xml-property name="requiredProps" value="element-choice-set-uuid,element-choice-set-name"/>
+ </xml-properties>
+ <xml-root-element name="element-choice-set"/>
+ <java-attributes>
+ <xml-element java-attribute="elementChoiceSetUuid" name="element-choice-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="elementChoiceSetName" name="element-choice-set-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="cardinality" name="cardinality" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v11.ModelElements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueries">
+ <xml-root-element name="named-queries"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQuery" name="named-query" type="inventory.aai.onap.org.v11.NamedQuery"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQuery">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="nameProps" value="named-query-name"/>
+ <xml-property name="uniqueProps" value="named-query-uuid"/>
+ <xml-property name="indexedProps" value="named-query-uuid,named-query-name"/>
+ <xml-property name="container" value="named-queries"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/named-queries/named-query/{named-query-uuid}"/>
+ <xml-property name="requiredProps" value="named-query-uuid,named-query-name,named-query-version"/>
+ </xml-properties>
+ <xml-root-element name="named-query"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQueryUuid" name="named-query-uuid" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="namedQueryName" name="named-query-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryVersion" name="named-query-version" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="requiredInputParams" name="required-input-param" type="java.lang.String">
+ <xml-element-wrapper name="required-input-params"/>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.onap.org.v11.NamedQueryElements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueryElements">
+ <xml-root-element name="named-query-elements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQueryElement" name="named-query-element" type="inventory.aai.onap.org.v11.NamedQueryElement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueryElement">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="named-query-element-uuid"/>
+ <xml-property name="indexedProps" value="named-query-element-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="named-query-elements"/>
+ <xml-property name="uriTemplate" value="/named-query-elements/named-query-element/{named-query-element-uuid}"/>
+ <xml-property name="requiredProps" value="named-query-element-uuid"/>
+ </xml-properties>
+ <xml-root-element name="named-query-element"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQueryElementUuid" name="named-query-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="propertyLimitDesc" name="property-limit-desc" type="java.lang.String"/>
+ <xml-element java-attribute="doNotOutput" name="do-not-output" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.onap.org.v11.NamedQueryElements"/>
+ <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.onap.org.v11.RelatedLookups"/>
+ <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.onap.org.v11.PropertyConstraints"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedLookups">
+ <xml-root-element name="related-lookups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedLookup" name="related-lookup" type="inventory.aai.onap.org.v11.RelatedLookup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedLookup">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="related-lookup-uuid"/>
+ <xml-property name="indexedProps" value="related-lookup-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="related-lookups"/>
+ <xml-property name="uriTemplate" value="/related-lookups/related-lookup/{related-lookup-uuid}"/>
+ <xml-property name="requiredProps" value="related-lookup-uuid,source-node-type,source-node-property,target-node-type,target-node-property"/>
+ </xml-properties>
+ <xml-root-element name="related-lookup"/>
+ <java-attributes>
+ <xml-element java-attribute="relatedLookupUuid" name="related-lookup-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceNodeType" name="source-node-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="sourceNodeProperty" name="source-node-property" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="targetNodeType" name="target-node-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="targetNodeProperty" name="target-node-property" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PropertyConstraints">
+ <xml-root-element name="property-constraints"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyConstraint" name="property-constraint" type="inventory.aai.onap.org.v11.PropertyConstraint"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PropertyConstraint">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="property-constraint-uuid"/>
+ <xml-property name="indexedProps" value="property-constraint-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="property-constraints"/>
+ <xml-property name="uriTemplate" value="/property-constraints/property-constraint/{property-constraint-uuid}"/>
+ <xml-property name="requiredProps" value="property-constraint-uuid,constraint-type,property-name,property-value"/>
+ </xml-properties>
+ <xml-root-element name="property-constraint"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyConstraintUuid" name="property-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="propertyName" name="property-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelAndNamedQuerySearch">
+ <xml-properties>
+ <xml-property name="description" value="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="model-and-named-query-search"/>
+ <java-attributes>
+ <xml-element java-attribute="queryParameters" name="query-parameters" type="inventory.aai.onap.org.v11.QueryParameters"/>
+ <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.onap.org.v11.InstanceFilters"/>
+ <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.onap.org.v11.SecondaryFilts"/>
+ <xml-element java-attribute="topNodeType" name="top-node-type" type="java.lang.String"/>
+ <xml-element java-attribute="secondaryFilterCutPoint" name="secondary-filter-cut-point" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="QueryParameters">
+ <xml-properties>
+ <xml-property name="description" value="QueryParameters for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="query-parameters"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQuery" name="named-query" type="inventory.aai.onap.org.v11.NamedQuery"/>
+ <xml-element java-attribute="model" name="model" type="inventory.aai.onap.org.v11.OverloadedModel"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OverloadedModel">
+ <xml-root-element name="overloaded-model"/>
+ <xml-properties>
+ <xml-property name="description" value="Allows for legacy POST of old-style and new-style models"/>
+ <xml-property name="requiredProps" value="model-invariant-id,model-name-version-id,model-type,model-name,model-id,model-version"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelNameVersionId" name="model-name-version-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the model, which can change from version to version."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelId" name="model-id" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Invariant unique ID which does not change from version to version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.onap.org.v11.ModelVers"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceFilters">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilters for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="instance-filters"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="instanceFilter" name="instance-filter" type="inventory.aai.onap.org.v11.InstanceFilter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceFilter">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilter for performing a named-query or model query"/>
+ <xml-property name="container" value="instance-filters"/>
+ </xml-properties>
+ <xml-root-element name="instance-filter"/>
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilts">
+ <xml-properties>
+ <xml-property name="description" value="SecondaryFilts for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="secondary-filts"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilt" name="secondary-filt" type="inventory.aai.onap.org.v11.SecondaryFilt"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilt">
+ <xml-properties>
+ <xml-property name="description" value="SecondaryFilt for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="secondary-filt"/>
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Properties">
+ <xml-properties>
+ <xml-property name="description" value="Property holder for query properties or instance properties"/>
+ </xml-properties>
+ <xml-root-element name="properties"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ResponseList">
+ <xml-properties>
+ <xml-property name="description" value="Response container for the results of a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="response-list"/>
+ <java-attributes>
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v11.InventoryResponseItems"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryResponseItems">
+ <xml-properties>
+ <xml-property name="description" value="Container for inventory items in response list"/>
+ <xml-property name="container" value="response-list"/>
+ </xml-properties>
+ <xml-root-element name="inventory-response-items"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryResponseItem" name="inventory-response-item" type="inventory.aai.onap.org.v11.InventoryResponseItem"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryResponseItem">
+ <xml-properties>
+ <xml-property name="description" value="Inventory item for response list"/>
+ <xml-property name="container" value="inventory-response-items"/>
+ </xml-properties>
+ <xml-root-element name="inventory-response-item"/>
+ <java-attributes>
+ <xml-element java-attribute="modelName" name="model-name" type="java.lang.String"/>
+ <xml-any-element java-attribute="item"/>
+ <xml-element java-attribute="extraProperties" name="extra-properties" type="inventory.aai.onap.org.v11.ExtraProperties"/>
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v11.InventoryResponseItems"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExtraProperties">
+ <xml-properties>
+ <xml-property name="description" value="Extra properties for inventory item for response list"/>
+ </xml-properties>
+ <xml-root-element name="extra-properties"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="extraProperty" name="extra-property" type="inventory.aai.onap.org.v11.ExtraProperty"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExtraProperty">
+ <xml-root-element name="extra-property"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RouteTableReferences">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack route table references"/>
+ </xml-properties>
+ <xml-root-element name="route-table-references"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routeTableReference" name="route-table-reference" type="inventory.aai.onap.org.v11.RouteTableReference"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RouteTableReference">
+ <xml-root-element name="route-table-reference"/>
+ <java-attributes>
+ <xml-element java-attribute="routeTableReferenceId" name="route-table-reference-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTableReferenceFqdn" name="route-table-reference-fqdn" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="FQDN entry in the route table."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Openstack route table reference."/>
+ <xml-property name="nameProps" value="route-table-reference-fqdn"/>
+ <xml-property name="uniqueProps" value="route-table-reference-id"/>
+ <xml-property name="indexedProps" value="route-table-reference-id,route-table-reference-fqdn"/>
+ <xml-property name="container" value="route-table-references"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/route-table-references/route-table-reference/{route-table-reference-id}"/>
+ <xml-property name="requiredProps" value="route-table-reference-id,route-table-reference-fqdn"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="InstanceGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack route table references"/>
+ </xml-properties>
+ <xml-root-element name="instance-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="instanceGroup" name="instance-group" type="inventory.aai.onap.org.v11.InstanceGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceGroup">
+ <xml-root-element name="instance-group"/>
+ <java-attributes>
+ <xml-element java-attribute="instanceGroupRole" name="instance-group-role" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="role of the instance group."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ASDC model version uid for this resource model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Instance Group ID, UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Descriptive text to help identify the usage of this instance-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="type" name="type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Only valid value today is lower case ha for high availability"/>
+ <xml-property name="dbAlias" value="instance-group-type"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subType" name="sub-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Valid values for ha type are [geo-activeactive, geo-activestandby, local-activeactive, local-activestandby]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="General mechanism for grouping instances"/>
+ <xml-property name="nameProps" value="description"/>
+ <xml-property name="uniqueProps" value="id"/>
+ <xml-property name="searchable" value="id,description"/>
+ <xml-property name="indexedProps" value="id,description,type,sub-type"/>
+ <xml-property name="container" value="instance-groups"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/instance-groups/instance-group/{id}"/>
+ <xml-property name="requiredProps" value="id,description,type"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="SegmentationAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack segmentation assignments"/>
+ </xml-properties>
+ <xml-root-element name="segmentation-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.onap.org.v11.SegmentationAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SegmentationAssignment">
+ <xml-root-element name="segmentation-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack segmentation assignment."/>
+ <xml-property name="indexedProps" value="segmentation-id"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="segmentation-assignments"/>
+ <xml-property name="uriTemplate" value="/segmentation-assignments/segmentation-assignment/{segmentation-id}"/>
+ <xml-property name="requiredProps" value="segmentation-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="AllottedResources">
+ <xml-properties>
+ <xml-property name="description" value="This object is used to store slices of services being offered"/>
+ </xml-properties>
+ <xml-root-element name="allotted-resources"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="allottedResource" name="allotted-resource" type="inventory.aai.onap.org.v11.AllottedResource"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AllottedResource">
+ <xml-root-element name="allotted-resource"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Allotted Resource id UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The descriptive information assigned to this allotted resource instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Link back to more information in the controller"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="type" name="type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Generic description of the type of allotted resource."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="role" name="role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="role in the network that this resource will be providing."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tunnelXconnects" name="tunnel-xconnects" type="inventory.aai.onap.org.v11.TunnelXconnects"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Represents a slice or partial piece of a resource that gets separately allotted"/>
+ <xml-property name="nameProps" value="description"/>
+ <xml-property name="uniqueProps" value="id"/>
+ <xml-property name="indexedProps" value="id,model-invariant-id,model-version-id,type,role"/>
+ <xml-property name="dependentOn" value="service-instance"/>
+ <xml-property name="container" value="allotted-resources"/>
+ <!-- <xml-property name="namespace" value="network" /> -->
+ <xml-property name="uriTemplate" value="/allotted-resources/allotted-resource/{id}"/>
+ <xml-property name="requiredProps" value="id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="TunnelXconnects">
+ <xml-properties>
+ <xml-property name="description" value="This object is used to store the specific tunnel cross connect aspects of an allotted resource"/>
+ </xml-properties>
+ <xml-root-element name="tunnel-xconnects"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tunnelXconnect" name="tunnel-xconnect" type="inventory.aai.onap.org.v11.TunnelXconnect"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="TunnelXconnect">
+ <xml-root-element name="tunnel-xconnect"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Allotted Resource id UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN uplink bandwidth for WAN1"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN downlink bandwidth for WAN1"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN uplink bandwidth for WAN2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN downlink bandwidth for WAN2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted"/>
+ <xml-property name="uniqueProps" value="id"/>
+ <xml-property name="indexedProps" value="id"/>
+ <xml-property name="dependentOn" value="allotted-resource"/>
+ <xml-property name="container" value="tunnel-xconnects"/>
+ <!-- <xml-property name="namespace" value="network" /> -->
+ <xml-property name="uriTemplate" value="/tunnel-xconnects/tunnel-xconnect/{id}"/>
+ <xml-property name="requiredProps" value="id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Entitlements">
+ <xml-properties>
+ <xml-property name="description" value="Entitlements, keyed by group-uuid and resource-uuid, related to license management"/>
+ </xml-properties>
+ <xml-root-element name="entitlements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="entitlement" name="entitlement" type="inventory.aai.onap.org.v11.Entitlement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Entitlement">
+ <xml-root-element name="entitlement"/>
+ <java-attributes>
+ <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for the entitlement group the resource comes from, should be uuid."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of an entitlement resource. "/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Metadata for entitlement group."/>
+ <xml-property name="indexedProps" value="group-uuid,resource-uuid"/>
+ <xml-property name="dependentOn" value="generic-vnf,vce"/>
+ <xml-property name="container" value="entitlements"/>
+ <xml-property name="uriTemplate" value="/entitlements/entitlement/{group-uuid}/{resource-uuid}"/>
+ <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="Licenses">
+ <xml-properties>
+ <xml-property name="description" value="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management"/>
+ </xml-properties>
+ <xml-root-element name="licenses"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="license" name="license" type="inventory.aai.onap.org.v11.License"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="License">
+ <xml-root-element name="license"/>
+ <java-attributes>
+ <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for the license group the resource belongs to, should be uuid."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of a license resource. "/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Metadata for license group."/>
+ <xml-property name="indexedProps" value="group-uuid,resource-uuid"/>
+ <xml-property name="dependentOn" value="generic-vnf,vce"/>
+ <xml-property name="container" value="licenses"/>
+ <xml-property name="uriTemplate" value="/licenses/license/{group-uuid}/{resource-uuid}"/>
+ <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vnf">
+ <xml-root-element name="vnf"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Abstract vnf class"/>
+ <xml-property name="indexedProps" value="vnf-id"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="inheritors" value="vce,generic-vnf"/>
+ <xml-property name="abstract" value="true"/>
+ <xml-property name="requiredProps" value="vnf-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Zones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of zones"/>
+ </xml-properties>
+ <xml-root-element name="zones"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="zone" name="zone" type="inventory.aai.onap.org.v11.Zone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Zone">
+ <xml-root-element name="zone"/>
+ <java-attributes>
+ <xml-element java-attribute="zoneId" name="zone-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Code assigned by AIC to the zone"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="zoneName" name="zone-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="English name associated with the zone"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="designType" name="design-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Design of zone [Medium/Large?]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="zoneContext" name="zone-context" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Context of zone [production/test]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="status" name="status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Status of a zone."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="A zone is a grouping of assets in a location homing to the same connections into the CBB"/>
+ <xml-property name="nameProps" value="zone-name"/>
+ <xml-property name="indexedProps" value="zone-id,design-type,zone-context"/>
+ <xml-property name="uniqueProps" value="zone-id"/>
+ <xml-property name="container" value="zones"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/zones/zone/{zone-id}"/>
+ <xml-property name="requiredProps" value="zone-id,zone-name,design-type,zone-context"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="RouteTargets">
+ <xml-properties>
+ <xml-property name="description" value="Collection of route target information"/>
+ </xml-properties>
+ <xml-root-element name="route-targets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routeTarget" name="route-target" type="inventory.aai.onap.org.v11.RouteTarget"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="RouteTarget">
+ <xml-root-element name="route-target"/>
+ <java-attributes>
+ <xml-element java-attribute="globalRouteTarget" name="global-route-target" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Number used to identify an RT, globally unique in the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTargetRole" name="route-target-role" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this route target"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Route target information"/>
+ <xml-property name="container" value="route-targets"/>
+ <xml-property name="dependentOn" value="vpn-binding"/>
+ <xml-property name="canBeLinked" value="true"/>
+ <xml-property name="uriTemplate" value="/route-targets/route-target/{global-route-target}/{route-target-role}"/>
+ <xml-property name="requiredProps" value="global-route-target,route-target-role"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SriovPfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of SR-IOV Physical Functions."/>
+ </xml-properties>
+ <xml-root-element name="sriov-pfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sriovPf" name="sriov-pf" type="inventory.aai.onap.org.v11.SriovPf"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="SriovPf">
+ <xml-root-element name="sriov-pf"/>
+ <java-attributes>
+ <xml-element java-attribute="pfPciId" name="pf-pci-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifier for the sriov-pf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="SR-IOV Physical Function"/>
+ <xml-property name="indexedProps" value="pf-pci-id"/>
+ <xml-property name="dependentOn" value="p-interface"/>
+ <xml-property name="container" value="sriov-pfs"/>
+ <xml-property name="uriTemplate" value="/sriov-pfs/sriov-pf/{pf-pci-id}"/>
+ <xml-property name="requiredProps" value="pf-pci-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="HostRoutes">
+ <xml-root-element name="host-routes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="hostRoute" name="host-route" type="inventory.aai.onap.org.v11.HostRoute"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="HostRoute">
+ <xml-root-element name="host-route"/>
+ <java-attributes>
+ <xml-element java-attribute="hostRouteId" name="host-route-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="host-route id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routePrefix" name="route-prefix" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="subnet prefix"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nextHop" name="next-hop" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Could be ip-address, hostname, or service-instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nextHopType" name="next-hop-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Should be ip-address, hostname, or service-instance to match next-hop"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="host-route-id"/>
+ <xml-property name="dependentOn" value="subnet"/>
+ <xml-property name="container" value="host-routes"/>
+ <xml-property name="uriTemplate" value="/host-routes/host-route/{host-route-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="VipIpv4AddressList">
+ <xml-root-element name="vip-ipv4-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="vipIpv4Address" name="vip-ipv4-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vipIpv4PrefixLength" name="vip-ipv4-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 32 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv4 Address Range"/>
+ <xml-property name="indexedProps" value="vip-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="uriTemplate" value="/vip-ipv4-address-list/{vip-ipv4-address}"/>
+ <xml-property name="requiredProps" value="vip-ipv4-address"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VipIpv6AddressList">
+ <xml-root-element name="vip-ipv6-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="vipIpv6Address" name="vip-ipv6-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vipIpv6PrefixLength" name="vip-ipv6-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 128 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv6 Address Range"/>
+ <xml-property name="indexedProps" value="vip-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="uriTemplate" value="/vip-ipv6-address-list/{vip-ipv6-address}"/>
+ <xml-property name="requiredProps" value="vip-ipv6-address"/>
+ </xml-properties>
+ </java-type>
+ </java-types>
+</xml-bindings>
diff --git a/aai-core/src/test/resources/onap/oxm/v12/aai_oxm_v12.xml b/aai-core/src/test/resources/onap/oxm/v12/aai_oxm_v12.xml
new file mode 100644
index 00000000..33f8f17d
--- /dev/null
+++ b/aai-core/src/test/resources/onap/oxm/v12/aai_oxm_v12.xml
@@ -0,0 +1,6988 @@
+<!--
+ ============LICENSE_START=======================================================
+ org.onap.aai
+ ================================================================================
+ Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ============LICENSE_END=========================================================
+ -->
+<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v12" xml-mapping-metadata-complete="true">
+ <xml-schema element-form-default="QUALIFIED">
+ <xml-ns namespace-uri="http://org.onap.aai.inventory/v12"/>
+ </xml-schema>
+ <java-types>
+ <java-type name="Inventory">
+ <xml-root-element name="inventory"/>
+ <java-attributes>
+ <xml-element java-attribute="search" name="search" type="inventory.aai.onap.org.v12.Search"/>
+ <xml-element java-attribute="actions" name="actions" type="inventory.aai.onap.org.v12.Actions"/>
+ <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.onap.org.v12.CloudInfrastructure"/>
+ <xml-element java-attribute="externalSystem" name="external-system" type="inventory.aai.onap.org.v12.ExternalSystem"/>
+ <xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v12.Business"/>
+ <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.onap.org.v12.ServiceDesignAndCreation"/>
+ <xml-element java-attribute="network" name="network" type="inventory.aai.onap.org.v12.Network"/>
+ <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.onap.org.v12.AaiInternal"/>
+ <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.onap.org.v12.Nodes"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Nodes">
+ <xml-root-element name="nodes"/>
+ </java-type>
+ <java-type name="Search">
+ <xml-root-element name="search"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeTagQueryResult" name="edge-tag-query-result" type="inventory.aai.onap.org.v12.EdgeTagQueryResult"/>
+ <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.onap.org.v12.EdgeTagQueryRequest"/>
+ <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.onap.org.v12.SearchResults"/>
+ <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.onap.org.v12.SdnZoneResponse"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EdgeTagQueryResult">
+ <xml-root-element name="edge-tag-query-result"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v12.TaggedInventoryItemList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="TaggedInventoryItemList">
+ <xml-root-element name="tagged-inventory-item-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItem" name="inventory-item" type="inventory.aai.onap.org.v12.InventoryItem"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryItem">
+ <xml-root-element name="inventory-item"/>
+ <java-attributes>
+ <xml-element java-attribute="inventoryItemType" name="inventory-item-type" type="java.lang.String"/>
+ <xml-element java-attribute="inventoryItemLink" name="inventory-item-link" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItemData" name="inventory-item-data" type="inventory.aai.onap.org.v12.InventoryItemData"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v12.TaggedInventoryItemList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryItemData">
+ <xml-root-element name="inventory-item-data"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EdgeTagQueryRequest">
+ <xml-root-element name="edge-tag-query-request"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeTag" name="edge-tag" type="java.lang.String"/>
+ <xml-element java-attribute="resultDetail" name="result-detail" type="java.lang.String"/>
+ <xml-element java-attribute="startNodeType" name="start-node-type" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="startNodeFilter" name="start-node-filter" type="inventory.aai.onap.org.v12.StartNodeFilter"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.onap.org.v12.IncludeNodeFilter"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.onap.org.v12.SecondaryFilter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="StartNodeFilter">
+ <xml-root-element name="start-node-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IncludeNodeFilter">
+ <xml-root-element name="include-node-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="includeNodeType" name="include-node-type" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilter">
+ <xml-root-element name="secondary-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="filterType" name="filter-type" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SearchResults">
+ <xml-root-element name="search-results"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="resultData" name="result-data" type="inventory.aai.onap.org.v12.ResultData"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ResultData">
+ <xml-root-element name="result-data"/>
+ <java-attributes>
+ <xml-element java-attribute="resourceType" name="resource-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The specific type of node in the A&amp;AI graph"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceLink" name="resource-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The URL to the specific resource"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SdnZoneResponse">
+ <xml-root-element name="sdn-zone-response"/>
+ <java-attributes>
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v12.OamNetworks"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.onap.org.v12.AzAndDvsSwitches"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AzAndDvsSwitches">
+ <xml-root-element name="az-and-dvs-switches"/>
+ <java-attributes>
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v12.DvsSwitches"/>
+ <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v12.AvailabilityZone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Actions">
+ <xml-properties>
+ <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)."/>
+ </xml-properties>
+ <xml-root-element name="actions"/>
+ <java-attributes>
+ <xml-element java-attribute="update" name="update" type="inventory.aai.onap.org.v12.Update"/>
+ <xml-element java-attribute="notify" name="notify" type="inventory.aai.onap.org.v12.Notify"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Update">
+ <xml-properties>
+ <xml-property name="description" value="Serves a PATCH like function. Does not enforce concurrency control. Clear each usage with AAI team."/>
+ <xml-property name="requiredProps" value="update-node-type"/>
+ </xml-properties>
+ <xml-root-element name="update"/>
+ <java-attributes>
+ <xml-element java-attribute="updateNodeType" name="update-node-type" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="updateNodeKey" name="update-node-key" type="inventory.aai.onap.org.v12.UpdateNodeKey"/>
+ <xml-element java-attribute="updateNodeUri" name="update-node-uri" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="action" name="action" type="inventory.aai.onap.org.v12.Action"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Action">
+ <xml-root-element name="action"/>
+ <java-attributes>
+ <xml-element java-attribute="actionType" name="action-type" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="actionData" name="action-data" type="inventory.aai.onap.org.v12.ActionData"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ActionData">
+ <xml-root-element name="action-data"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="UpdateNodeKey">
+ <xml-root-element name="update-node-key"/>
+ <java-attributes>
+ <xml-element java-attribute="keyName" name="key-name" type="java.lang.String"/>
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Notify">
+ <xml-root-element name="notify"/>
+ <java-attributes>
+ <xml-element java-attribute="eventId" name="event-id" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="nodeType" name="node-type" type="java.lang.String"/>
+ <xml-element java-attribute="eventTrigger" name="event-trigger" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="keyData" name="key-data" type="inventory.aai.onap.org.v12.KeyData"/>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="KeyData">
+ <xml-root-element name="key-data"/>
+ <java-attributes>
+ <xml-element java-attribute="keyName" name="key-name" type="java.lang.String"/>
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExternalSystem">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for external system."/>
+ </xml-properties>
+ <xml-root-element name="external-system"/>
+ <java-attributes>
+ <xml-element java-attribute="esrEmsList" name="esr-ems-list" type="inventory.aai.onap.org.v12.EsrEmsList"/>
+ <xml-element java-attribute="esrVnfmList" name="esr-vnfm-list" type="inventory.aai.onap.org.v12.EsrVnfmList"/>
+ <xml-element java-attribute="esrThirdpartySdncList" name="esr-thirdparty-sdnc-list" type="inventory.aai.onap.org.v12.EsrThirdpartySdncList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EsrEmsList">
+ <xml-root-element name="esr-ems-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="esrEms" name="esr-ems" type="inventory.aai.onap.org.v12.EsrEms"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrEms">
+ <xml-root-element name="esr-ems"/>
+ <java-attributes>
+ <xml-element java-attribute="emsId" name="ems-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of EMS."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v12.EsrSystemInfoList"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persist EMS address information used by EMS driver."/>
+ <xml-property name="indexedProps" value="ems-id"/>
+ <xml-property name="searchable" value="ems-id"/>
+ <xml-property name="container" value="esr-ems-list"/>
+ <xml-property name="namespace" value="external-system"/>
+ <xml-property name="requiredProps" value="ems-id"/>
+ <xml-property name="uriTemplate" value="/external-system/esr-ems-list/esr-ems/{ems-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrVnfmList">
+ <xml-root-element name="esr-vnfm-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="esrVnfm" name="esr-vnfm" type="inventory.aai.onap.org.v12.EsrVnfm"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrVnfm">
+ <xml-root-element name="esr-vnfm"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfmId" name="vnfm-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of VNFM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vimId" name="vim-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indecate the VIM to deploy VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="certificateUrl" name="certificate-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="certificate url of VNFM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v12.EsrSystemInfoList"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persist VNFM address information used by VF-C."/>
+ <xml-property name="indexedProps" value="vnfm-id"/>
+ <xml-property name="searchable" value="vnfm-id"/>
+ <xml-property name="container" value="esr-vnfm-list"/>
+ <xml-property name="namespace" value="external-system"/>
+ <xml-property name="requiredProps" value="vnfm-id"/>
+ <xml-property name="uriTemplate" value="/external-system/esr-vnfm-list/esr-vnfm/{vnfm-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrThirdpartySdncList">
+ <xml-root-element name="esr-thirdparty-sdnc-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="esrThirdpartySdnc" name="esr-thirdparty-sdnc" type="inventory.aai.onap.org.v12.EsrThirdpartySdnc"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrThirdpartySdnc">
+ <xml-root-element name="esr-thirdparty-sdnc"/>
+ <java-attributes>
+ <xml-element java-attribute="thirdpartySdncId" name="thirdparty-sdnc-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of SDNC."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="location" name="location" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="used for DC type to indicate the location of SDNC, such as Core or Edge."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="productName" name="product-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="password used to access SDNC server."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v12.EsrSystemInfoList"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persist SDNC address information used by ONAP SDNC."/>
+ <xml-property name="indexedProps" value="sdnc-id"/>
+ <xml-property name="searchable" value="sdnc-id"/>
+ <xml-property name="container" value="esr-thirdparty-sdnc-list"/>
+ <xml-property name="namespace" value="external-system"/>
+ <xml-property name="requiredProps" value="thirdparty-sdnc-id"/>
+ <xml-property name="uriTemplate" value="/external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/{thirdparty-sdnc-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrSystemInfoList">
+ <xml-root-element name="esr-system-info-list"/>
+ <xml-properties>
+ <xml-property name="description" value="Collection of persistent block-level external system auth info."/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="esrSystemInfo" name="esr-system-info" type="inventory.aai.onap.org.v12.EsrSystemInfo"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrSystemInfo">
+ <xml-root-element name="esr-system-info"/>
+ <java-attributes>
+ <xml-element java-attribute="esrSystemInfoId" name="esr-system-info-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of esr system info."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="systemName" name="system-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="name of external system."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="type" name="type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="type of external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vendor" name="vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="vendor of external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="version" name="version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="version of external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceUrl" name="service-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="url used to access external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="userName" name="user-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="username used to access external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="password" name="password" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="password used to access external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="systemType" name="system-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="it could be vim/vnfm/thirdparty-sdnc/ems-resource/ems-performance/ems-alarm."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="protocol" name="protocol" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="protocol of third party SDNC, for example netconf/snmp."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sslCacert" name="ssl-cacert" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ca file content if enabled ssl on auth-url."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="sslInsecure" name="ssl-insecure" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Whether to verify VIM's certificate."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipAddress" name="ip-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="service IP of ftp server."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="port" name="port" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="service port of ftp server."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudDomain" name="cloud-domain" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="domain info for authentication."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="defaultTenant" name="default-tenant" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="default tenant of VIM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="passive" name="passive" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="ftp passive mode or not."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="remotepath" name="remote-path" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="resource or performance data file path."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="systemStatus" name="system-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the status of external system."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persist common address information of external systems."/>
+ <xml-property name="indexedProps" value="esr-system-info-id,system-name,system-type"/>
+ <xml-property name="searchable" value="esr-system-info-id,system-name,system-type"/>
+ <xml-property name="container" value="esr-system-info-list"/>
+ <xml-property name="dependentOn" value="cloud-region,esr-ems,esr-vnfm,esr-thirdparty-sdnc"/>
+ <xml-property name="requiredProps" value="esr-system-info-id,user-name,password,system-type"/>
+ <xml-property name="uriTemplate" value="/esr-system-info-list/esr-system-info/{esr-system-info-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="HpaCapabilities">
+ <xml-properties>
+ <xml-property name="description" value="Collection of HPA Capabilities"/>
+ </xml-properties>
+ <xml-root-element name="hpa-capabilities"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="hpaCapability" name="hpa-capability" type="inventory.aai.onap.org.v12.HpaCapability"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="HpaCapability">
+ <xml-root-element name="hpa-capability"/>
+ <java-attributes>
+ <xml-element java-attribute="hpaCapabilityId" name="hpa-capability-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID to uniquely identify a HPA capability"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hpaFeature" name="hpa-feature" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the HPACapability"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hpaVersion" name="hpa-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="HPA schema version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="architecture" name="architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Hardware architecture"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="hpaFeatureAttributes" name="hpa-feature-attributes" type="inventory.aai.onap.org.v12.HpaFeatureAttributes"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Represents a HPA capability"/>
+ <xml-property name="indexedProps" value="hpa-feature,architecture,hpa-capability-id"/>
+ <xml-property name="dependentOn" value="flavor,cloud-region"/>
+ <xml-property name="container" value="hpa-capabilities"/>
+ <xml-property name="requiredProps" value="hpa-capability-id,hpa-feature"/>
+ <xml-property name="uriTemplate" value="/hpa-capabilities/hpa-capability/{hpa-capability-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="HpaFeatureAttributes">
+ <xml-root-element name="hpa-feature-attributes"/>
+ <java-attributes>
+ <xml-element java-attribute="hpaAttributeKey" name="hpa-attribute-key" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="name of the specific HPA attribute"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hpaAttributeValue" name="hpa-attribute-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="JSON string specifying the value, unit and type of the specific HPA attribute"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="HPA Capability Feature attributes"/>
+ <xml-property name="indexedProps" value="hpa-attribute-key"/>
+ <xml-property name="dependentOn" value="hpa-capability"/>
+ <xml-property name="requiredProps" value="hpa-attribute-key"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CloudInfrastructure">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for cloud infrastructure."/>
+ </xml-properties>
+ <xml-root-element name="cloud-infrastructure"/>
+ <java-attributes>
+ <xml-element java-attribute="complexes" name="complexes" type="inventory.aai.onap.org.v12.Complexes"/>
+ <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.onap.org.v12.CloudRegions"/>
+ <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.onap.org.v12.NetworkProfiles"/>
+ <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.onap.org.v12.Pservers"/>
+ <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.onap.org.v12.VirtualDataCenters"/>
+ <xml-element java-attribute="operationalEnvironments" name="operational-environments" type="inventory.aai.onap.org.v12.OperationalEnvironments"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CloudRegions">
+ <xml-root-element name="cloud-regions"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cloudRegion" name="cloud-region" type="inventory.aai.onap.org.v12.CloudRegion"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CloudRegion">
+ <xml-root-element name="cloud-region"/>
+ <java-attributes>
+ <xml-element java-attribute="cloudOwner" name="cloud-owner" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifies the vendor and cloud name. First part of composite key should be formatted as vendor-cloudname"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudRegionId" name="cloud-region-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite key"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudType" name="cloud-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the cloud (e.g., openstack)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ownerDefinedType" name="owner-defined-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Cloud-owner defined type indicator (e.g., dcp, lcp)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudRegionVersion" name="cloud-region-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Software version employed at the site. NOTE - THIS FIELD IS NOT KEPT UP TO DATE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL of the keystone identity service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudZone" name="cloud-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Zone where the cloud is homed. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="complex name for cloud-region instance. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sriovAutomation" name="sriov-automation" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether the cloud region supports (true) or does not support (false) SR-IOV automation."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudExtraInfo" name="cloud-extra-info" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ESR inputs extra information about the VIM or Cloud which will be decoded by MultiVIM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudEpaCaps" name="cloud-epa-caps" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="MultiVIM will discover and expose EPA capabilities."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeGroups" name="volume-groups" type="inventory.aai.onap.org.v12.VolumeGroups"/>
+ <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v12.Tenants"/>
+ <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v12.Flavors"/>
+ <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.onap.org.v12.GroupAssignments"/>
+ <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v12.Snapshots"/>
+ <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v12.Images"/>
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v12.DvsSwitches"/>
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v12.OamNetworks"/>
+ <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v12.AvailabilityZones"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv4AddressList" name="vip-ipv4-address-list" type="inventory.aai.onap.org.v12.VipIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv6AddressList" name="vip-ipv6-address-list" type="inventory.aai.onap.org.v12.VipIpv6AddressList"/>
+ <xml-element java-attribute="hpaCapabilities" name="hpa-capabilities" type="inventory.aai.onap.org.v12.HpaCapabilities">
+ <xml-properties>
+ <xml-property name="description" value="List of cloud-region specific HPA Capabilities"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v12.EsrSystemInfoList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation."/>
+ <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type"/>
+ <xml-property name="nameProps" value="owner-defined-type"/>
+ <xml-property name="container" value="cloud-regions"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}"/>
+ <xml-property name="requiredProps" value="cloud-owner,cloud-region-id"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="VolumeGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of persistent block-level storage."/>
+ </xml-properties>
+ <xml-root-element name="volume-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volumeGroup" name="volume-group" type="inventory.aai.onap.org.v12.VolumeGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VolumeGroup">
+ <xml-root-element name="volume-group"/>
+ <java-attributes>
+ <xml-element java-attribute="volumeGroupId" name="volume-group-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of volume-group."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeGroupName" name="volume-group-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the volume group."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this volume-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this volume-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfModuleModelCustomizationId" name="vf-module-model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="helps relate the volume group to the vf-module whose components will require the volume group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persistent block-level storage."/>
+ <xml-property name="indexedProps" value="volume-group-name,vnf-type,heat-stack-id,volume-group-id"/>
+ <xml-property name="searchable" value="volume-group-id,volume-group-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="volume-groups"/>
+ <xml-property name="uriTemplate" value="/volume-groups/volume-group/{volume-group-id}"/>
+ <xml-property name="requiredProps" value="volume-group-id,vnf-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="RelationshipList">
+ <xml-root-element name="relationship-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.onap.org.v12.Relationship"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Relationship">
+ <xml-root-element name="relationship"/>
+ <java-attributes>
+ <xml-element java-attribute="relatedTo" name="related-to" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate type of node."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipLabel" name="relationship-label" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The edge label for this relationship."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to the object in A&amp;AI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.onap.org.v12.RelationshipData"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.onap.org.v12.RelatedToProperty"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedToProperty">
+ <xml-root-element name="related-to-property"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyKey" name="property-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Key part of a key/value pair"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value part of a key/value pair"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelationshipData">
+ <xml-root-element name="relationship-data"/>
+ <java-attributes>
+ <xml-element java-attribute="relationshipKey" name="relationship-key" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate an attribute."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipValue" name="relationship-value" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value of the attribute."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Complexes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions."/>
+ </xml-properties>
+ <xml-root-element name="complexes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="complex" name="complex" type="inventory.aai.onap.org.v12.Complex"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Complex">
+ <xml-root-element name="complex"/>
+ <java-attributes>
+ <xml-element java-attribute="physicalLocationId" name="physical-location-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for physical location, e.g., CLLI"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dataCenterCode" name="data-center-code" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Data center code which can be an alternate way to identify a complex"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Gamma complex name for LCP instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL of the keystone identity service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="physicalLocationType" name="physical-location-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type, e.g., central office, data center."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="street1" name="street1" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="street2" name="street2" type="java.lang.String"/>
+ <xml-element java-attribute="city" name="city" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="state" name="state" type="java.lang.String"/>
+ <xml-element java-attribute="postalCode" name="postal-code" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="country" name="country" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="region" name="region" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="latitude" name="latitude" type="java.lang.String"/>
+ <xml-element java-attribute="longitude" name="longitude" type="java.lang.String"/>
+ <xml-element java-attribute="elevation" name="elevation" type="java.lang.String"/>
+ <xml-element java-attribute="lata" name="lata" type="java.lang.String"/>
+ <xml-element java-attribute="ctagPools" name="ctag-pools" type="inventory.aai.onap.org.v12.CtagPools"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions."/>
+ <xml-property name="indexedProps" value="identity-url,data-center-code,complex-name,physical-location-id"/>
+ <xml-property name="searchable" value="physical-location-id,data-center-code,complex-name,street1,street2,postal-code"/>
+ <xml-property name="uniqueProps" value="physical-location-id"/>
+ <xml-property name="container" value="complexes"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/complexes/complex/{physical-location-id}"/>
+ <xml-property name="requiredProps" value="physical-location-id,physical-location-type,street1,city,postal-code,country,region"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CtagPools">
+ <xml-root-element name="ctag-pools"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagPool" name="ctag-pool" type="inventory.aai.onap.org.v12.CtagPool"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CtagPool">
+ <xml-root-element name="ctag-pool"/>
+ <java-attributes>
+ <xml-element java-attribute="targetPe" name="target-pe" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="The Target provider edge router"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the availability zone"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ctagPoolPurpose" name="ctag-pool-purpose" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Describes what the intended purpose of this pool is."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ctagValues" name="ctag-values" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Comma separated list of ctags"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="A collection of C tags (vlan tags) grouped for a specific purpose."/>
+ <xml-property name="indexedProps" value="availability-zone-name"/>
+ <xml-property name="dependentOn" value="complex"/>
+ <xml-property name="container" value="ctag-pools"/>
+ <xml-property name="uriTemplate" value="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}"/>
+ <xml-property name="requiredProps" value="target-pe,availability-zone-name,ctag-pool-purpose"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Tenants">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack tenants."/>
+ </xml-properties>
+ <xml-root-element name="tenants"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tenant" name="tenant" type="inventory.aai.onap.org.v12.Tenant"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Tenant">
+ <xml-root-element name="tenant"/>
+ <java-attributes>
+ <xml-element java-attribute="tenantId" name="tenant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id relative to the cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tenantName" name="tenant-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Readable name of tenant"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tenantContext" name="tenant-context" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field will store the tenant context."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vservers" name="vservers" type="inventory.aai.onap.org.v12.Vservers"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack tenant"/>
+ <xml-property name="nameProps" value="tenant-name"/>
+ <xml-property name="indexedProps" value="tenant-name,tenant-id,tenant-context"/>
+ <xml-property name="searchable" value="tenant-id,tenant-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="tenants"/>
+ <xml-property name="uriTemplate" value="/tenants/tenant/{tenant-id}"/>
+ <xml-property name="requiredProps" value="tenant-id,tenant-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of virtual Servers, aka virtual machines or VMs."/>
+ </xml-properties>
+ <xml-root-element name="vservers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vserver" name="vserver" type="inventory.aai.onap.org.v12.Vserver"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vserver">
+ <xml-root-element name="vserver"/>
+ <java-attributes>
+ <xml-element java-attribute="vserverId" name="vserver-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for this vserver relative to its tenant"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverName" name="vserver-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of vserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverName2" name="vserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternative name of vserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverSelflink" name="vserver-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumes" name="volumes" type="inventory.aai.onap.org.v12.Volumes"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v12.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Servers, aka virtual machine or VM."/>
+ <xml-property name="nameProps" value="vserver-name"/>
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2"/>
+ <xml-property name="searchable" value="vserver-id,vserver-name,vserver-name2"/>
+ <xml-property name="dependentOn" value="tenant"/>
+ <xml-property name="container" value="vservers"/>
+ <xml-property name="uriTemplate" value="/vservers/vserver/{vserver-id}"/>
+ <xml-property name="requiredProps" value="vserver-id,vserver-name,vserver-selflink,in-maint,is-closed-loop-disabled"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical interfaces."/>
+ </xml-properties>
+ <xml-root-element name="l-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lInterface" name="l-interface" type="inventory.aai.onap.org.v12.LInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LInterface">
+ <xml-root-element name="l-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name given to the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="E.g., CUSTOMER, UPLINK, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v6WanLinkIp" name="v6-wan-link-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="macaddr" name="macaddr" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="MAC address for the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether A&amp;AI should be managing this interface of not. Could have value like CUSTOMER"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Human friendly text regarding this interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isPortMirrored" name="is-port-mirrored" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not port is a mirrored."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of the logical interface. Valid values [PREPROV/NVTPROV/PROV]."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isIpUnnumbered" name="is-ip-unnumbered" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Flag indicating the interface uses the IP Unnumbered configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="allowedAddressPairs" name="allowed-address-pairs" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Freeform field for storing an ip address, list of ip addresses or a subnet block."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.onap.org.v12.Vlans"/>
+ <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v12.SriovVfs"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v12.LInterfaces"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v12.L3InterfaceIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v12.L3InterfaceIpv6AddressList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical interfaces, e.g., a vnic."/>
+ <xml-property name="indexedProps" value="macaddr,interface-id,interface-name,network-name"/>
+ <xml-property name="dependentOn" value="generic-vnf,newvce,p-interface,vserver,lag-interface,l-interface"/>
+ <xml-property name="container" value="l-interfaces"/>
+ <xml-property name="uriTemplate" value="/l-interfaces/l-interface/{interface-name}"/>
+ <xml-property name="requiredProps" value="interface-name,is-port-mirrored,in-maint,is-ip-unnumbered"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SriovVfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of SR-IOV Virtual Functions."/>
+ </xml-properties>
+ <xml-root-element name="sriov-vfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sriovVf" name="sriov-vf" type="inventory.aai.onap.org.v12.SriovVf"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="SriovVf">
+ <xml-root-element name="sriov-vf"/>
+ <java-attributes>
+ <xml-element java-attribute="pciId" name="pci-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="PCI ID used to identify the sriov-vf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanFilter" name="vf-vlan-filter" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This metadata provides option to specify list of VLAN filters applied on VF to pass the traffic to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMacFilter" name="vf-mac-filter" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="When MAC filters are specified, VF-agent service configures VFs to do MAC level filtering before the traffic is passed to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanStrip" name="vf-vlan-strip" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="When this field is set to true, VF will configured to strip the outer TAG before the traffic is passed to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanAntiSpoofCheck" name="vf-vlan-anti-spoof-check" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option ensures anti VLAN spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMacAntiSpoofCheck" name="vf-mac-anti-spoof-check" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option ensures anti MAC spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMirrors" name="vf-mirrors" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This option defines the set of Mirror objects which essentially mirrors the traffic from source to set of collector VNF Ports."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfBroadcastAllow" name="vf-broadcast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows all broadcast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfUnknownMulticastAllow" name="vf-unknown-multicast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown multicast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfUnknownUnicastAllow" name="vf-unknown-unicast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown unicast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfInsertStag" name="vf-insert-stag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, instructs to insert outer tag after traffic comes out of VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfLinkStatus" name="vf-link-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This option is used to set the link status. Valid values as of 1607 are on, off, and auto."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="SR-IOV Virtual Function (not to be confused with virtual network function)"/>
+ <xml-property name="indexedProps" value="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id"/>
+ <xml-property name="dependentOn" value="l-interface"/>
+ <xml-property name="container" value="sriov-vfs"/>
+ <xml-property name="uriTemplate" value="/sriov-vfs/sriov-vf/{pci-id}"/>
+ <xml-property name="requiredProps" value="pci-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv4AddressList">
+ <xml-root-element name="l3-interface-ipv4-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv4Address" name="l3-interface-ipv4-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv4PrefixLength" name="l3-interface-ipv4-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 32 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv4 Address Range"/>
+ <xml-property name="indexedProps" value="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="vlan,l-interface,vnfc"/>
+ <xml-property name="uriTemplate" value="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}"/>
+ <xml-property name="requiredProps" value="l3-interface-ipv4-address"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vlans">
+ <xml-root-element name="vlans"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vlan" name="vlan" type="inventory.aai.onap.org.v12.Vlan"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vlan">
+ <xml-root-element name="vlan"/>
+ <java-attributes>
+ <xml-element java-attribute="vlanInterface" name="vlan-interface" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="String that identifies the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanDescription" name="vlan-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to describe (the service associated with) the vlan"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="backdoorConnection" name="backdoor-connection" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether customer is going to use this VLAN for backdoor connection to another customer premise device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnKey" name="vpn-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of the VLAN configuration related to a logical interface. Valid values [PREPROV/NVTPROV/PROV]."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isIpUnnumbered" name="is-ip-unnumbered" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Flag indicating the interface uses the IP Unnumbered configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v12.L3InterfaceIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v12.L3InterfaceIpv6AddressList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Definition of vlan"/>
+ <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-key"/>
+ <xml-property name="dependentOn" value="l-interface"/>
+ <xml-property name="container" value="vlans"/>
+ <xml-property name="uriTemplate" value="/vlans/vlan/{vlan-interface}"/>
+ <xml-property name="requiredProps" value="vlan-interface,in-maint,is-ip-unnumbered"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv6AddressList">
+ <xml-root-element name="l3-interface-ipv6-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv6Address" name="l3-interface-ipv6-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv6PrefixLength" name="l3-interface-ipv6-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 128 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv6 Address Range"/>
+ <xml-property name="indexedProps" value="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="vlan,l-interface,vnfc"/>
+ <xml-property name="uriTemplate" value="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}"/>
+ <xml-property name="requiredProps" value="l3-interface-ipv6-address"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Volumes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of ephemeral Block storage volumes."/>
+ </xml-properties>
+ <xml-root-element name="volumes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volume" name="volume" type="inventory.aai.onap.org.v12.Volume"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Volume">
+ <xml-root-element name="volume"/>
+ <java-attributes>
+ <xml-element java-attribute="volumeId" name="volume-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of block storage volume relative to the vserver."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeSelflink" name="volume-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Ephemeral Block storage volume."/>
+ <xml-property name="indexedProps" value="volume-id"/>
+ <xml-property name="dependentOn" value="vserver"/>
+ <xml-property name="container" value="volumes"/>
+ <xml-property name="uriTemplate" value="/volumes/volume/{volume-id}"/>
+ <xml-property name="requiredProps" value="volume-id,volume-selflink"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Flavors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack flavors."/>
+ </xml-properties>
+ <xml-root-element name="flavors"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="flavor" name="flavor" type="inventory.aai.onap.org.v12.Flavor"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Flavor">
+ <xml-root-element name="flavor"/>
+ <java-attributes>
+ <xml-element java-attribute="flavorId" name="flavor-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Flavor id, expected to be unique across cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorName" name="flavor-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Flavor name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorVcpus" name="flavor-vcpus" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Number of CPUs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorRam" name="flavor-ram" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Amount of memory"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorDisk" name="flavor-disk" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Disk space"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorEphemeral" name="flavor-ephemeral" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Amount of ephemeral disk space"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorSwap" name="flavor-swap" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="amount of swap space allocation"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorIsPublic" name="flavor-is-public" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="whether flavor is available to all users or private to the tenant it was created in."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorSelflink" name="flavor-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorDisabled" name="flavor-disabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Boolean as to whether this flavor is no longer enabled"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hpaCapabilities" name="hpa-capabilities" type="inventory.aai.onap.org.v12.HpaCapabilities">
+ <xml-properties>
+ <xml-property name="description" value="List of flavor specific HPA Capabilities"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack flavor."/>
+ <xml-property name="nameProps" value="flavor-name"/>
+ <xml-property name="indexedProps" value="flavor-name,flavor-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="flavors"/>
+ <xml-property name="uriTemplate" value="/flavors/flavor/{flavor-id}"/>
+ <xml-property name="requiredProps" value="flavor-id,flavor-name,flavor-selflink"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Snapshots">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack snapshots"/>
+ </xml-properties>
+ <xml-root-element name="snapshots"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="snapshot" name="snapshot" type="inventory.aai.onap.org.v12.Snapshot"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Snapshot">
+ <xml-root-element name="snapshot"/>
+ <java-attributes>
+ <xml-element java-attribute="snapshotId" name="snapshot-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Snapshot id, this is the key UUID assoc associated in glance with the snapshots."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotName" name="snapshot-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Snapshot name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotArchitecture" name="snapshot-architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operating system architecture"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotOsDistro" name="snapshot-os-distro" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The common name of the operating system distribution in lowercase"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotOsVersion" name="snapshot-os-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The operating system version as specified by the distributor."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotSelflink" name="snapshot-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="prevSnapshotId" name="prev-snapshot-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field contains the UUID of the previous snapshot (if any)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack snapshot"/>
+ <xml-property name="nameProps" value="snapshot-name"/>
+ <xml-property name="uniqueProps" value="snapshot-id"/>
+ <xml-property name="indexedProps" value="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="snapshots"/>
+ <xml-property name="uriTemplate" value="/snapshots/snapshot/{snapshot-id}"/>
+ <xml-property name="requiredProps" value="snapshot-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GroupAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack group assignments"/>
+ </xml-properties>
+ <xml-root-element name="group-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="groupAssignment" name="group-assignment" type="inventory.aai.onap.org.v12.GroupAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="GroupAssignment">
+ <xml-root-element name="group-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="groupId" name="group-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Group id, expected to be unique across cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupType" name="group-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group type - the type of group this instance refers to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupName" name="group-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group name - name assigned to the group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupDescription" name="group-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group description - description of the group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack group-assignment used to store exclusivity groups (EG)."/>
+ <xml-property name="nameProps" value="group-name"/>
+ <xml-property name="indexedProps" value="group-id,group-type,group-name"/>
+ <xml-property name="searchable" value="group-id,group-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="group-assignments"/>
+ <xml-property name="uriTemplate" value="/group-assignments/group-assignment/{group-id}"/>
+ <xml-property name="requiredProps" value="group-id,group-type,group-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Images">
+ <xml-properties>
+ <xml-property name="description" value="Collectio of Openstack images."/>
+ </xml-properties>
+ <xml-root-element name="images"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="image" name="image" type="inventory.aai.onap.org.v12.Image"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Image">
+ <xml-root-element name="image"/>
+ <java-attributes>
+ <xml-element java-attribute="imageId" name="image-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Image id, expected to be unique across cloud region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageName" name="image-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Image name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageArchitecture" name="image-architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operating system architecture."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageOsDistro" name="image-os-distro" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The common name of the operating system distribution in lowercase"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageOsVersion" name="image-os-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The operating system version as specified by the distributor."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageSelflink" name="image-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v12.Metadata"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack image."/>
+ <xml-property name="nameProps" value="image-name"/>
+ <xml-property name="indexedProps" value="application,image-name,application-vendor,image-id,application-version"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="images"/>
+ <xml-property name="uriTemplate" value="/images/image/{image-id}"/>
+ <xml-property name="requiredProps" value="image-id,image-name,image-os-distro,image-os-version,image-selflink"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Metadata">
+ <xml-properties>
+ <xml-property name="description" value="Collection of metadatum (key/value pairs)"/>
+ </xml-properties>
+ <xml-root-element name="metadata"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="metadatum" name="metadatum" type="inventory.aai.onap.org.v12.Metadatum"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Metadatum">
+ <xml-root-element name="metadatum"/>
+ <java-attributes>
+ <xml-element java-attribute="metaname" name="metaname" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="metaval" name="metaval" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Key/value pairs"/>
+ <xml-property name="indexedProps" value="metaname"/>
+ <xml-property name="dependentOn" value="tenant,image,service-instance,connector,model"/>
+ <xml-property name="container" value="metadata"/>
+ <xml-property name="uriTemplate" value="/metadata/metadatum/{metaname}"/>
+ <xml-property name="requiredProps" value="metaname,metaval"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="DvsSwitches">
+ <xml-properties>
+ <xml-property name="description" value="Collection of digital virtual switch metadata used for vmWare VCEs and GenericVnfs."/>
+ </xml-properties>
+ <xml-root-element name="dvs-switches"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="dvsSwitch" name="dvs-switch" type="inventory.aai.onap.org.v12.DvsSwitch"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="DvsSwitch">
+ <xml-root-element name="dvs-switch"/>
+ <java-attributes>
+ <xml-element java-attribute="switchName" name="switch-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="DVS switch name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcenterUrl" name="vcenter-url" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL used to reach the vcenter"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Digital virtual switch metadata, used by SDN-C to configure VCEs. A&amp;AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&amp;AI. "/>
+ <xml-property name="indexedProps" value="vcenter-url,switch-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="dvs-switches"/>
+ <xml-property name="uriTemplate" value="/dvs-switches/dvs-switch/{switch-name}"/>
+ <xml-property name="requiredProps" value="switch-name,vcenter-url"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="NetworkProfiles">
+ <xml-properties>
+ <xml-property name="description" value="Collection of network profiles"/>
+ </xml-properties>
+ <xml-root-element name="network-profiles"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkProfile" name="network-profile" type="inventory.aai.onap.org.v12.NetworkProfile"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NetworkProfile">
+ <xml-root-element name="network-profile"/>
+ <java-attributes>
+ <xml-element java-attribute="nmProfileName" name="nm-profile-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique name of network profile."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="communityString" name="community-string" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encrypted SNMP community string"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Network profile populated by SDN-GP for SNMP"/>
+ <xml-property name="indexedProps" value="nm-profile-name"/>
+ <xml-property name="container" value="network-profiles"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}"/>
+ <xml-property name="requiredProps" value="nm-profile-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of compute hosts."/>
+ </xml-properties>
+ <xml-root-element name="pservers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pserver" name="pserver" type="inventory.aai.onap.org.v12.Pserver"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pserver">
+ <xml-root-element name="pserver"/>
+ <java-attributes>
+ <xml-element java-attribute="hostname" name="hostname" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value from executing hostname on the compute node."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ptniiEquipName" name="ptnii-equip-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="PTNII name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="numberOfCpus" name="number-of-cpus" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Number of cpus"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="diskInGigabytes" name="disk-in-gigabytes" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Disk size, in GBs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ramInMegabytes" name="ram-in-megabytes" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="RAM size, in MBs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment type. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment vendor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment model. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="fqdn" name="fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Fully-qualified domain name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverSelflink" name="pserver-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to configure device, also used for troubleshooting and is IP used for traps generated by device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Serial number, may be queried"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 OAM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CANOPI's inventory status. Only set with values exactly as defined by CANOPI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverId" name="pserver-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of Pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="internetTopology" name="internet-topology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="internet topology of Pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverName2" name="pserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="alternative pserver name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="purpose of pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates who owns and or manages the device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hostProfile" name="host-profile" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The host profile that defines the configuration of the pserver."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v12.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v12.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver."/>
+ <xml-property name="nameProps" value="pserver-name2"/>
+ <xml-property name="indexedProps" value="hostname,in-maint,pserver-id,pserver-name2,inv-status"/>
+ <xml-property name="searchable" value="hostname,pserver-name2,pserver-id,ipv4-oam-address"/>
+ <xml-property name="uniqueProps" value="hostname"/>
+ <xml-property name="container" value="pservers"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/pservers/pserver/{hostname}"/>
+ <xml-property name="requiredProps" value="hostname,in-maint"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical interfaces."/>
+ </xml-properties>
+ <xml-root-element name="p-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pInterface" name="p-interface" type="inventory.aai.onap.org.v12.PInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PInterface">
+ <xml-root-element name="p-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the physical interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portDescription" name="port-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Nature of the services and connectivity on this port."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentIdentifier" name="equipment-identifier" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CLEI or other specification for p-interface hardware."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role specification for p-interface hardware."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceType" name="interface-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the physical properties of the interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="macAddress" name="mac-addresss" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="MAC Address of the p-interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="inventory status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ <xml-element java-attribute="sriovPfs" name="sriov-pfs" type="inventory.aai.onap.org.v12.SriovPfs"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v12.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Physical interface (e.g., nic)"/>
+ <xml-property name="indexedProps" value="interface-name,prov-status"/>
+ <xml-property name="nameProps" value="prov-status"/>
+ <xml-property name="dependentOn" value="vpls-pe,pserver,pnf"/>
+ <xml-property name="container" value="p-interfaces"/>
+ <xml-property name="uriTemplate" value="/p-interfaces/p-interface/{interface-name}"/>
+ <xml-property name="requiredProps" value="interface-name,in-maint"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LagInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregate interfaces."/>
+ </xml-properties>
+ <xml-root-element name="lag-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagInterface" name="lag-interface" type="inventory.aai.onap.org.v12.LagInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LagInterface">
+ <xml-root-element name="lag-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the link aggregate interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Human friendly text regarding this interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v12.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Link aggregate interface"/>
+ <xml-property name="indexedProps" value="interface-name,interface-id,interface-role"/>
+ <xml-property name="dependentOn" value="generic-vnf,pserver,vpls-pe,pnf"/>
+ <xml-property name="container" value="lag-interfaces"/>
+ <xml-property name="uriTemplate" value="/lag-interfaces/lag-interface/{interface-name}"/>
+ <xml-property name="requiredProps" value="interface-name,in-maint"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="OamNetworks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of OAM networks, to be deprecated shortly. Do not use for new purposes. "/>
+ </xml-properties>
+ <xml-root-element name="oam-networks"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="oamNetwork" name="oam-network" type="inventory.aai.onap.org.v12.OamNetwork"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OamNetwork">
+ <xml-root-element name="oam-network"/>
+ <java-attributes>
+ <xml-element java-attribute="networkUuid" name="network-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the network. Unique across a cloud-region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="cvlan-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="OAM network, to be deprecated shortly. Do not use for new purposes. "/>
+ <xml-property name="nameProps" value="network-name"/>
+ <xml-property name="indexedProps" value="cvlan-tag,network-uuid,network-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="oam-networks"/>
+ <xml-property name="uriTemplate" value="/oam-networks/oam-network/{network-uuid}"/>
+ <xml-property name="requiredProps" value="network-uuid,network-name,cvlan-tag"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="AvailabilityZones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of availability zones"/>
+ </xml-properties>
+ <xml-root-element name="availability-zones"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v12.AvailabilityZone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AvailabilityZone">
+ <xml-root-element name="availability-zone"/>
+ <java-attributes>
+ <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the availability zone. Unique across a cloud region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hypervisorType" name="hypervisor-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of hypervisor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="State that indicates whether the availability zone should be used, etc. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Availability zone, a collection of compute hosts/pservers"/>
+ <xml-property name="indexedProps" value="availability-zone-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="availability-zones"/>
+ <xml-property name="uriTemplate" value="/availability-zones/availability-zone/{availability-zone-name}"/>
+ <xml-property name="requiredProps" value="availability-zone-name,hypervisor-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VirtualDataCenters">
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context"/>
+ </xml-properties>
+ <xml-root-element name="virtual-data-centers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="virtualDataCenter" name="virtual-data-center" type="inventory.aai.onap.org.v12.VirtualDataCenter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VirtualDataCenter">
+ <xml-root-element name="virtual-data-center"/>
+ <java-attributes>
+ <xml-element java-attribute="vdcId" name="vdc-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the vdc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdcName" name="vdc-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the virtual data center"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context"/>
+ <xml-property name="nameProps" value="vdc-name"/>
+ <xml-property name="indexedProps" value="vdc-name,vdc-id"/>
+ <xml-property name="container" value="virtual-data-centers"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}"/>
+ <xml-property name="requiredProps" value="vdc-id,vdc-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Business">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for business related constructs"/>
+ </xml-properties>
+ <xml-root-element name="business"/>
+ <java-attributes>
+ <xml-element java-attribute="connectors" name="connectors" type="inventory.aai.onap.org.v12.Connectors"/>
+ <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.org.v12.Customers"/>
+ <xml-element java-attribute="linesOfBusiness" name="lines-of-business" type="inventory.aai.onap.org.v12.LinesOfBusiness"/>
+ <xml-element java-attribute="owningEntities" name="owning-entities" type="inventory.aai.onap.org.v12.OwningEntities"/>
+ <xml-element java-attribute="platforms" name="platforms" type="inventory.aai.onap.org.v12.Platforms"/>
+ <xml-element java-attribute="projects" name="projects" type="inventory.aai.onap.org.v12.Projects"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Projects">
+ <xml-properties>
+ <xml-property name="description" value="Collection of projects"/>
+ </xml-properties>
+ <xml-root-element name="projects"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="project" name="project" type="inventory.aai.onap.org.v12.Project"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Project">
+ <xml-root-element name="project"/>
+ <java-attributes>
+ <xml-element java-attribute="projectName" name="project-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the project deploying a service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="describes the project"/>
+ <xml-property name="indexedProps" value="project-name"/>
+ <xml-property name="uniqueProps" value="project-name"/>
+ <xml-property name="container" value="projects"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/projects/project/{project-name}"/>
+ <xml-property name="requiredProps" value="project-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Connectors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets"/>
+ </xml-properties>
+ <xml-root-element name="connectors"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="connector" name="connector" type="inventory.aai.onap.org.v12.Connector"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Connector">
+ <xml-root-element name="connector"/>
+ <java-attributes>
+ <xml-element java-attribute="resourceInstanceId" name="resource-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of resource instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v12.Metadata"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets"/>
+ <xml-property name="indexedProps" value="resource-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version"/>
+ <xml-property name="container" value="connectors"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/connectors/connector/{resource-instance-id}"/>
+ <xml-property name="requiredProps" value="resource-instance-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Customers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information."/>
+ </xml-properties>
+ <xml-root-element name="customers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.onap.org.v12.Customer"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Customer">
+ <xml-root-element name="customer"/>
+ <java-attributes>
+ <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Global customer id used across ECOMP to uniquely identify customer."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber name, an alternate way to retrieve a customer."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberType" name="subscriber-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber type, a way to provide VID with only the INFRA customers."/>
+ <xml-property name="defaultValue" value="CUST"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSubscriptions" name="service-subscriptions" type="inventory.aai.onap.org.v12.ServiceSubscriptions"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="customer identifiers to provide linkage back to BSS information."/>
+ <xml-property name="nameProps" value="subscriber-name"/>
+ <xml-property name="indexedProps" value="subscriber-name,global-customer-id,subscriber-type"/>
+ <xml-property name="searchable" value="global-customer-id,subscriber-name"/>
+ <xml-property name="uniqueProps" value="global-customer-id"/>
+ <xml-property name="container" value="customers"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/customers/customer/{global-customer-id}"/>
+ <xml-property name="requiredProps" value="global-customer-id,subscriber-name,subscriber-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LinesOfBusiness">
+ <xml-properties>
+ <xml-property name="description" value="Collection of lines-of-business"/>
+ </xml-properties>
+ <xml-root-element name="lines-of-business"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lineOfBusiness" name="line-of-business" type="inventory.aai.onap.org.v12.LineOfBusiness"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LineOfBusiness">
+ <xml-root-element name="line-of-business"/>
+ <java-attributes>
+ <xml-element java-attribute="lineOfBusinessName" name="line-of-business-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the line-of-business (product)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="describes a line-of-business"/>
+ <xml-property name="indexedProps" value="line-of-business-name"/>
+ <xml-property name="uniqueProps" value="line-of-business-name"/>
+ <xml-property name="container" value="lines-of-business"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/lines-of-business/line-of-business/{line-of-business-name}"/>
+ <xml-property name="requiredProps" value="line-of-business-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="OwningEntities">
+ <xml-properties>
+ <xml-property name="description" value="Collection of owning-entities"/>
+ </xml-properties>
+ <xml-root-element name="owning-entities"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="owningEntity" name="owning-entity" type="inventory.aai.onap.org.v12.OwningEntity"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OwningEntity">
+ <xml-root-element name="owning-entity"/>
+ <java-attributes>
+ <xml-element java-attribute="owningEntityId" name="owning-entity-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of an owning entity"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="owningEntityName" name="owning-entity-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Owning entity name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="describes an owning-entity"/>
+ <xml-property name="indexedProps" value="owning-entity-id,owning-entity-name"/>
+ <xml-property name="searchable" value="owning-entity-id"/>
+ <xml-property name="uniqueProps" value="owning-entity-id,owning-entity-name"/>
+ <xml-property name="container" value="owning-entities"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/owning-entities/owning-entity/{owning-entity-id}"/>
+ <xml-property name="requiredProps" value="owning-entity-id,owning-entity-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Platforms">
+ <xml-properties>
+ <xml-property name="description" value="Collection of platforms"/>
+ </xml-properties>
+ <xml-root-element name="platforms"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="platform" name="platform" type="inventory.aai.onap.org.v12.Platform"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Platform">
+ <xml-root-element name="platform"/>
+ <java-attributes>
+ <xml-element java-attribute="platformName" name="platform-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the platform"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="describes a platform"/>
+ <xml-property name="indexedProps" value="platform-name"/>
+ <xml-property name="uniqueProps" value="platform-name"/>
+ <xml-property name="container" value="platforms"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/platforms/platform/{platform-name}"/>
+ <xml-property name="requiredProps" value="platform-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceSubscriptions">
+ <xml-properties>
+ <xml-property name="description" value="Collection of objects that group service instances."/>
+ </xml-properties>
+ <xml-root-element name="service-subscriptions"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceSubscription" name="service-subscription" type="inventory.aai.onap.org.v12.ServiceSubscription"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceSubscription">
+ <xml-root-element name="service-subscription"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value defined by orchestration to identify this service across ECOMP."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tempUbSubAccountId" name="temp-ub-sub-account-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This property will be deleted from A&amp;AI in the near future. Only stop gap solution."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstances" name="service-instances" type="inventory.aai.onap.org.v12.ServiceInstances">
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Object that group service instances."/>
+ <xml-property name="indexedProps" value="service-type"/>
+ <xml-property name="dependentOn" value="customer"/>
+ <xml-property name="container" value="service-subscriptions"/>
+ <xml-property name="crossEntityReference" value="service-instance,service-type"/>
+ <xml-property name="uriTemplate" value="/service-subscriptions/service-subscription/{service-type}"/>
+ <xml-property name="requiredProps" value="service-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceInstances">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service instances"/>
+ </xml-properties>
+ <xml-root-element name="service-instances"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceInstance" name="service-instance" type="inventory.aai.onap.org.v12.ServiceInstance"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceInstance">
+ <xml-root-element name="service-instance"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceInstanceId" name="service-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Uniquely identifies this instance of a service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstanceName" name="service-instance-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field will store a name assigned to the service-instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceType" name="service-type" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceRole" name="service-role" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing the service role."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="environmentContext" name="environment-context" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field will store the environment context assigned to the service-instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="workloadContext" name="workload-context" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field will store the workload context assigned to the service-instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="createdAt" name="created-at" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="create time of Network Service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="updatedAt" name="updated-at" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="last update of Network Service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="short description for service-instance."/>
+ </xml-properties>
+ </xml-element>
+ <!-- for storing the nsd_id create edge between services -->
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthTotal" name="bandwidth-total" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the total bandwidth to be used for this service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN1 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN1 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN2 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN2 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vhnPortalUrl" name="vhn-portal-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL customers will use to access the vHN Portal."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstanceLocationId" name="service-instance-location-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="An identifier that customers assign to the location where this service is being used."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v12.Metadata"/>
+ <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.onap.org.v12.AllottedResources"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Instance of a service"/>
+ <xml-property name="indexedProps" value="service-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status,environment-context,workload-context"/>
+ <xml-property name="nameProps" value="service-instance-name"/>
+ <xml-property name="searchable" value="service-instance-id,service-instance-name"/>
+ <xml-property name="uniqueProps" value="service-instance-id"/>
+ <xml-property name="dependentOn" value="service-subscription"/>
+ <xml-property name="container" value="service-instances"/>
+ <xml-property name="uriTemplate" value="/service-instances/service-instance/{service-instance-id}"/>
+ <xml-property name="requiredProps" value="service-instance-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceDesignAndCreation">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for objects managed by ASDC"/>
+ </xml-properties>
+ <xml-root-element name="service-design-and-creation"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfImages" name="vnf-images" type="inventory.aai.onap.org.v12.VnfImages"/>
+ <xml-element java-attribute="services" name="services" type="inventory.aai.onap.org.v12.Services"/>
+ <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.onap.org.v12.ServiceCapabilities"/>
+ <xml-element java-attribute="models" name="models" type="inventory.aai.onap.org.v12.Models"/>
+ <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.onap.org.v12.NamedQueries"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VnfImages">
+ <xml-properties>
+ <xml-property name="description" value="Collection of image objects that pertain to a VNF that doesn't have associated vservers. This is a kludge."/>
+ </xml-properties>
+ <xml-root-element name="vnf-images"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfImage" name="vnf-image" type="inventory.aai.onap.org.v12.VnfImage"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VnfImage">
+ <xml-root-element name="vnf-image"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfImageUuid" name="vnf-image-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of this asset"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Image object that pertain to a VNF that doesn't have associated vservers. This is a kludge."/>
+ <xml-property name="indexedProps" value="application,vnf-image-uuid,application-vendor,application-version"/>
+ <xml-property name="uniqueProps" value="vnf-image-uuid"/>
+ <xml-property name="container" value="vnf-images"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/vnf-images/vnf-image/{vnf-image-uuid}"/>
+ <xml-property name="requiredProps" value="vnf-image-uuid,application,application-vendor"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Services">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service model definitions. Likely to be deprecated in favor of models from ASDC."/>
+ </xml-properties>
+ <xml-root-element name="services"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.onap.org.v12.Service"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Service">
+ <xml-root-element name="service"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description of the service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="service version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Stand-in for service model definitions. Likely to be deprecated in favor of models from ASDC. Does not strictly map to ASDC services."/>
+ <xml-property name="indexedProps" value="service-description,service-id"/>
+ <xml-property name="container" value="services"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/services/service/{service-id}"/>
+ <xml-property name="requiredProps" value="service-id,service-description"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceCapabilities">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service capabilities."/>
+ </xml-properties>
+ <xml-root-element name="service-capabilities"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceCapability" name="service-capability" type="inventory.aai.onap.org.v12.ServiceCapability"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceCapability">
+ <xml-root-element name="service-capability"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Early definition of server/resource pairings, likely to be replaced by models. No new use should be made of this."/>
+ <xml-property name="indexedProps" value="service-type,vnf-type"/>
+ <xml-property name="container" value="service-capabilities"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}"/>
+ <xml-property name="requiredProps" value="service-type,vnf-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Network">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for network inventory resources."/>
+ </xml-properties>
+ <xml-root-element name="network"/>
+ <java-attributes>
+ <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.onap.org.v12.LogicalLinks"/>
+ <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.onap.org.v12.SitePairSets"/>
+ <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v12.VpnBindings"/>
+ <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.onap.org.v12.VplsPes"/>
+ <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.onap.org.v12.MulticastConfigurations"/>
+ <xml-element java-attribute="vces" name="vces" type="inventory.aai.onap.org.v12.Vces"/>
+ <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.onap.org.v12.Vnfcs"/>
+ <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.onap.org.v12.L3Networks"/>
+ <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v12.NetworkPolicies"/>
+ <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.onap.org.v12.GenericVnfs"/>
+ <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.onap.org.v12.LagLinks"/>
+ <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.onap.org.v12.Newvces"/>
+ <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v12.Pnfs"/>
+ <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.onap.org.v12.PhysicalLinks"/>
+ <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.onap.org.v12.IpsecConfigurations"/>
+ <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.onap.org.v12.RouteTableReferences"/>
+ <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.onap.org.v12.InstanceGroups"/>
+ <xml-element java-attribute="zones" name="zones" type="inventory.aai.onap.org.v12.Zones"/>
+ <xml-element java-attribute="configurations" name="configurations" type="inventory.aai.onap.org.v12.Configurations"/>
+ <xml-element java-attribute="forwardingPaths" name="forwarding-paths" type="inventory.aai.onap.org.v12.ForwardingPaths"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="Configurations">
+ <xml-properties>
+ <xml-property name="description" value="Collection of configurations"/>
+ </xml-properties>
+ <xml-root-element name="configurations"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="configuration" name="configuration" type="inventory.aai.onap.org.v12.Configuration"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Configuration">
+ <xml-root-element name="configuration"/>
+ <java-attributes>
+ <xml-element java-attribute="configurationId" name="configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID assigned to configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the entity that will manage this feature. Could be an organization or the name of the application as well."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="configurationName" name="configuration-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="configurationType" name="configuration-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="port-mirroring-configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="configurationSubType" name="configuration-sub-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="vprobe, pprobe."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of the configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="configurationSelflink" name="configuration-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details from SDN-GC."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="id of the configuration used to customize the resource"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tunnelBandwidth" name="tunnel-bandwidth" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="DHV Site Effective Bandwidth"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vendorAllowedMaxBandwidth" name="vendor-allowed-max-bandwidth" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Velocloud Nominal Throughput - VNT"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v12.Metadata"/>
+ <xml-element java-attribute="forwarderEvcs" name="forwarder-evcs" type="inventory.aai.onap.org.v12.ForwarderEvcs"/>
+ <xml-element java-attribute="evcs" name="evcs" type="inventory.aai.onap.org.v12.Evcs"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Generic configuration object."/>
+ <xml-property name="indexedProps" value="configuration-id,model-invariant-id,model-version-id"/>
+ <xml-property name="uniqueProps" value="configuration-id"/>
+ <xml-property name="container" value="configurations"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/configurations/configuration/{configuration-id}"/>
+ <xml-property name="requiredProps" value="configuration-id,configuration-type,configuration-sub-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LogicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical connections"/>
+ </xml-properties>
+ <xml-root-element name="logical-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.onap.org.v12.LogicalLink"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LogicalLink">
+ <xml-root-element name="logical-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of logical link, e.g., evc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4, v6, or ds for dual stack (should be att-ip-version)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routingProtocol" name="routing-protocol" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="For example, static or BGP"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of operational status of the logical link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkRole" name="link-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of the network use of the logical link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkName2" name="link-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alias or alternate name (CLCI or D1 name)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkId" name="link-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the logical-link, SDNC generates this."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Circuit id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Reason for this entity, role it is playing"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points"/>
+ <xml-property name="indexedProps" value="link-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose"/>
+ <xml-property name="uniqueProps" value="link-id"/>
+ <xml-property name="container" value="logical-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="searchable" value="link-name"/>
+ <xml-property name="uriTemplate" value="/network/logical-links/logical-link/{link-name}"/>
+ <xml-property name="requiredProps" value="link-name,in-maint,link-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SitePairSets">
+ <xml-properties>
+ <xml-property name="description" value="Collection of sets of instances for probes related to generic-vnf"/>
+ </xml-properties>
+ <xml-root-element name="site-pair-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePairSet" name="site-pair-set" type="inventory.aai.onap.org.v12.SitePairSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SitePairSet">
+ <xml-root-element name="site-pair-set"/>
+ <java-attributes>
+ <xml-element java-attribute="sitePairSetId" name="site-pair-set-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of site pair set."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routingInstances" name="routing-instances" type="inventory.aai.onap.org.v12.RoutingInstances"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Set of instances for probes used to measure service level agreements"/>
+ <xml-property name="indexedProps" value="site-pair-set-id"/>
+ <xml-property name="uniqueProps" value="site-pair-set-id"/>
+ <xml-property name="container" value="site-pair-sets"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/site-pair-sets/site-pair-set/{site-pair-set-id}"/>
+ <xml-property name="requiredProps" value="site-pair-set-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="RoutingInstances">
+ <xml-properties>
+ <xml-property name="description" value="set of probes related to generic-vnf routing instance"/>
+ </xml-properties>
+ <xml-root-element name="routing-instances"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routingInstance" name="routing-instance" type="inventory.aai.onap.org.v12.RoutingInstance"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RoutingInstance">
+ <xml-root-element name="routing-instance"/>
+ <java-attributes>
+ <xml-element java-attribute="routingInstanceId" name="routing-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of routing instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="rpmOwner" name="rpm-owner" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="rpm owner"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sitePairs" name="site-pairs" type="inventory.aai.onap.org.v12.SitePairs"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="routing-instance-id"/>
+ <xml-property name="dependentOn" value="site-pair-set"/>
+ <xml-property name="container" value="routing-instances"/>
+ <xml-property name="uriTemplate" value="/routing-instances/routing-instance/{routing-instance-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SitePairs">
+ <xml-properties>
+ <xml-property name="description" value="probe within a set"/>
+ </xml-properties>
+ <xml-root-element name="site-pairs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePair" name="site-pair" type="inventory.aai.onap.org.v12.SitePair"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SitePair">
+ <xml-root-element name="site-pair"/>
+ <java-attributes>
+ <xml-element java-attribute="sitePairId" name="site-pair-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceIp" name="source-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prefix address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationIp" name="destination-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prefix address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip version, v4, v6"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationHostname" name="destination-hostname" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Hostname of the destination equipment to which SLAs are measured against."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationEquipType" name="destination-equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The type of destinatination equipment. Could be Router, UCPE, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="classesOfService" name="classes-of-service" type="inventory.aai.onap.org.v12.ClassesOfService"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="site-pair-id"/>
+ <xml-property name="uniqueProps" value="site-pair-id"/>
+ <xml-property name="dependentOn" value="routing-instance"/>
+ <xml-property name="container" value="site-pairs"/>
+ <xml-property name="uriTemplate" value="/site-pairs/site-pair/{site-pair-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ClassesOfService">
+ <xml-properties>
+ <xml-property name="description" value="class-of-service of probe"/>
+ </xml-properties>
+ <xml-root-element name="classes-of-service"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="classOfService" name="class-of-service" type="inventory.aai.onap.org.v12.ClassOfService"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ClassOfService">
+ <xml-root-element name="class-of-service"/>
+ <java-attributes>
+ <xml-element java-attribute="cos" name="cos" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="probeId" name="probe-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="probeType" name="probe-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="type of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="cos"/>
+ <xml-property name="dependentOn" value="site-pair"/>
+ <xml-property name="container" value="classes-of-service"/>
+ <xml-property name="uriTemplate" value="/classes-of-service/class-of-service/{cos}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VpnBindings">
+ <xml-root-element name="vpn-bindings"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vpnBinding" name="vpn-binding" type="inventory.aai.onap.org.v12.VpnBinding"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VpnBinding">
+ <xml-root-element name="vpn-binding"/>
+ <java-attributes>
+ <xml-element java-attribute="vpnId" name="vpn-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="VPN ID, globally unique within A&amp;AI"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnName" name="vpn-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="VPN Name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnPlatform" name="vpn-platform" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the platform associated with the VPN example AVPN, Mobility"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnType" name="vpn-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the vpn, should be taken from enumerated/valid values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnRegion" name="vpn-region" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="region of customer vpn"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="customerVpnId" name="customer-vpn-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="id for this customer vpn"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeDistinguisher" name="route-distinguisher" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTargets" name="route-targets" type="inventory.aai.onap.org.v12.RouteTargets"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList">
+ <xml-properties>
+ <xml-property name="description" value="l3-networks relate to vpn-bindings"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPN binding"/>
+ <xml-property name="nameProps" value="vpn-name,vpn-type"/>
+ <xml-property name="indexedProps" value="vpn-name,vpn-id,vpn-type"/>
+ <xml-property name="searchable" value="vpn-id,vpn-name"/>
+ <xml-property name="uniqueProps" value="vpn-id"/>
+ <xml-property name="container" value="vpn-bindings"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vpn-bindings/vpn-binding/{vpn-id}"/>
+ <xml-property name="requiredProps" value="vpn-id,vpn-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VplsPes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VPLS Provider Edge routers"/>
+ </xml-properties>
+ <xml-root-element name="vpls-pes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vplsPe" name="vpls-pe" type="inventory.aai.onap.org.v12.VplsPe"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VplsPe">
+ <xml-root-element name="vpls-pe"/>
+ <java-attributes>
+ <xml-element java-attribute="equipmentName" name="equipment-name" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (v4-loopback0-ip-address)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value, e.g., VPLS-PE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Temporary location for stag to get to VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v12.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v12.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPLS Provider Edge routers."/>
+ <xml-property name="indexedProps" value="prov-status,equipment-name"/>
+ <xml-property name="container" value="vpls-pes"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vpls-pes/vpls-pe/{equipment-name}"/>
+ <xml-property name="requiredProps" value="equipment-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="MulticastConfigurations">
+ <xml-properties>
+ <xml-property name="description" value="multicast configuration of generic-vnf ip-address"/>
+ </xml-properties>
+ <xml-root-element name="multicast-configurations"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="multicastConfiguration" name="multicast-configuration" type="inventory.aai.onap.org.v12.MulticastConfiguration"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="MulticastConfiguration">
+ <xml-root-element name="multicast-configuration"/>
+ <java-attributes>
+ <xml-element java-attribute="multicastConfigurationId" name="multicast-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of multicast configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="multicastProtocol" name="multicast-protocol" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="protocol of multicast configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="rpType" name="rp-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="rp type of multicast configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="multicast-configuration-id"/>
+ <xml-property name="uniqueProps" value="multicast-configuration-id"/>
+ <xml-property name="container" value="multicast-configurations"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Virtual Customer Edge Routers, used specifically for Gamma. This object is deprecated."/>
+ </xml-properties>
+ <xml-root-element name="vces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vce" name="vce" type="inventory.aai.onap.org.v12.Vce"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vce">
+ <xml-root-element name="vce"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network role being played by this VNF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpeId" name="vpe-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of VPE connected to this VCE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v6VceWanAddress" name="v6-vce-wan-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Valid v6 IP address for the WAN Link on this router. Implied length of /64."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure vce, also used for troubleshooting and is IP used for traps generated by VCE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - see child relationships"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroups" name="port-groups" type="inventory.aai.onap.org.v12.PortGroups"/>
+ <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v12.Licenses"/>
+ <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v12.Entitlements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Customer Edge Router, used specifically for Gamma. This object is deprecated."/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id"/>
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="container" value="vces"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="extends" value="vnf"/>
+ <xml-property name="uriTemplate" value="/network/vces/vce/{vnf-id}"/>
+ <xml-property name="requiredProps" value="vnf-id,vnf-name,vnf-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PortGroups">
+ <xml-root-element name="port-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="portGroup" name="port-group" type="inventory.aai.onap.org.v12.PortGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PortGroup">
+ <xml-root-element name="port-group"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceId" name="interface-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkName" name="neutron-network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network name of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupId" name="port-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for port group in vmware"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupName" name="port-group-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Likely to duplicate value of neutron network name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="switchName" name="switch-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="DVS or standard switch name (should be non-null for port groups associated with DVS)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlanTags" name="cvlan-tags" type="inventory.aai.onap.org.v12.CvlanTags"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Used to capture the network interfaces of this VCE"/>
+ <xml-property name="nameProps" value="port-group-name"/>
+ <xml-property name="indexedProps" value="port-group-id,heat-stack-id,interface-id,interface-name,switch-name"/>
+ <xml-property name="dependentOn" value="vce"/>
+ <xml-property name="container" value="port-groups"/>
+ <xml-property name="uriTemplate" value="/port-groups/port-group/{interface-id}"/>
+ <xml-property name="requiredProps" value="interface-id,orchestration-status"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CvlanTags">
+ <xml-root-element name="cvlan-tags"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cvlanTagEntry" name="cvlan-tag-entry" type="inventory.aai.onap.org.v12.CvlanTagEntry"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CvlanTagEntry">
+ <xml-root-element name="cvlan-tag-entry"/>
+ <java-attributes>
+ <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="See mis-na-virtualization-platform.yang"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="dependentOn" value="port-group"/>
+ <xml-property name="indexedProps" value="cvlan-tag"/>
+ <xml-property name="container" value="cvlan-tags"/>
+ <xml-property name="uriTemplate" value="/cvlan-tags/cvlan-tag/{cvlan-tag}"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="Vnfcs">
+ <xml-properties>
+ <xml-property name="description" value="virtual network components associated with a vserver from application controller."/>
+ </xml-properties>
+ <xml-root-element name="vnfcs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfc" name="vnfc" type="inventory.aai.onap.org.v12.Vnfc"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vnfc">
+ <xml-root-element name="vnfc"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfcName" name="vnfc-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vnfc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfcNamingCode" name="nfc-naming-code" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Short code that is used in naming instances of the item being modeled"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfcFunction" name="nfc-function" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="English description of function that the specific resource deployment is providing. Assigned as part of the customization of a resource in a service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="prov status of this vnfc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by APP-C"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4OamVip" name="ipaddress-v4-oam-vip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Oam V4 vip address of this vnfc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupNotation" name="group-notation" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group notation of VNFC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v12.L3InterfaceIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v12.L3InterfaceIpv6AddressList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vnfc-name,prov-status,nfc-function,nfc-naming-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation,model-invariant-id,model-version-id"/>
+ <xml-property name="searchable" value="vnfc-name"/>
+ <xml-property name="container" value="vnfcs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vnfcs/vnfc/{vnfc-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3Networks">
+ <xml-root-element name="l3-networks"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3Network" name="l3-network" type="inventory.aai.onap.org.v12.L3Network"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="L3Network">
+ <xml-root-element name="l3-network"/>
+ <java-attributes>
+ <xml-element java-attribute="networkId" name="network-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Network ID, should be uuid. Unique across A&amp;AI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network, governed by some naming convention.."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkType" name="network-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the network - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkRole" name="network-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role the network plans - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkTechnology" name="network-technology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network technology - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isBoundToVpn" name="is-bound-to-vpn" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Set to true if bound to VPN"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service from ASDC. Does not strictly map to ASDC services. SOON TO BE DEPRECATED"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkRoleInstance" name="network-role-instance" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="network role instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailNetworkFqdn" name="contrail-network-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contrail FQDN for the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="physicalNetworkName" name="physical-network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name associated with the physical network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isProviderNetwork" name="is-provider-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is a provider network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isSharedNetwork" name="is-shared-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is a shared network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isExternalNetwork" name="is-external-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is an external network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnets" name="subnets" type="inventory.aai.onap.org.v12.Subnets"/>
+ <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.onap.org.v12.CtagAssignments"/>
+ <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.onap.org.v12.SegmentationAssignments"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList">
+ <xml-properties>
+ <xml-property name="description" value="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Generic network definition"/>
+ <xml-property name="nameProps" value="network-name"/>
+ <xml-property name="indexedProps" value="heat-stack-id,network-uuid,service-id,network-id,network-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-network-fqdn,network-role"/>
+ <xml-property name="searchable" value="network-id,network-name"/>
+ <xml-property name="uniqueProps" value="network-id"/>
+ <xml-property name="container" value="l3-networks"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/l3-networks/l3-network/{network-id}"/>
+ <xml-property name="requiredProps" value="network-id,is-bound-to-vpn,is-provider-network,is-shared-network,is-external-network"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="NetworkPolicies">
+ <xml-root-element name="network-policies"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkPolicy" name="network-policy" type="inventory.aai.onap.org.v12.NetworkPolicy"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="NetworkPolicy">
+ <xml-root-element name="network-policy"/>
+ <java-attributes>
+ <xml-element java-attribute="networkPolicyId" name="network-policy-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID representing unique key to this instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkPolicyFqdn" name="network-policy-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contrail FQDN for the policy"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID for the openStack Heat instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="nameProps" value="network-policy-fqdn"/>
+ <xml-property name="indexedProps" value="network-policy-id,network-policy-fqdn"/>
+ <xml-property name="searchable" value="network-policy-id,network-policy-fqdn"/>
+ <xml-property name="uniqueProps" value="network-policy-id"/>
+ <xml-property name="container" value="network-policies"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/network-policies/network-policy/{network-policy-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="CtagAssignments">
+ <xml-root-element name="ctag-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagAssignment" name="ctag-assignment" type="inventory.aai.onap.org.v12.CtagAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CtagAssignment">
+ <xml-root-element name="ctag-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="id."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vlan-id-inner"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="ctag-assignments"/>
+ <xml-property name="uriTemplate" value="/ctag-assignments/ctag-assignment/{vlan-id-inner}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Subnets">
+ <xml-root-element name="subnets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="subnet" name="subnet" type="inventory.aai.onap.org.v12.Subnet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Subnet">
+ <xml-root-element name="subnet"/>
+ <java-attributes>
+ <xml-element java-attribute="subnetId" name="subnet-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Subnet ID, should be UUID."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnetName" name="subnet-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name associated with the subnet."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of this subnet"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="gatewayAddress" name="gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="gateway ip address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkStartAddress" name="network-start-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="network start address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cidrMask" name="cidr-mask" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="cidr mask"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="dhcpEnabled" name="dhcp-enabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="dhcp enabled"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpStart" name="dhcp-start" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the start address reserved for use by dhcp"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpEnd" name="dhcp-end" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the last address reserved for use by dhcp"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnetRole" name="subnet-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="role of the subnet, referenced when assigning IPs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipAssignmentDirection" name="ip-assignment-direction" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip address assignment direction of the subnet"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnetSequence" name="subnet-sequence" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="sequence of the subnet"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hostRoutes" name="host-routes" type="inventory.aai.onap.org.v12.HostRoutes"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="subnet-id,subnet-name"/>
+ <xml-property name="nameProps" value="subnet-name"/>
+ <xml-property name="uniqueProps" value="subnet-id"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="subnets"/>
+ <xml-property name="uriTemplate" value="/subnets/subnet/{subnet-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GenericVnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VNFs"/>
+ </xml-properties>
+ <xml-root-element name="generic-vnfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="genericVnf" name="generic-vnf" type="inventory.aai.onap.org.v12.GenericVnf"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GenericVnf">
+ <xml-root-element name="generic-vnf"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfInstanceId" name="vnf-instance-id" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="vnf instance id."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service, does not necessarily map to ASDC service models. SOON TO BE DEPRECATED"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ <xml-property name="suggestibleOnSearch" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational. Valid values are in-service-path and out-of-service-path."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, used by MSO."/>
+ <xml-property name="suggestibleOnSearch" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfPackageName" name="vnf-package-name" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value=""/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfDiscriptorName" name="vnf-discriptor-name" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="vnf discriptor name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="jobId" name="job-id" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="job id corresponding to vnf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of managed by ATT or customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nmLanV6Address" name="nm-lan-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 Loopback address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementV6Address" name="management-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 management address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpu" name="vcpu" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpuUnits" name="vcpu-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemory" name="vmemory" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemoryUnits" name="vmemory-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdisk" name="vdisk" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdiskUnits" name="vdisk-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nshd" name="nshd" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of associated SHD in vnf."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nvm" name="nvm" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vms in vnf."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nnet" name="nnet" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of network in vnf."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether generic-vnf access uses SSH"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementAssignmentGroupUuid" name="entitlement-assignment-group-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the Entitlement group used for licensing VNFs, OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the specific entitlement resource. OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseAssignmentGroupUuid" name="license-assignment-group-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the license assignment group. OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKeyUuid" name="license-key-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the actual license resource. OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="as-number of the VNF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceSubzone" name="regional-resource-subzone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="represents sub zone of the rr plane"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfType" name="nf-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Generic description of the type of NF"/>
+ <xml-property name="suggestibleOnSearch" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfFunction" name="nf-function" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="English description of Network function that the specific VNF deployment is providing"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="role in the network that this model will be providing"/>
+ <xml-property name="suggestibleOnSearch" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfNamingCode" name="nf-naming-code" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="string assigned to this model used for naming purposes"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Gateway address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length for oam-address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Temporary location for S-TAG to get to VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nmProfileName" name="nm-profile-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network Management profile of this VNF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v12.LInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v12.LagInterfaces"/>
+ <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.onap.org.v12.VfModules"/>
+ <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v12.Licenses"/>
+ <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v12.Entitlements"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="General purpose VNF"/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,nf-type,nf-function,nf-naming-code,nf-role"/>
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="container" value="generic-vnfs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="extends" value="vnf"/>
+ <xml-property name="containsSuggestibleProps" value="true"/>
+ <xml-property name="suggestionAliases" value="VNFs"/>
+ <xml-property name="uriTemplate" value="/network/generic-vnfs/generic-vnf/{vnf-id}"/>
+ <xml-property name="requiredProps" value="vnf-id,vnf-type,in-maint,is-closed-loop-disabled"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VfModules">
+ <xml-properties>
+ <xml-property name="description" value="Collection of vf-modules, a deployment unit of VNFCs"/>
+ </xml-properties>
+ <xml-root-element name="vf-modules"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vfModule" name="vf-module" type="inventory.aai.onap.org.v12.VfModule"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VfModule">
+ <xml-root-element name="vf-module"/>
+ <java-attributes>
+ <xml-element java-attribute="vfModuleId" name="vf-module-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vf-module."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfModuleName" name="vf-module-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of vf-module"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="orchestration status of this vf-module, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isBaseVfModule" name="is-base-vf-module" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is base vf module"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the Contrail unique ID for a service-instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="moduleIndex" name="module-index" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="the index will track the number of modules of a given type that have been deployed in a VNF, starting with 0, and always choosing the lowest available digit"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="a deployment unit of VNFCs"/>
+ <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-service-instance-fqdn"/>
+ <xml-property name="searchable" value="vf-module-id,vf-module-name"/>
+ <xml-property name="dependentOn" value="generic-vnf"/>
+ <xml-property name="container" value="vf-modules"/>
+ <xml-property name="uriTemplate" value="/vf-modules/vf-module/{vf-module-id}"/>
+ <xml-property name="requiredProps" value="vf-module-id,is-base-vf-module"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="LagLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregation connections"/>
+ </xml-properties>
+ <xml-root-element name="lag-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagLink" name="lag-link" type="inventory.aai.onap.org.v12.LagLink"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LagLink">
+ <xml-root-element name="lag-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Alphabetical concatenation of lag-interface names"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="LAG links can connect lag-interfaces"/>
+ <xml-property name="indexedProps" value="link-name"/>
+ <xml-property name="container" value="lag-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/lag-links/lag-link/{link-name}"/>
+ <xml-property name="requiredProps" value="link-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Newvces">
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce."/>
+ </xml-properties>
+ <xml-root-element name="newvces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="newvce" name="newvce" type="inventory.aai.onap.org.v12.Newvce"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Newvce">
+ <xml-root-element name="newvce"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId2" name="vnf-id2" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF, can't use same attribute name right now until we promote this new object"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (v4-loopback0-ip-address)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v12.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce."/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2"/>
+ <xml-property name="searchable" value="vnf-id2,vnf-name,vnf-name2"/>
+ <xml-property name="uniqueProps" value="vnf-id2"/>
+ <xml-property name="container" value="newvces"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/newvces/newvce/{vnf-id2}"/>
+ <xml-property name="requiredProps" value="vnf-id2,vnf-name,vnf-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Physical Network Functions."/>
+ </xml-properties>
+ <xml-root-element name="pnfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pnf" name="pnf" type="inventory.aai.onap.org.v12.Pnf"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pnf">
+ <xml-root-element name="pnf"/>
+ <java-attributes>
+ <xml-element java-attribute="pnfName" name="pnf-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique name of Physical Network Function."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfName2" name="pnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="name of Physical Network Function."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfName2Source" name="pnf-name2-source" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="source of name2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfId" name="pnf-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="id of pnf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment type. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment vendor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment model. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of managed by ATT or customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Oam" name="ipaddress-v4-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ipv4-oam-address with new naming convention for IP addresses"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="swVersion" name="sw-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="sw-version is the version of SW for the hosted application on the PNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="frameId" name="frame-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of the physical frame (relay rack) where pnf is installed."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Serial number of the device"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 OAM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CANOPI's inventory status. Only set with values exactly as defined by CANOPI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Nf Role is the role performed by this instance in the network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v12.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v12.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE."/>
+ <xml-property name="indexedProps" value="pnf-name,orchestration-status,inv-status"/>
+ <xml-property name="searchable" value="pnf-name"/>
+ <xml-property name="uniqueProps" value="pnf-name"/>
+ <xml-property name="container" value="pnfs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/pnfs/pnf/{pnf-name}"/>
+ <xml-property name="requiredProps" value="pnf-name,in-maint"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PhysicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces"/>
+ </xml-properties>
+ <xml-root-element name="physical-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="physicalLink" name="physical-link" type="inventory.aai.onap.org.v12.PhysicalLink"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PhysicalLink">
+ <xml-root-element name="physical-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Circuit it"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dualMode" name="dual-mode" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Dual access mode (e.g., primary, secondary"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="To provide information on who manages this circuit. A&amp;AI or 3rd party transport provider"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderName" name="service-provider-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the service Provider on this link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderBandwidthUpValue" name="service-provider-bandwidth-up-value" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Upstream Bandwidth value agreed with the service provider"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderBandwidthUpUnits" name="service-provider-bandwidth-up-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Units for the upstream BW value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderBandwidthDownValue" name="service-provider-bandwidth-down-value" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Downstream Bandwidth value agreed with the service provider"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderBandwidthDownUnits" name="service-provider-bandwidth-down-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Units for downstream BW value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces"/>
+ <xml-property name="indexedProps" value="circuit-id,link-name"/>
+ <xml-property name="alternateKeys1" value="circuit-id"/>
+ <xml-property name="container" value="physical-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="searchable" value="link-name,circuit-id"/>
+ <xml-property name="uriTemplate" value="/network/physical-links/physical-link/{link-name}"/>
+ <xml-property name="requiredProps" value="link-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VigServers">
+ <xml-root-element name="vig-servers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vigServer" name="vig-server" type="inventory.aai.onap.org.v12.VigServer"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VigServer">
+ <xml-root-element name="vig-server"/>
+ <java-attributes>
+ <xml-element java-attribute="vigAddressType" name="vig-address-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether the VIG is for AVPN or INTERNET"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV4Vig" name="ipaddress-v4-vig" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 IP of the vig server"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV6Vig" name="ipaddress-v6-vig" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 IP of the vig server"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607"/>
+ <xml-property name="indexedProps" value="vig-address-type"/>
+ <xml-property name="dependentOn" value="ipsec-configuration"/>
+ <xml-property name="container" value="vig-servers"/>
+ <xml-property name="uriTemplate" value="/vig-servers/vig-server/{vig-address-type}"/>
+ <xml-property name="requiredProps" value="vig-address-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="IpsecConfigurations">
+ <xml-root-element name="ipsec-configurations"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipsecConfiguration" name="ipsec-configuration" type="inventory.aai.onap.org.v12.IpsecConfiguration"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IpsecConfiguration">
+ <xml-root-element name="ipsec-configuration"/>
+ <java-attributes>
+ <xml-element java-attribute="ipsecConfigurationId" name="ipsec-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of this configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedVigAddressType" name="requested-vig-address-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicate the type of VIG server like AVPN, INTERNET, BOTH"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedEncryptionStrength" name="requested-encryption-strength" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encryption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedDmzType" name="requested-dmz-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ATT can offer a shared DMZ or a DMZ specific to a customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sharedDmzNetworkAddress" name="shared-dmz-network-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network address of shared DMZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedCustomerName" name="requested-customer-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="If the DMZ is a custom DMZ, this field will indicate the customer information"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikeVersion" name="ike-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="can be 1 or 2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1Authentication" name="ikev1-authentication" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contains values like md5, sha1, sha256, sha384"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1Encryption" name="ikev1-encryption" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1DhGroup" name="ikev1-dh-group" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Diffie-Hellman group like DH-GROUP2, DH-GROUP5, DH-GROUP14"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1AmGroupId" name="ikev1-am-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group name defined in VIG for clients using aggressive mode"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1AmPassword" name="ikev1-am-password" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="pre-shared key for the above group name "/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1SaLifetime" name="ikev1-sa-lifetime" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Lifetime for IKEv1 SA"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecAuthentication" name="ipsec-authentication" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="md5, sha1, sha256, sha384"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecEncryption" name="ipsec-encryption" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecSaLifetime" name="ipsec-sa-lifetime" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Life time for IPSec SA"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecPfs" name="ipsec-pfs" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="enable PFS or not"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="xauthUserId" name="xauth-userid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="user ID for xAuth, sm-user,ucpeHostName,nmteHostName"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="xauthUserPassword" name="xauth-user-password" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encrypted using the Juniper $9$ algorithm"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dpdInterval" name="dpd-interval" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The time between DPD probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dpdFrequency" name="dpd-frequency" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Maximum number of DPD before claiming the tunnel is down"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.onap.org.v12.VigServers"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C"/>
+ <xml-property name="indexedProps" value="ipsec-configuration-id"/>
+ <xml-property name="uniqueProps" value="ipsec-configuration-id"/>
+ <xml-property name="container" value="ipsec-configurations"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}"/>
+ <xml-property name="requiredProps" value="ipsec-configuration-id"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="NotificationEvent">
+ <xml-root-element name="notification-event"/>
+ <java-attributes>
+ <xml-element java-attribute="cambriaPartition" name="cambria.partition" type="java.lang.String"/>
+ <xml-element java-attribute="eventHeader" name="event-header" type="inventory.aai.onap.org.v12.NotificationEventHeader"/>
+ <xml-any-element java-attribute="entity"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="NotificationEventHeader">
+ <xml-root-element name="notification-event-header"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" type="java.lang.String"/>
+ <xml-element java-attribute="timestamp" name="timestamp" type="java.lang.String"/>
+ <xml-element java-attribute="sourceName" name="source-name" type="java.lang.String"/>
+ <xml-element java-attribute="domain" name="domain" type="java.lang.String"/>
+ <xml-element java-attribute="sequenceNumber" name="sequence-number" type="java.lang.String"/>
+ <xml-element java-attribute="severity" name="severity" type="java.lang.String"/>
+ <xml-element java-attribute="eventType" name="event-type" type="java.lang.String"/>
+ <xml-element java-attribute="version" name="version" type="java.lang.String"/>
+ <xml-element java-attribute="action" name="action" type="java.lang.String"/>
+ <xml-element java-attribute="entityType" name="entity-type" type="java.lang.String"/>
+ <xml-element java-attribute="topEntityType" name="top-entity-type" type="java.lang.String"/>
+ <xml-element java-attribute="entityLink" name="entity-link" type="java.lang.String"/>
+ <xml-element java-attribute="status" name="status" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="AaiInternal">
+ <xml-root-element name="aai-internal"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="reservedPropNames" name="reserved-prop-names" type="inventory.aai.onap.org.v12.ReservedPropNames"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.onap.org.v12.EdgePropNames"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="ReservedPropNames">
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define some reserved properties of a vertex"/>
+ <xml-property name="uniqueProps" value="aai-unique-key,aai-uri,aai-uuid"/>
+ <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type,aai-uri,aai-uuid"/>
+ </xml-properties>
+ <xml-root-element name="reserved-prop-names"/>
+ <java-attributes>
+ <xml-element java-attribute="lastModSourceOfTruth" name="last-mod-source-of-truth" type="java.lang.String"/>
+ <xml-element java-attribute="aaiNodeType" name="aai-node-type" type="java.lang.String"/>
+ <xml-element java-attribute="aaiCreatedTs" name="aai-created-ts" type="java.lang.Long"/>
+ <xml-element java-attribute="aaiUniqueKey" name="aai-unique-key" type="java.lang.String"/>
+ <xml-element java-attribute="aaiLastModTs" name="aai-last-mod-ts" type="java.lang.Long"/>
+ <xml-element java-attribute="sourceOfTruth" name="source-of-truth" type="java.lang.String"/>
+ <xml-element java-attribute="aaiUri" name="aai-uri" type="java.lang.String"/>
+ <xml-element java-attribute="aaiUuid" name="aai-uuid" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="EdgePropNames">
+ <!-- NOTE that the names of these properties are not consistent and are in mixed case and hyphen case for now -->
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define the properties of an edge and interpret the map EdgeRules"/>
+ <xml-property name="edgeInfo" value="aaiUuid,edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV"/>
+ <xml-property name="uniqueProps" value="aai-uuid"/>
+ <xml-property name="indexedProps" value="aai-uuid"/>
+ </xml-properties>
+ <xml-root-element name="edge-prop-names"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeLabel" name="edgeLabel" type="java.lang.String"/>
+ <xml-element java-attribute="direction" name="direction" type="java.lang.String"/>
+ <xml-element java-attribute="multiplicityRule" name="multiplicityRule" type="java.lang.String"/>
+ <xml-element java-attribute="containsOtherV" name="contains-other-v" type="java.lang.String"/>
+ <xml-element java-attribute="deleteOtherV" name="delete-other-v" type="java.lang.String"/>
+ <xml-element java-attribute="svcinfra" name="SVC-INFRA" type="java.lang.String"/>
+ <xml-element java-attribute="preventDelete" name="prevent-delete" type="java.lang.String"/>
+ <xml-element java-attribute="aaiUuid" name="aai-uuid" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Models">
+ <xml-properties>
+ <xml-property name="description" value="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models"/>
+ </xml-properties>
+ <xml-root-element name="models"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="model" name="model" type="inventory.aai.onap.org.v12.Model"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Model">
+ <xml-root-element name="model"/>
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version"/>
+ <xml-property name="nameProps" value="model-type"/>
+ <xml-property name="indexedProps" value="model-invariant-id,model-type"/>
+ <xml-property name="uniqueProps" value="model-invariant-id"/>
+ <xml-property name="container" value="models"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/models/model/{model-invariant-id}"/>
+ <xml-property name="requiredProps" value="model-invariant-id,model-type"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.onap.org.v12.ModelVers"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+
+ <java-type name="ModelVers">
+ <xml-root-element name="model-vers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelVer" name="model-ver" type="inventory.aai.onap.org.v12.ModelVer"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelVer">
+ <xml-root-element name="model-ver"/>
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models"/>
+ <xml-property name="nameProps" value="model-name"/>
+ <xml-property name="indexedProps" value="model-version-id,model-name,model-version,distribution-status"/>
+ <xml-property name="uniqueProps" value="model-version-id"/>
+ <xml-property name="container" value="model-vers"/>
+ <xml-property name="uriTemplate" value="/model-vers/model-ver/{model-version-id}"/>
+ <xml-property name="requiredProps" value="model-version-id,model-name,model-version"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the model, which can change from version to version."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="distributionStatus" name="distribution-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Distribution Status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v12.ModelElements"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v12.Metadata"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelElements">
+ <xml-root-element name="model-elements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelElement" name="model-element" type="inventory.aai.onap.org.v12.ModelElement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelElement">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model."/>
+ <xml-property name="uniqueProps" value="model-element-uuid"/>
+ <xml-property name="indexedProps" value="model-element-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="model-elements"/>
+ <xml-property name="uriTemplate" value="/model-elements/model-element/{model-element-uuid}"/>
+ <xml-property name="requiredProps" value="model-element-uuid,new-data-del-flag,cardinality"/>
+ </xml-properties>
+ <xml-root-element name="model-element"/>
+ <java-attributes>
+ <xml-element java-attribute="modelElementUuid" name="model-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="newDataDelFlag" name="new-data-del-flag" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates whether this element was created as part of instantiation from this model"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cardinality" name="cardinality" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="How many of this type of element are required/allowed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="linkagePoints" name="linkage-points" type="java.lang.String">
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v12.ModelElements">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelConstraints" name="model-constraints" type="inventory.aai.onap.org.v12.ModelConstraints">
+ <xml-properties>
+ <xml-property name="description" value="Describes new constraints on this model element that are not part of that model's definition"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelConstraints">
+ <xml-root-element name="model-constraints"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelConstraint" name="model-constraint" type="inventory.aai.onap.org.v12.ModelConstraint"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelConstraint">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="model-constraint-uuid"/>
+ <xml-property name="indexedProps" value="model-constraint-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="model-constraints"/>
+ <xml-property name="uriTemplate" value="/model-constraints/model-constraint/{model-constraint-uuid}"/>
+ <xml-property name="requiredProps" value="model-constraint-uuid,constrained-element-set-uuid-to-replace"/>
+ </xml-properties>
+ <xml-root-element name="model-constraint"/>
+ <java-attributes>
+ <xml-element java-attribute="modelConstraintUuid" name="model-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constrainedElementSetUuidToReplace" name="constrained-element-set-uuid-to-replace" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="constrainedElementSets" name="constrained-element-sets" type="inventory.aai.onap.org.v12.ConstrainedElementSets"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ConstrainedElementSets">
+ <xml-root-element name="constrained-element-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="constrainedElementSet" name="constrained-element-set" type="inventory.aai.onap.org.v12.ConstrainedElementSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ConstrainedElementSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="constrained-element-set-uuid"/>
+ <xml-property name="indexedProps" value="constrained-element-set-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="constrained-element-sets"/>
+ <xml-property name="uriTemplate" value="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}"/>
+ <xml-property name="requiredProps" value="constrained-element-set-uuid,constraint-type,check-type"/>
+ </xml-properties>
+ <xml-root-element name="constrained-element-set"/>
+ <java-attributes>
+ <xml-element java-attribute="constrainedElementSetUuid" name="constrained-element-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="checkType" name="check-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="elementChoiceSets" name="element-choice-sets" type="inventory.aai.onap.org.v12.ElementChoiceSets"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ElementChoiceSets">
+ <xml-root-element name="element-choice-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="elementChoiceSet" name="element-choice-set" type="inventory.aai.onap.org.v12.ElementChoiceSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ElementChoiceSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="element-choice-set-uuid"/>
+ <xml-property name="indexedProps" value="element-choice-set-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="element-choice-sets"/>
+ <xml-property name="uriTemplate" value="/element-choice-sets/element-choice-set/{element-choice-set-uuid}"/>
+ <xml-property name="requiredProps" value="element-choice-set-uuid,element-choice-set-name"/>
+ </xml-properties>
+ <xml-root-element name="element-choice-set"/>
+ <java-attributes>
+ <xml-element java-attribute="elementChoiceSetUuid" name="element-choice-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="elementChoiceSetName" name="element-choice-set-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="cardinality" name="cardinality" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v12.ModelElements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueries">
+ <xml-root-element name="named-queries"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQuery" name="named-query" type="inventory.aai.onap.org.v12.NamedQuery"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQuery">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="nameProps" value="named-query-name"/>
+ <xml-property name="uniqueProps" value="named-query-uuid"/>
+ <xml-property name="indexedProps" value="named-query-uuid,named-query-name"/>
+ <xml-property name="container" value="named-queries"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/named-queries/named-query/{named-query-uuid}"/>
+ <xml-property name="requiredProps" value="named-query-uuid,named-query-name,named-query-version"/>
+ </xml-properties>
+ <xml-root-element name="named-query"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQueryUuid" name="named-query-uuid" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="namedQueryName" name="named-query-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryVersion" name="named-query-version" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="requiredInputParams" name="required-input-param" type="java.lang.String">
+ <xml-element-wrapper name="required-input-params"/>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.onap.org.v12.NamedQueryElements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueryElements">
+ <xml-root-element name="named-query-elements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQueryElement" name="named-query-element" type="inventory.aai.onap.org.v12.NamedQueryElement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueryElement">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="named-query-element-uuid"/>
+ <xml-property name="indexedProps" value="named-query-element-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="named-query-elements"/>
+ <xml-property name="uriTemplate" value="/named-query-elements/named-query-element/{named-query-element-uuid}"/>
+ <xml-property name="requiredProps" value="named-query-element-uuid"/>
+ </xml-properties>
+ <xml-root-element name="named-query-element"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQueryElementUuid" name="named-query-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="propertyLimitDesc" name="property-limit-desc" type="java.lang.String"/>
+ <xml-element java-attribute="doNotOutput" name="do-not-output" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.onap.org.v12.NamedQueryElements"/>
+ <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.onap.org.v12.RelatedLookups"/>
+ <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.onap.org.v12.PropertyConstraints"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedLookups">
+ <xml-root-element name="related-lookups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedLookup" name="related-lookup" type="inventory.aai.onap.org.v12.RelatedLookup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedLookup">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="related-lookup-uuid"/>
+ <xml-property name="indexedProps" value="related-lookup-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="related-lookups"/>
+ <xml-property name="uriTemplate" value="/related-lookups/related-lookup/{related-lookup-uuid}"/>
+ <xml-property name="requiredProps" value="related-lookup-uuid,source-node-type,source-node-property,target-node-type,target-node-property"/>
+ </xml-properties>
+ <xml-root-element name="related-lookup"/>
+ <java-attributes>
+ <xml-element java-attribute="relatedLookupUuid" name="related-lookup-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceNodeType" name="source-node-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="sourceNodeProperty" name="source-node-property" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="targetNodeType" name="target-node-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="targetNodeProperty" name="target-node-property" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PropertyConstraints">
+ <xml-root-element name="property-constraints"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyConstraint" name="property-constraint" type="inventory.aai.onap.org.v12.PropertyConstraint"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PropertyConstraint">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="property-constraint-uuid"/>
+ <xml-property name="indexedProps" value="property-constraint-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="property-constraints"/>
+ <xml-property name="uriTemplate" value="/property-constraints/property-constraint/{property-constraint-uuid}"/>
+ <xml-property name="requiredProps" value="property-constraint-uuid,constraint-type,property-name,property-value"/>
+ </xml-properties>
+ <xml-root-element name="property-constraint"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyConstraintUuid" name="property-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="propertyName" name="property-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelAndNamedQuerySearch">
+ <xml-properties>
+ <xml-property name="description" value="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="model-and-named-query-search"/>
+ <java-attributes>
+ <xml-element java-attribute="queryParameters" name="query-parameters" type="inventory.aai.onap.org.v12.QueryParameters"/>
+ <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.onap.org.v12.InstanceFilters"/>
+ <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.onap.org.v12.SecondaryFilts"/>
+ <xml-element java-attribute="topNodeType" name="top-node-type" type="java.lang.String"/>
+ <xml-element java-attribute="secondaryFilterCutPoint" name="secondary-filter-cut-point" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="QueryParameters">
+ <xml-properties>
+ <xml-property name="description" value="QueryParameters for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="query-parameters"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQuery" name="named-query" type="inventory.aai.onap.org.v12.NamedQuery"/>
+ <xml-element java-attribute="model" name="model" type="inventory.aai.onap.org.v12.OverloadedModel"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OverloadedModel">
+ <xml-root-element name="overloaded-model"/>
+ <xml-properties>
+ <xml-property name="description" value="Allows for legacy POST of old-style and new-style models"/>
+ <xml-property name="requiredProps" value="model-invariant-id,model-name-version-id,model-type,model-name,model-id,model-version"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelNameVersionId" name="model-name-version-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the model, which can change from version to version."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelId" name="model-id" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Invariant unique ID which does not change from version to version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.onap.org.v12.ModelVers"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceFilters">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilters for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="instance-filters"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="instanceFilter" name="instance-filter" type="inventory.aai.onap.org.v12.InstanceFilter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceFilter">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilter for performing a named-query or model query"/>
+ <xml-property name="container" value="instance-filters"/>
+ </xml-properties>
+ <xml-root-element name="instance-filter"/>
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilts">
+ <xml-properties>
+ <xml-property name="description" value="SecondaryFilts for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="secondary-filts"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilt" name="secondary-filt" type="inventory.aai.onap.org.v12.SecondaryFilt"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilt">
+ <xml-properties>
+ <xml-property name="description" value="SecondaryFilt for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="secondary-filt"/>
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Properties">
+ <xml-properties>
+ <xml-property name="description" value="Property holder for query properties or instance properties"/>
+ </xml-properties>
+ <xml-root-element name="properties"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ResponseList">
+ <xml-properties>
+ <xml-property name="description" value="Response container for the results of a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="response-list"/>
+ <java-attributes>
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v12.InventoryResponseItems"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryResponseItems">
+ <xml-properties>
+ <xml-property name="description" value="Container for inventory items in response list"/>
+ <xml-property name="container" value="response-list"/>
+ </xml-properties>
+ <xml-root-element name="inventory-response-items"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryResponseItem" name="inventory-response-item" type="inventory.aai.onap.org.v12.InventoryResponseItem"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryResponseItem">
+ <xml-properties>
+ <xml-property name="description" value="Inventory item for response list"/>
+ <xml-property name="container" value="inventory-response-items"/>
+ </xml-properties>
+ <xml-root-element name="inventory-response-item"/>
+ <java-attributes>
+ <xml-element java-attribute="modelName" name="model-name" type="java.lang.String"/>
+ <xml-any-element java-attribute="item"/>
+ <xml-element java-attribute="extraProperties" name="extra-properties" type="inventory.aai.onap.org.v12.ExtraProperties"/>
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v12.InventoryResponseItems"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExtraProperties">
+ <xml-properties>
+ <xml-property name="description" value="Extra properties for inventory item for response list"/>
+ </xml-properties>
+ <xml-root-element name="extra-properties"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="extraProperty" name="extra-property" type="inventory.aai.onap.org.v12.ExtraProperty"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExtraProperty">
+ <xml-root-element name="extra-property"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RouteTableReferences">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack route table references"/>
+ </xml-properties>
+ <xml-root-element name="route-table-references"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routeTableReference" name="route-table-reference" type="inventory.aai.onap.org.v12.RouteTableReference"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RouteTableReference">
+ <xml-root-element name="route-table-reference"/>
+ <java-attributes>
+ <xml-element java-attribute="routeTableReferenceId" name="route-table-reference-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTableReferenceFqdn" name="route-table-reference-fqdn" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="FQDN entry in the route table."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Openstack route table reference."/>
+ <xml-property name="nameProps" value="route-table-reference-fqdn"/>
+ <xml-property name="uniqueProps" value="route-table-reference-id"/>
+ <xml-property name="indexedProps" value="route-table-reference-id,route-table-reference-fqdn"/>
+ <xml-property name="container" value="route-table-references"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/route-table-references/route-table-reference/{route-table-reference-id}"/>
+ <xml-property name="requiredProps" value="route-table-reference-id,route-table-reference-fqdn"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="InstanceGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack route table references"/>
+ </xml-properties>
+ <xml-root-element name="instance-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="instanceGroup" name="instance-group" type="inventory.aai.onap.org.v12.InstanceGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceGroup">
+ <xml-root-element name="instance-group"/>
+ <java-attributes>
+ <xml-element java-attribute="instanceGroupRole" name="instance-group-role" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="role of the instance group."/>
+ </xml-properties>
+ </xml-element>
+
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+
+ <xml-element java-attribute="modelVersionId" name="model-version-id" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ASDC model version uid for this resource model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Instance Group ID, UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Descriptive text to help identify the usage of this instance-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="type" name="type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Only valid value today is lower case ha for high availability"/>
+ <xml-property name="dbAlias" value="instance-group-type"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subType" name="sub-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Valid values for ha type are [geo-activeactive, geo-activestandby, local-activeactive, local-activestandby]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="General mechanism for grouping instances"/>
+ <xml-property name="nameProps" value="description"/>
+ <xml-property name="uniqueProps" value="id"/>
+ <xml-property name="searchable" value="id,description"/>
+ <xml-property name="indexedProps" value="id,description,type,sub-type"/>
+ <xml-property name="container" value="instance-groups"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/instance-groups/instance-group/{id}"/>
+ <xml-property name="requiredProps" value="id,description,type"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="SegmentationAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack segmentation assignments"/>
+ </xml-properties>
+ <xml-root-element name="segmentation-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.onap.org.v12.SegmentationAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SegmentationAssignment">
+ <xml-root-element name="segmentation-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack segmentation assignment."/>
+ <xml-property name="indexedProps" value="segmentation-id"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="segmentation-assignments"/>
+ <xml-property name="uriTemplate" value="/segmentation-assignments/segmentation-assignment/{segmentation-id}"/>
+ <xml-property name="requiredProps" value="segmentation-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="AllottedResources">
+ <xml-properties>
+ <xml-property name="description" value="This object is used to store slices of services being offered"/>
+ </xml-properties>
+ <xml-root-element name="allotted-resources"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="allottedResource" name="allotted-resource" type="inventory.aai.onap.org.v12.AllottedResource"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AllottedResource">
+ <xml-root-element name="allotted-resource"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Allotted Resource id UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The descriptive information assigned to this allotted resource instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Link back to more information in the controller"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="type" name="type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Generic description of the type of allotted resource."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="role" name="role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="role in the network that this resource will be providing."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tunnelXconnects" name="tunnel-xconnects" type="inventory.aai.onap.org.v12.TunnelXconnects"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Represents a slice or partial piece of a resource that gets separately allotted"/>
+ <xml-property name="nameProps" value="description"/>
+ <xml-property name="uniqueProps" value="id"/>
+ <xml-property name="indexedProps" value="id,model-invariant-id,model-version-id,type,role"/>
+ <xml-property name="dependentOn" value="service-instance"/>
+ <xml-property name="container" value="allotted-resources"/>
+ <!-- <xml-property name="namespace" value="network" /> -->
+ <xml-property name="uriTemplate" value="/allotted-resources/allotted-resource/{id}"/>
+ <xml-property name="requiredProps" value="id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="TunnelXconnects">
+ <xml-properties>
+ <xml-property name="description" value="This object is used to store the specific tunnel cross connect aspects of an allotted resource"/>
+ </xml-properties>
+ <xml-root-element name="tunnel-xconnects"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tunnelXconnect" name="tunnel-xconnect" type="inventory.aai.onap.org.v12.TunnelXconnect"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="TunnelXconnect">
+ <xml-root-element name="tunnel-xconnect"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Allotted Resource id UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN uplink bandwidth for WAN1"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN downlink bandwidth for WAN1"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN uplink bandwidth for WAN2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN downlink bandwidth for WAN2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted"/>
+ <xml-property name="uniqueProps" value="id"/>
+ <xml-property name="indexedProps" value="id"/>
+ <xml-property name="dependentOn" value="allotted-resource"/>
+ <xml-property name="container" value="tunnel-xconnects"/>
+ <!-- <xml-property name="namespace" value="network" /> -->
+ <xml-property name="uriTemplate" value="/tunnel-xconnects/tunnel-xconnect/{id}"/>
+ <xml-property name="requiredProps" value="id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Entitlements">
+ <xml-properties>
+ <xml-property name="description" value="Entitlements, keyed by group-uuid and resource-uuid, related to license management"/>
+ </xml-properties>
+ <xml-root-element name="entitlements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="entitlement" name="entitlement" type="inventory.aai.onap.org.v12.Entitlement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Entitlement">
+ <xml-root-element name="entitlement"/>
+ <java-attributes>
+ <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for the entitlement group the resource comes from, should be uuid."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of an entitlement resource. "/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Metadata for entitlement group."/>
+ <xml-property name="indexedProps" value="group-uuid,resource-uuid"/>
+ <xml-property name="dependentOn" value="generic-vnf,vce"/>
+ <xml-property name="container" value="entitlements"/>
+ <xml-property name="uriTemplate" value="/entitlements/entitlement/{group-uuid}/{resource-uuid}"/>
+ <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="Licenses">
+ <xml-properties>
+ <xml-property name="description" value="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management"/>
+ </xml-properties>
+ <xml-root-element name="licenses"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="license" name="license" type="inventory.aai.onap.org.v12.License"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="License">
+ <xml-root-element name="license"/>
+ <java-attributes>
+ <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for the license group the resource belongs to, should be uuid."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of a license resource. "/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Metadata for license group."/>
+ <xml-property name="indexedProps" value="group-uuid,resource-uuid"/>
+ <xml-property name="dependentOn" value="generic-vnf,vce"/>
+ <xml-property name="container" value="licenses"/>
+ <xml-property name="uriTemplate" value="/licenses/license/{group-uuid}/{resource-uuid}"/>
+ <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vnf">
+ <xml-root-element name="vnf"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Abstract vnf class"/>
+ <xml-property name="indexedProps" value="vnf-id"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="inheritors" value="vce,generic-vnf"/>
+ <xml-property name="abstract" value="true"/>
+ <xml-property name="requiredProps" value="vnf-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Zones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of zones"/>
+ </xml-properties>
+ <xml-root-element name="zones"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="zone" name="zone" type="inventory.aai.onap.org.v12.Zone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Zone">
+ <xml-root-element name="zone"/>
+ <java-attributes>
+ <xml-element java-attribute="zoneId" name="zone-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Code assigned by AIC to the zone"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="zoneName" name="zone-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="English name associated with the zone"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="designType" name="design-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Design of zone [Medium/Large…]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="zoneContext" name="zone-context" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Context of zone [production/test]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="status" name="status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Status of a zone."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="A zone is a grouping of assets in a location homing to the same connections into the CBB"/>
+ <xml-property name="nameProps" value="zone-name"/>
+ <xml-property name="indexedProps" value="zone-id,design-type,zone-context"/>
+ <xml-property name="uniqueProps" value="zone-id"/>
+ <xml-property name="container" value="zones"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/zones/zone/{zone-id}"/>
+ <xml-property name="requiredProps" value="zone-id,zone-name,design-type,zone-context"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="RouteTargets">
+ <xml-properties>
+ <xml-property name="description" value="Collection of route target information"/>
+ </xml-properties>
+ <xml-root-element name="route-targets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routeTarget" name="route-target" type="inventory.aai.onap.org.v12.RouteTarget"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="RouteTarget">
+ <xml-root-element name="route-target"/>
+ <java-attributes>
+ <xml-element java-attribute="globalRouteTarget" name="global-route-target" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Number used to identify an RT, globally unique in the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTargetRole" name="route-target-role" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this route target"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Route target information"/>
+ <xml-property name="container" value="route-targets"/>
+ <xml-property name="dependentOn" value="vpn-binding"/>
+ <xml-property name="canBeLinked" value="true"/>
+ <xml-property name="uriTemplate" value="/route-targets/route-target/{global-route-target}/{route-target-role}"/>
+ <xml-property name="requiredProps" value="global-route-target,route-target-role"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SriovPfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of SR-IOV Physical Functions."/>
+ </xml-properties>
+ <xml-root-element name="sriov-pfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sriovPf" name="sriov-pf" type="inventory.aai.onap.org.v12.SriovPf"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="SriovPf">
+ <xml-root-element name="sriov-pf"/>
+ <java-attributes>
+ <xml-element java-attribute="pfPciId" name="pf-pci-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifier for the sriov-pf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="SR-IOV Physical Function"/>
+ <xml-property name="indexedProps" value="pf-pci-id"/>
+ <xml-property name="dependentOn" value="p-interface"/>
+ <xml-property name="container" value="sriov-pfs"/>
+ <xml-property name="uriTemplate" value="/sriov-pfs/sriov-pf/{pf-pci-id}"/>
+ <xml-property name="requiredProps" value="pf-pci-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="HostRoutes">
+ <xml-root-element name="host-routes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="hostRoute" name="host-route" type="inventory.aai.onap.org.v12.HostRoute"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="HostRoute">
+ <xml-root-element name="host-route"/>
+ <java-attributes>
+ <xml-element java-attribute="hostRouteId" name="host-route-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="host-route id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routePrefix" name="route-prefix" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="subnet prefix"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nextHop" name="next-hop" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Could be ip-address, hostname, or service-instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nextHopType" name="next-hop-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Should be ip-address, hostname, or service-instance to match next-hop"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="host-route-id"/>
+ <xml-property name="dependentOn" value="subnet"/>
+ <xml-property name="container" value="host-routes"/>
+ <xml-property name="uriTemplate" value="/host-routes/host-route/{host-route-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VipIpv4AddressList">
+ <xml-root-element name="vip-ipv4-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="vipIpv4Address" name="vip-ipv4-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vipIpv4PrefixLength" name="vip-ipv4-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 32 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv4 Address Range"/>
+ <xml-property name="indexedProps" value="vip-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="uriTemplate" value="/vip-ipv4-address-list/{vip-ipv4-address}"/>
+ <xml-property name="requiredProps" value="vip-ipv4-address"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VipIpv6AddressList">
+ <xml-root-element name="vip-ipv6-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="vipIpv6Address" name="vip-ipv6-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vipIpv6PrefixLength" name="vip-ipv6-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 128 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv6 Address Range"/>
+ <xml-property name="indexedProps" value="vip-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="uriTemplate" value="/vip-ipv6-address-list/{vip-ipv6-address}"/>
+ <xml-property name="requiredProps" value="vip-ipv6-address"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="OperationalEnvironments">
+ <xml-properties>
+ <xml-property name="description" value="a logical partition of the cloud which allows to have multiple environments in the production AIC."/>
+ </xml-properties>
+ <xml-root-element name="operational-environments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="operationalEnvironment" name="operational-environment" type="inventory.aai.onap.org.v12.OperationalEnvironment"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="OperationalEnvironment">
+ <xml-root-element name="operational-environment"/>
+ <java-attributes>
+ <xml-element java-attribute="operationalEnvironmentId" name="operational-environment-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of an operational environment"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalEnvironmentName" name="operational-environment-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operational Environment name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalEnvironmentType" name="operational-environment-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operational Environment Type."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalEnvironmentStatus" name="operational-environment-status" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tenantContext" name="tenant-context" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Tenant Context."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="workloadContext" name="workload-context" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Workload Context."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="It is a logical partition of the cloud which allows to have multiple environments in the production AIC."/>
+ <xml-property name="indexedProps" value="operational-environment-id"/>
+ <xml-property name="nameProps" value="operational-environment-name"/>
+ <xml-property name="uniqueProps" value="operational-environment-id"/>
+ <xml-property name="container" value="operational-environments"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/operational-environments/operational-environment/{operational-environment-id}"/>
+ <xml-property name="requiredProps" value="operational-environment-id,operational-environment-name,operational-environment-type,operational-environment-status,tenant-context,workload-context"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ForwardingPaths">
+ <xml-root-element name="forwarding-paths"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="forwardingPath" name="forwarding-path" type="inventory.aai.onap.org.v12.ForwardingPath"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ForwardingPath">
+ <xml-root-element name="forwarding-path"/>
+ <xml-properties>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="indexedProps" value="forwarding-path-id,forwarding-path-name"/>
+ <xml-property name="description" value="Entity that describes the sequenced forwarding path between interfaces of services or resources"/>
+ <xml-property name="container" value="forwarding-paths"/>
+ <xml-property name="nameProps" value="forwarding-path-name"/>
+ <xml-property name="uniqueProps" value="forwarding-path-id"/>
+ <xml-property name="uriTemplate" value="/network/forwarding-paths/forwarding-path/{forwarding-path-id}"/>
+ <xml-property name="requiredProps" value="forwarding-path-id,forwarding-path-name"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="forwardingPathId" name="forwarding-path-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of this FP"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="forwardingPathName" name="forwarding-path-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the FP"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the self link for this FP"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="forwarders" name="forwarders" type="inventory.aai.onap.org.v12.Forwarders"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Forwarders">
+ <xml-root-element name="forwarders"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="forwarder" name="forwarder" type="inventory.aai.onap.org.v12.Forwarder"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Forwarder">
+ <xml-root-element name="forwarder"/>
+ <xml-properties>
+ <xml-property name="indexedProps" value="sequence"/>
+ <xml-property name="description" value="Entity describing a sequenced segment of forwarding path"/>
+ <xml-property name="container" value="forwarders"/>
+ <xml-property name="dependentOn" value="forwarding-path"/>
+ <xml-property name="uriTemplate" value="/forwarders/forwarder/{sequence}"/>
+ <xml-property name="requiredProps" value="sequence"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="sequence" name="sequence" required="true" type="java.lang.Integer" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of this segmentation"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="forwarderRole" name="forwarder-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ingress, intermediate, egress"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ForwarderEvcs">
+ <xml-root-element name="forwarder-evcs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="forwarderEvc" name="forwarder-evc" type="inventory.aai.onap.org.v12.ForwarderEvc"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ForwarderEvc">
+ <xml-root-element name="forwarder-evc"/>
+ <java-attributes>
+ <xml-element java-attribute="forwarderEvcId" name="forwarder-evc-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Key for forwarder-evc object"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Circuit ID from customer/ESP/ingress end of EVC, or reference to beater circuit on gateway/network/egress end of EVC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ivlan" name="ivlan" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Internal VLAN."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="svlan" name="svlan" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="SVLAN value for ingress of egress forwarder."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlan" name="cvlan" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CVLAN value for ingress of egress forwarder."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="forwarder object is an optional child object of the Configuration object."/>
+ <xml-property name="dependentOn" value="configuration"/>
+ <xml-property name="uniqueProps" value="forwarder-evc-id"/>
+ <xml-property name="container" value="forwarder-evcs"/>
+ <xml-property name="uriTemplate" value="/forwarder-evcs/forwarder-evc/{forwarder-evc-id}"/>
+ <xml-property name="requiredProps" value="forwarder-evc-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Evcs">
+ <xml-root-element name="evcs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="evc" name="evc" type="inventory.aai.onap.org.v12.Evc"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Evc">
+ <xml-root-element name="evc"/>
+ <java-attributes>
+ <xml-element java-attribute="evcId" name="evc-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique/key field for the evc object"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="forwardingPathTopology" name="forwarding-path-topology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Point-to-Point, Multi-Point"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cirValue" name="cir-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Commited Information Rate"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cirUnits" name="cir-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CIR units"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="connectionDiversityGroupId" name="connection-diversity-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Diversity Group ID"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceHours" name="service-hours" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="formerly Performance Group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="espEvcCircuitId" name="esp-evc-circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="EVC Circuit ID of ESP EVC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="espEvcCirValue" name="esp-evc-cir-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Committed Information Rate (For ESP)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="espEvcCirUnits" name="esp-evc-cir-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CIR units (For ESP)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="espItuCode" name="esp-itu-code" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Identifies ESP"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="collectorPopClli" name="collector-pop-clli" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Collector POP CLLI (from the hostname of the access pnf)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interConnectTypeIngress" name="inter-connect-type-ingress" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Interconnect type on ingress side of EVC."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tagmodeAccessIngress" name="tagmode-access-ingress" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="tagode for collector side of EVC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tagmodeAccessEgress" name="tagmode-access-egress" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="tagMode for network side of EVC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="evc object is an optional child object of the Configuration object."/>
+ <xml-property name="dependentOn" value="configuration"/>
+ <xml-property name="uniqueProps" value="evc-id"/>
+ <xml-property name="container" value="evcs"/>
+ <xml-property name="uriTemplate" value="/evcs/evc/{evc-id}"/>
+ <xml-property name="requiredProps" value="evc-id"/>
+ </xml-properties>
+ </java-type>
+
+ </java-types>
+</xml-bindings>
diff --git a/aai-core/src/test/resources/onap/oxm/v13/aai_oxm_v13.xml b/aai-core/src/test/resources/onap/oxm/v13/aai_oxm_v13.xml
new file mode 100644
index 00000000..1a20b993
--- /dev/null
+++ b/aai-core/src/test/resources/onap/oxm/v13/aai_oxm_v13.xml
@@ -0,0 +1,7061 @@
+<!--
+ ============LICENSE_START=======================================================
+ org.onap.aai
+ ================================================================================
+ Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ============LICENSE_END=========================================================
+ -->
+ <xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v13" xml-mapping-metadata-complete="true">
+ <xml-schema element-form-default="QUALIFIED">
+ <xml-ns namespace-uri="http://org.onap.aai.inventory/v13"/>
+ </xml-schema>
+ <java-types>
+ <java-type name="Inventory">
+ <xml-root-element name="inventory"/>
+ <java-attributes>
+ <xml-element java-attribute="search" name="search" type="inventory.aai.onap.org.v13.Search"/>
+ <xml-element java-attribute="actions" name="actions" type="inventory.aai.onap.org.v13.Actions"/>
+ <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.onap.org.v13.CloudInfrastructure"/>
+ <xml-element java-attribute="externalSystem" name="external-system" type="inventory.aai.onap.org.v13.ExternalSystem"/>
+ <xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v13.Business"/>
+ <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.onap.org.v13.ServiceDesignAndCreation"/>
+ <xml-element java-attribute="network" name="network" type="inventory.aai.onap.org.v13.Network"/>
+ <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.onap.org.v13.AaiInternal"/>
+ <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.onap.org.v13.Nodes"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Nodes">
+ <xml-root-element name="nodes"/>
+ </java-type>
+ <java-type name="Search">
+ <xml-root-element name="search"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeTagQueryResult" name="edge-tag-query-result" type="inventory.aai.onap.org.v13.EdgeTagQueryResult"/>
+ <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.onap.org.v13.EdgeTagQueryRequest"/>
+ <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.onap.org.v13.SearchResults"/>
+ <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.onap.org.v13.SdnZoneResponse"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EdgeTagQueryResult">
+ <xml-root-element name="edge-tag-query-result"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v13.TaggedInventoryItemList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="TaggedInventoryItemList">
+ <xml-root-element name="tagged-inventory-item-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItem" name="inventory-item" type="inventory.aai.onap.org.v13.InventoryItem"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryItem">
+ <xml-root-element name="inventory-item"/>
+ <java-attributes>
+ <xml-element java-attribute="inventoryItemType" name="inventory-item-type" type="java.lang.String"/>
+ <xml-element java-attribute="inventoryItemLink" name="inventory-item-link" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItemData" name="inventory-item-data" type="inventory.aai.onap.org.v13.InventoryItemData"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v13.TaggedInventoryItemList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryItemData">
+ <xml-root-element name="inventory-item-data"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EdgeTagQueryRequest">
+ <xml-root-element name="edge-tag-query-request"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeTag" name="edge-tag" type="java.lang.String"/>
+ <xml-element java-attribute="resultDetail" name="result-detail" type="java.lang.String"/>
+ <xml-element java-attribute="startNodeType" name="start-node-type" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="startNodeFilter" name="start-node-filter" type="inventory.aai.onap.org.v13.StartNodeFilter"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.onap.org.v13.IncludeNodeFilter"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.onap.org.v13.SecondaryFilter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="StartNodeFilter">
+ <xml-root-element name="start-node-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IncludeNodeFilter">
+ <xml-root-element name="include-node-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="includeNodeType" name="include-node-type" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilter">
+ <xml-root-element name="secondary-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="filterType" name="filter-type" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SearchResults">
+ <xml-root-element name="search-results"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="resultData" name="result-data" type="inventory.aai.onap.org.v13.ResultData"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ResultData">
+ <xml-root-element name="result-data"/>
+ <java-attributes>
+ <xml-element java-attribute="resourceType" name="resource-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The specific type of node in the A&amp;AI graph"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceLink" name="resource-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The URL to the specific resource"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SdnZoneResponse">
+ <xml-root-element name="sdn-zone-response"/>
+ <java-attributes>
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v13.OamNetworks"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.onap.org.v13.AzAndDvsSwitches"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AzAndDvsSwitches">
+ <xml-root-element name="az-and-dvs-switches"/>
+ <java-attributes>
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v13.DvsSwitches"/>
+ <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v13.AvailabilityZone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Actions">
+ <xml-properties>
+ <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)."/>
+ </xml-properties>
+ <xml-root-element name="actions"/>
+ <java-attributes>
+ <xml-element java-attribute="update" name="update" type="inventory.aai.onap.org.v13.Update"/>
+ <xml-element java-attribute="notify" name="notify" type="inventory.aai.onap.org.v13.Notify"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Update">
+ <xml-properties>
+ <xml-property name="description" value="Serves a PATCH like function. Does not enforce concurrency control. Clear each usage with AAI team."/>
+ <xml-property name="requiredProps" value="update-node-type"/>
+ </xml-properties>
+ <xml-root-element name="update"/>
+ <java-attributes>
+ <xml-element java-attribute="updateNodeType" name="update-node-type" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="updateNodeKey" name="update-node-key" type="inventory.aai.onap.org.v13.UpdateNodeKey"/>
+ <xml-element java-attribute="updateNodeUri" name="update-node-uri" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="action" name="action" type="inventory.aai.onap.org.v13.Action"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Action">
+ <xml-root-element name="action"/>
+ <java-attributes>
+ <xml-element java-attribute="actionType" name="action-type" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="actionData" name="action-data" type="inventory.aai.onap.org.v13.ActionData"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ActionData">
+ <xml-root-element name="action-data"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="UpdateNodeKey">
+ <xml-root-element name="update-node-key"/>
+ <java-attributes>
+ <xml-element java-attribute="keyName" name="key-name" type="java.lang.String"/>
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Notify">
+ <xml-root-element name="notify"/>
+ <java-attributes>
+ <xml-element java-attribute="eventId" name="event-id" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="nodeType" name="node-type" type="java.lang.String"/>
+ <xml-element java-attribute="eventTrigger" name="event-trigger" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="keyData" name="key-data" type="inventory.aai.onap.org.v13.KeyData"/>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="KeyData">
+ <xml-root-element name="key-data"/>
+ <java-attributes>
+ <xml-element java-attribute="keyName" name="key-name" type="java.lang.String"/>
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExternalSystem">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for external system."/>
+ </xml-properties>
+ <xml-root-element name="external-system"/>
+ <java-attributes>
+ <xml-element java-attribute="esrEmsList" name="esr-ems-list" type="inventory.aai.onap.org.v13.EsrEmsList"/>
+ <xml-element java-attribute="esrVnfmList" name="esr-vnfm-list" type="inventory.aai.onap.org.v13.EsrVnfmList"/>
+ <xml-element java-attribute="esrThirdpartySdncList" name="esr-thirdparty-sdnc-list" type="inventory.aai.onap.org.v13.EsrThirdpartySdncList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EsrEmsList">
+ <xml-root-element name="esr-ems-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="esrEms" name="esr-ems" type="inventory.aai.onap.org.v13.EsrEms"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrEms">
+ <xml-root-element name="esr-ems"/>
+ <java-attributes>
+ <xml-element java-attribute="emsId" name="ems-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of EMS."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v13.EsrSystemInfoList"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persist EMS address information used by EMS driver."/>
+ <xml-property name="indexedProps" value="ems-id"/>
+ <xml-property name="searchable" value="ems-id"/>
+ <xml-property name="container" value="esr-ems-list"/>
+ <xml-property name="namespace" value="external-system"/>
+ <xml-property name="requiredProps" value="ems-id"/>
+ <xml-property name="uriTemplate" value="/external-system/esr-ems-list/esr-ems/{ems-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrVnfmList">
+ <xml-root-element name="esr-vnfm-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="esrVnfm" name="esr-vnfm" type="inventory.aai.onap.org.v13.EsrVnfm"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrVnfm">
+ <xml-root-element name="esr-vnfm"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfmId" name="vnfm-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of VNFM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vimId" name="vim-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indecate the VIM to deploy VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="certificateUrl" name="certificate-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="certificate url of VNFM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v13.EsrSystemInfoList"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persist VNFM address information used by VF-C."/>
+ <xml-property name="indexedProps" value="vnfm-id"/>
+ <xml-property name="searchable" value="vnfm-id"/>
+ <xml-property name="container" value="esr-vnfm-list"/>
+ <xml-property name="namespace" value="external-system"/>
+ <xml-property name="requiredProps" value="vnfm-id"/>
+ <xml-property name="uriTemplate" value="/external-system/esr-vnfm-list/esr-vnfm/{vnfm-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrThirdpartySdncList">
+ <xml-root-element name="esr-thirdparty-sdnc-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="esrThirdpartySdnc" name="esr-thirdparty-sdnc" type="inventory.aai.onap.org.v13.EsrThirdpartySdnc"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrThirdpartySdnc">
+ <xml-root-element name="esr-thirdparty-sdnc"/>
+ <java-attributes>
+ <xml-element java-attribute="thirdpartySdncId" name="thirdparty-sdnc-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of SDNC."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="location" name="location" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="used for DC type to indicate the location of SDNC, such as Core or Edge."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="productName" name="product-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="password used to access SDNC server."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v13.EsrSystemInfoList"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persist SDNC address information used by ONAP SDNC."/>
+ <xml-property name="indexedProps" value="sdnc-id"/>
+ <xml-property name="searchable" value="sdnc-id"/>
+ <xml-property name="container" value="esr-thirdparty-sdnc-list"/>
+ <xml-property name="namespace" value="external-system"/>
+ <xml-property name="requiredProps" value="thirdparty-sdnc-id"/>
+ <xml-property name="uriTemplate" value="/external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/{thirdparty-sdnc-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrSystemInfoList">
+ <xml-root-element name="esr-system-info-list"/>
+ <xml-properties>
+ <xml-property name="description" value="Collection of persistent block-level external system auth info."/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="esrSystemInfo" name="esr-system-info" type="inventory.aai.onap.org.v13.EsrSystemInfo"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrSystemInfo">
+ <xml-root-element name="esr-system-info"/>
+ <java-attributes>
+ <xml-element java-attribute="esrSystemInfoId" name="esr-system-info-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of esr system info."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="systemName" name="system-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="name of external system."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="type" name="type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="type of external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vendor" name="vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="vendor of external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="version" name="version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="version of external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceUrl" name="service-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="url used to access external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="userName" name="user-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="username used to access external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="password" name="password" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="password used to access external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="systemType" name="system-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="it could be vim/vnfm/thirdparty-sdnc/ems-resource/ems-performance/ems-alarm."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="protocol" name="protocol" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="protocol of third party SDNC, for example netconf/snmp."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sslCacert" name="ssl-cacert" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ca file content if enabled ssl on auth-url."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="sslInsecure" name="ssl-insecure" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Whether to verify VIM's certificate."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipAddress" name="ip-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="service IP of ftp server."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="port" name="port" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="service port of ftp server."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudDomain" name="cloud-domain" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="domain info for authentication."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="defaultTenant" name="default-tenant" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="default tenant of VIM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="passive" name="passive" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="ftp passive mode or not."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="remotepath" name="remote-path" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="resource or performance data file path."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="systemStatus" name="system-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the status of external system."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persist common address information of external systems."/>
+ <xml-property name="indexedProps" value="esr-system-info-id,system-name,system-type"/>
+ <xml-property name="searchable" value="esr-system-info-id,system-name,system-type"/>
+ <xml-property name="container" value="esr-system-info-list"/>
+ <xml-property name="dependentOn" value="cloud-region,esr-ems,esr-vnfm,esr-thirdparty-sdnc"/>
+ <xml-property name="requiredProps" value="esr-system-info-id,user-name,password,system-type"/>
+ <xml-property name="uriTemplate" value="/esr-system-info-list/esr-system-info/{esr-system-info-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="HpaCapabilities">
+ <xml-properties>
+ <xml-property name="description" value="Collection of HPA Capabilities"/>
+ </xml-properties>
+ <xml-root-element name="hpa-capabilities"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="hpaCapability" name="hpa-capability" type="inventory.aai.onap.org.v13.HpaCapability"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="HpaCapability">
+ <xml-root-element name="hpa-capability"/>
+ <java-attributes>
+ <xml-element java-attribute="hpaCapabilityId" name="hpa-capability-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID to uniquely identify a HPA capability"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hpaFeature" name="hpa-feature" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the HPACapability"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hpaVersion" name="hpa-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="HPA schema version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="architecture" name="architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Hardware architecture"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="hpaFeatureAttributes" name="hpa-feature-attributes" type="inventory.aai.onap.org.v13.HpaFeatureAttributes"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Represents a HPA capability"/>
+ <xml-property name="indexedProps" value="hpa-feature,architecture,hpa-capability-id"/>
+ <xml-property name="dependentOn" value="flavor,cloud-region"/>
+ <xml-property name="container" value="hpa-capabilities"/>
+ <xml-property name="requiredProps" value="hpa-capability-id,hpa-feature"/>
+ <xml-property name="uriTemplate" value="/hpa-capabilities/hpa-capability/{hpa-capability-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="HpaFeatureAttributes">
+ <xml-root-element name="hpa-feature-attributes"/>
+ <java-attributes>
+ <xml-element java-attribute="hpaAttributeKey" name="hpa-attribute-key" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="name of the specific HPA attribute"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hpaAttributeValue" name="hpa-attribute-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="JSON string specifying the value, unit and type of the specific HPA attribute"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="HPA Capability Feature attributes"/>
+ <xml-property name="indexedProps" value="hpa-attribute-key"/>
+ <xml-property name="dependentOn" value="hpa-capability"/>
+ <xml-property name="requiredProps" value="hpa-attribute-key"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CloudInfrastructure">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for cloud infrastructure."/>
+ </xml-properties>
+ <xml-root-element name="cloud-infrastructure"/>
+ <java-attributes>
+ <xml-element java-attribute="complexes" name="complexes" type="inventory.aai.onap.org.v13.Complexes"/>
+ <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.onap.org.v13.CloudRegions"/>
+ <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.onap.org.v13.NetworkProfiles"/>
+ <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.onap.org.v13.Pservers"/>
+ <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.onap.org.v13.VirtualDataCenters"/>
+ <xml-element java-attribute="operationalEnvironments" name="operational-environments" type="inventory.aai.onap.org.v13.OperationalEnvironments"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CloudRegions">
+ <xml-root-element name="cloud-regions"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cloudRegion" name="cloud-region" type="inventory.aai.onap.org.v13.CloudRegion"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CloudRegion">
+ <xml-root-element name="cloud-region"/>
+ <java-attributes>
+ <xml-element java-attribute="cloudOwner" name="cloud-owner" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifies the vendor and cloud name. First part of composite key should be formatted as vendor-cloudname"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudRegionId" name="cloud-region-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite key"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudType" name="cloud-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the cloud (e.g., openstack)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ownerDefinedType" name="owner-defined-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Cloud-owner defined type indicator (e.g., dcp, lcp)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudRegionVersion" name="cloud-region-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Software version employed at the site. NOTE - THIS FIELD IS NOT KEPT UP TO DATE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL of the keystone identity service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudZone" name="cloud-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Zone where the cloud is homed. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="complex name for cloud-region instance. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sriovAutomation" name="sriov-automation" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether the cloud region supports (true) or does not support (false) SR-IOV automation."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudExtraInfo" name="cloud-extra-info" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ESR inputs extra information about the VIM or Cloud which will be decoded by MultiVIM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudEpaCaps" name="cloud-epa-caps" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="MultiVIM will discover and expose EPA capabilities."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeGroups" name="volume-groups" type="inventory.aai.onap.org.v13.VolumeGroups"/>
+ <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v13.Tenants"/>
+ <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v13.Flavors"/>
+ <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.onap.org.v13.GroupAssignments"/>
+ <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v13.Snapshots"/>
+ <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v13.Images"/>
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v13.DvsSwitches"/>
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v13.OamNetworks"/>
+ <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v13.AvailabilityZones"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv4AddressList" name="vip-ipv4-address-list" type="inventory.aai.onap.org.v13.VipIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv6AddressList" name="vip-ipv6-address-list" type="inventory.aai.onap.org.v13.VipIpv6AddressList"/>
+ <xml-element java-attribute="hpaCapabilities" name="hpa-capabilities" type="inventory.aai.onap.org.v13.HpaCapabilities">
+ <xml-properties>
+ <xml-property name="description" value="List of cloud-region specific HPA Capabilities"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v13.EsrSystemInfoList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation."/>
+ <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type"/>
+ <xml-property name="nameProps" value="owner-defined-type"/>
+ <xml-property name="container" value="cloud-regions"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}"/>
+ <xml-property name="requiredProps" value="cloud-owner,cloud-region-id"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="VolumeGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of persistent block-level storage."/>
+ </xml-properties>
+ <xml-root-element name="volume-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volumeGroup" name="volume-group" type="inventory.aai.onap.org.v13.VolumeGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VolumeGroup">
+ <xml-root-element name="volume-group"/>
+ <java-attributes>
+ <xml-element java-attribute="volumeGroupId" name="volume-group-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of volume-group."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeGroupName" name="volume-group-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the volume group."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this volume-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this volume-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfModuleModelCustomizationId" name="vf-module-model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="helps relate the volume group to the vf-module whose components will require the volume group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persistent block-level storage."/>
+ <xml-property name="indexedProps" value="volume-group-name,vnf-type,heat-stack-id,volume-group-id"/>
+ <xml-property name="searchable" value="volume-group-id,volume-group-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="volume-groups"/>
+ <xml-property name="uriTemplate" value="/volume-groups/volume-group/{volume-group-id}"/>
+ <xml-property name="requiredProps" value="volume-group-id,vnf-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="RelationshipList">
+ <xml-root-element name="relationship-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.onap.org.v13.Relationship"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Relationship">
+ <xml-root-element name="relationship"/>
+ <java-attributes>
+ <xml-element java-attribute="relatedTo" name="related-to" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate type of node."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipLabel" name="relationship-label" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The edge label for this relationship."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to the object in A&amp;AI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.onap.org.v13.RelationshipData"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.onap.org.v13.RelatedToProperty"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedToProperty">
+ <xml-root-element name="related-to-property"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyKey" name="property-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Key part of a key/value pair"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value part of a key/value pair"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelationshipData">
+ <xml-root-element name="relationship-data"/>
+ <java-attributes>
+ <xml-element java-attribute="relationshipKey" name="relationship-key" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate an attribute."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipValue" name="relationship-value" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value of the attribute."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Complexes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions."/>
+ </xml-properties>
+ <xml-root-element name="complexes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="complex" name="complex" type="inventory.aai.onap.org.v13.Complex"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Complex">
+ <xml-root-element name="complex"/>
+ <java-attributes>
+ <xml-element java-attribute="physicalLocationId" name="physical-location-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for physical location, e.g., CLLI"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dataCenterCode" name="data-center-code" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Data center code which can be an alternate way to identify a complex"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Gamma complex name for LCP instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL of the keystone identity service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="physicalLocationType" name="physical-location-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type, e.g., central office, data center."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="street1" name="street1" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="street2" name="street2" type="java.lang.String"/>
+ <xml-element java-attribute="city" name="city" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="state" name="state" type="java.lang.String"/>
+ <xml-element java-attribute="postalCode" name="postal-code" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="country" name="country" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="region" name="region" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="latitude" name="latitude" type="java.lang.String"/>
+ <xml-element java-attribute="longitude" name="longitude" type="java.lang.String"/>
+ <xml-element java-attribute="elevation" name="elevation" type="java.lang.String"/>
+ <xml-element java-attribute="lata" name="lata" type="java.lang.String"/>
+ <xml-element java-attribute="ctagPools" name="ctag-pools" type="inventory.aai.onap.org.v13.CtagPools"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions."/>
+ <xml-property name="indexedProps" value="identity-url,data-center-code,complex-name,physical-location-id"/>
+ <xml-property name="searchable" value="physical-location-id,data-center-code,complex-name,street1,street2,postal-code"/>
+ <xml-property name="uniqueProps" value="physical-location-id"/>
+ <xml-property name="container" value="complexes"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/complexes/complex/{physical-location-id}"/>
+ <xml-property name="requiredProps" value="physical-location-id,physical-location-type,street1,city,postal-code,country,region"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CtagPools">
+ <xml-root-element name="ctag-pools"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagPool" name="ctag-pool" type="inventory.aai.onap.org.v13.CtagPool"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CtagPool">
+ <xml-root-element name="ctag-pool"/>
+ <java-attributes>
+ <xml-element java-attribute="targetPe" name="target-pe" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="The Target provider edge router"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the availability zone"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ctagPoolPurpose" name="ctag-pool-purpose" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Describes what the intended purpose of this pool is."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ctagValues" name="ctag-values" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Comma separated list of ctags"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="A collection of C tags (vlan tags) grouped for a specific purpose."/>
+ <xml-property name="indexedProps" value="availability-zone-name"/>
+ <xml-property name="dependentOn" value="complex"/>
+ <xml-property name="container" value="ctag-pools"/>
+ <xml-property name="uriTemplate" value="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}"/>
+ <xml-property name="requiredProps" value="target-pe,availability-zone-name,ctag-pool-purpose"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Tenants">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack tenants."/>
+ </xml-properties>
+ <xml-root-element name="tenants"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tenant" name="tenant" type="inventory.aai.onap.org.v13.Tenant"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Tenant">
+ <xml-root-element name="tenant"/>
+ <java-attributes>
+ <xml-element java-attribute="tenantId" name="tenant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id relative to the cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tenantName" name="tenant-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Readable name of tenant"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tenantContext" name="tenant-context" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field will store the tenant context."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vservers" name="vservers" type="inventory.aai.onap.org.v13.Vservers"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack tenant"/>
+ <xml-property name="nameProps" value="tenant-name"/>
+ <xml-property name="indexedProps" value="tenant-name,tenant-id,tenant-context"/>
+ <xml-property name="searchable" value="tenant-id,tenant-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="tenants"/>
+ <xml-property name="uriTemplate" value="/tenants/tenant/{tenant-id}"/>
+ <xml-property name="requiredProps" value="tenant-id,tenant-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of virtual Servers, aka virtual machines or VMs."/>
+ </xml-properties>
+ <xml-root-element name="vservers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vserver" name="vserver" type="inventory.aai.onap.org.v13.Vserver"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vserver">
+ <xml-root-element name="vserver"/>
+ <java-attributes>
+ <xml-element java-attribute="vserverId" name="vserver-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for this vserver relative to its tenant"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverName" name="vserver-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of vserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverName2" name="vserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternative name of vserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverSelflink" name="vserver-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumes" name="volumes" type="inventory.aai.onap.org.v13.Volumes"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v13.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Servers, aka virtual machine or VM."/>
+ <xml-property name="nameProps" value="vserver-name"/>
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2"/>
+ <xml-property name="searchable" value="vserver-id,vserver-name,vserver-name2"/>
+ <xml-property name="dependentOn" value="tenant"/>
+ <xml-property name="container" value="vservers"/>
+ <xml-property name="uriTemplate" value="/vservers/vserver/{vserver-id}"/>
+ <xml-property name="requiredProps" value="vserver-id,vserver-name,vserver-selflink,in-maint,is-closed-loop-disabled"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical interfaces."/>
+ </xml-properties>
+ <xml-root-element name="l-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lInterface" name="l-interface" type="inventory.aai.onap.org.v13.LInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LInterface">
+ <xml-root-element name="l-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name given to the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="E.g., CUSTOMER, UPLINK, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v6WanLinkIp" name="v6-wan-link-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="macaddr" name="macaddr" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="MAC address for the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether A&amp;AI should be managing this interface of not. Could have value like CUSTOMER"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Human friendly text regarding this interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isPortMirrored" name="is-port-mirrored" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not port is a mirrored."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of the logical interface. Valid values [PREPROV/NVTPROV/PROV]."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isIpUnnumbered" name="is-ip-unnumbered" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Flag indicating the interface uses the IP Unnumbered configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="allowedAddressPairs" name="allowed-address-pairs" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Freeform field for storing an ip address, list of ip addresses or a subnet block."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.onap.org.v13.Vlans"/>
+ <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v13.SriovVfs"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v13.LInterfaces"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v13.L3InterfaceIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v13.L3InterfaceIpv6AddressList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical interfaces, e.g., a vnic."/>
+ <xml-property name="indexedProps" value="macaddr,interface-id,interface-name,network-name"/>
+ <xml-property name="dependentOn" value="generic-vnf,newvce,p-interface,vserver,lag-interface,l-interface"/>
+ <xml-property name="container" value="l-interfaces"/>
+ <xml-property name="uriTemplate" value="/l-interfaces/l-interface/{interface-name}"/>
+ <xml-property name="requiredProps" value="interface-name,is-port-mirrored,in-maint,is-ip-unnumbered"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SriovVfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of SR-IOV Virtual Functions."/>
+ </xml-properties>
+ <xml-root-element name="sriov-vfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sriovVf" name="sriov-vf" type="inventory.aai.onap.org.v13.SriovVf"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="SriovVf">
+ <xml-root-element name="sriov-vf"/>
+ <java-attributes>
+ <xml-element java-attribute="pciId" name="pci-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="PCI ID used to identify the sriov-vf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanFilter" name="vf-vlan-filter" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This metadata provides option to specify list of VLAN filters applied on VF to pass the traffic to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMacFilter" name="vf-mac-filter" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="When MAC filters are specified, VF-agent service configures VFs to do MAC level filtering before the traffic is passed to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanStrip" name="vf-vlan-strip" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="When this field is set to true, VF will configured to strip the outer TAG before the traffic is passed to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanAntiSpoofCheck" name="vf-vlan-anti-spoof-check" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option ensures anti VLAN spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMacAntiSpoofCheck" name="vf-mac-anti-spoof-check" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option ensures anti MAC spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMirrors" name="vf-mirrors" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This option defines the set of Mirror objects which essentially mirrors the traffic from source to set of collector VNF Ports."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfBroadcastAllow" name="vf-broadcast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows all broadcast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfUnknownMulticastAllow" name="vf-unknown-multicast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown multicast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfUnknownUnicastAllow" name="vf-unknown-unicast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown unicast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfInsertStag" name="vf-insert-stag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, instructs to insert outer tag after traffic comes out of VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfLinkStatus" name="vf-link-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This option is used to set the link status. Valid values as of 1607 are on, off, and auto."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="SR-IOV Virtual Function (not to be confused with virtual network function)"/>
+ <xml-property name="indexedProps" value="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id"/>
+ <xml-property name="dependentOn" value="l-interface"/>
+ <xml-property name="container" value="sriov-vfs"/>
+ <xml-property name="uriTemplate" value="/sriov-vfs/sriov-vf/{pci-id}"/>
+ <xml-property name="requiredProps" value="pci-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv4AddressList">
+ <xml-root-element name="l3-interface-ipv4-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv4Address" name="l3-interface-ipv4-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv4PrefixLength" name="l3-interface-ipv4-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 32 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv4 Address Range"/>
+ <xml-property name="indexedProps" value="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="vlan,l-interface,vnfc"/>
+ <xml-property name="uriTemplate" value="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}"/>
+ <xml-property name="requiredProps" value="l3-interface-ipv4-address"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vlans">
+ <xml-root-element name="vlans"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vlan" name="vlan" type="inventory.aai.onap.org.v13.Vlan"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vlan">
+ <xml-root-element name="vlan"/>
+ <java-attributes>
+ <xml-element java-attribute="vlanInterface" name="vlan-interface" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="String that identifies the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanDescription" name="vlan-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to describe (the service associated with) the vlan"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="backdoorConnection" name="backdoor-connection" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether customer is going to use this VLAN for backdoor connection to another customer premise device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnKey" name="vpn-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of the VLAN configuration related to a logical interface. Valid values [PREPROV/NVTPROV/PROV]."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isIpUnnumbered" name="is-ip-unnumbered" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Flag indicating the interface uses the IP Unnumbered configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v13.L3InterfaceIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v13.L3InterfaceIpv6AddressList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Definition of vlan"/>
+ <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-key"/>
+ <xml-property name="dependentOn" value="l-interface"/>
+ <xml-property name="container" value="vlans"/>
+ <xml-property name="uriTemplate" value="/vlans/vlan/{vlan-interface}"/>
+ <xml-property name="requiredProps" value="vlan-interface,in-maint,is-ip-unnumbered"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv6AddressList">
+ <xml-root-element name="l3-interface-ipv6-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv6Address" name="l3-interface-ipv6-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv6PrefixLength" name="l3-interface-ipv6-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 128 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv6 Address Range"/>
+ <xml-property name="indexedProps" value="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="vlan,l-interface,vnfc"/>
+ <xml-property name="uriTemplate" value="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}"/>
+ <xml-property name="requiredProps" value="l3-interface-ipv6-address"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Volumes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of ephemeral Block storage volumes."/>
+ </xml-properties>
+ <xml-root-element name="volumes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volume" name="volume" type="inventory.aai.onap.org.v13.Volume"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Volume">
+ <xml-root-element name="volume"/>
+ <java-attributes>
+ <xml-element java-attribute="volumeId" name="volume-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of block storage volume relative to the vserver."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeSelflink" name="volume-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Ephemeral Block storage volume."/>
+ <xml-property name="indexedProps" value="volume-id"/>
+ <xml-property name="dependentOn" value="vserver"/>
+ <xml-property name="container" value="volumes"/>
+ <xml-property name="uriTemplate" value="/volumes/volume/{volume-id}"/>
+ <xml-property name="requiredProps" value="volume-id,volume-selflink"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Flavors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack flavors."/>
+ </xml-properties>
+ <xml-root-element name="flavors"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="flavor" name="flavor" type="inventory.aai.onap.org.v13.Flavor"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Flavor">
+ <xml-root-element name="flavor"/>
+ <java-attributes>
+ <xml-element java-attribute="flavorId" name="flavor-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Flavor id, expected to be unique across cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorName" name="flavor-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Flavor name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorVcpus" name="flavor-vcpus" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Number of CPUs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorRam" name="flavor-ram" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Amount of memory"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorDisk" name="flavor-disk" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Disk space"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorEphemeral" name="flavor-ephemeral" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Amount of ephemeral disk space"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorSwap" name="flavor-swap" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="amount of swap space allocation"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorIsPublic" name="flavor-is-public" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="whether flavor is available to all users or private to the tenant it was created in."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorSelflink" name="flavor-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorDisabled" name="flavor-disabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Boolean as to whether this flavor is no longer enabled"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hpaCapabilities" name="hpa-capabilities" type="inventory.aai.onap.org.v13.HpaCapabilities">
+ <xml-properties>
+ <xml-property name="description" value="List of flavor specific HPA Capabilities"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack flavor."/>
+ <xml-property name="nameProps" value="flavor-name"/>
+ <xml-property name="indexedProps" value="flavor-name,flavor-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="flavors"/>
+ <xml-property name="uriTemplate" value="/flavors/flavor/{flavor-id}"/>
+ <xml-property name="requiredProps" value="flavor-id,flavor-name,flavor-selflink"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Snapshots">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack snapshots"/>
+ </xml-properties>
+ <xml-root-element name="snapshots"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="snapshot" name="snapshot" type="inventory.aai.onap.org.v13.Snapshot"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Snapshot">
+ <xml-root-element name="snapshot"/>
+ <java-attributes>
+ <xml-element java-attribute="snapshotId" name="snapshot-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Snapshot id, this is the key UUID assoc associated in glance with the snapshots."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotName" name="snapshot-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Snapshot name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotArchitecture" name="snapshot-architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operating system architecture"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotOsDistro" name="snapshot-os-distro" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The common name of the operating system distribution in lowercase"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotOsVersion" name="snapshot-os-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The operating system version as specified by the distributor."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotSelflink" name="snapshot-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="prevSnapshotId" name="prev-snapshot-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field contains the UUID of the previous snapshot (if any)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack snapshot"/>
+ <xml-property name="nameProps" value="snapshot-name"/>
+ <xml-property name="uniqueProps" value="snapshot-id"/>
+ <xml-property name="indexedProps" value="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="snapshots"/>
+ <xml-property name="uriTemplate" value="/snapshots/snapshot/{snapshot-id}"/>
+ <xml-property name="requiredProps" value="snapshot-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GroupAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack group assignments"/>
+ </xml-properties>
+ <xml-root-element name="group-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="groupAssignment" name="group-assignment" type="inventory.aai.onap.org.v13.GroupAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="GroupAssignment">
+ <xml-root-element name="group-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="groupId" name="group-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Group id, expected to be unique across cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupType" name="group-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group type - the type of group this instance refers to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupName" name="group-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group name - name assigned to the group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupDescription" name="group-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group description - description of the group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack group-assignment used to store exclusivity groups (EG)."/>
+ <xml-property name="nameProps" value="group-name"/>
+ <xml-property name="indexedProps" value="group-id,group-type,group-name"/>
+ <xml-property name="searchable" value="group-id,group-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="group-assignments"/>
+ <xml-property name="uriTemplate" value="/group-assignments/group-assignment/{group-id}"/>
+ <xml-property name="requiredProps" value="group-id,group-type,group-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Images">
+ <xml-properties>
+ <xml-property name="description" value="Collectio of Openstack images."/>
+ </xml-properties>
+ <xml-root-element name="images"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="image" name="image" type="inventory.aai.onap.org.v13.Image"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Image">
+ <xml-root-element name="image"/>
+ <java-attributes>
+ <xml-element java-attribute="imageId" name="image-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Image id, expected to be unique across cloud region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageName" name="image-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Image name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageArchitecture" name="image-architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operating system architecture."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageOsDistro" name="image-os-distro" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The common name of the operating system distribution in lowercase"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageOsVersion" name="image-os-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The operating system version as specified by the distributor."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageSelflink" name="image-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v13.Metadata"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack image."/>
+ <xml-property name="nameProps" value="image-name"/>
+ <xml-property name="indexedProps" value="application,image-name,application-vendor,image-id,application-version"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="images"/>
+ <xml-property name="uriTemplate" value="/images/image/{image-id}"/>
+ <xml-property name="requiredProps" value="image-id,image-name,image-os-distro,image-os-version,image-selflink"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Metadata">
+ <xml-properties>
+ <xml-property name="description" value="Collection of metadatum (key/value pairs)"/>
+ </xml-properties>
+ <xml-root-element name="metadata"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="metadatum" name="metadatum" type="inventory.aai.onap.org.v13.Metadatum"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Metadatum">
+ <xml-root-element name="metadatum"/>
+ <java-attributes>
+ <xml-element java-attribute="metaname" name="metaname" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="metaval" name="metaval" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Key/value pairs"/>
+ <xml-property name="indexedProps" value="metaname"/>
+ <xml-property name="dependentOn" value="tenant,image,service-instance,connector,model"/>
+ <xml-property name="container" value="metadata"/>
+ <xml-property name="uriTemplate" value="/metadata/metadatum/{metaname}"/>
+ <xml-property name="requiredProps" value="metaname,metaval"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="DvsSwitches">
+ <xml-properties>
+ <xml-property name="description" value="Collection of digital virtual switch metadata used for vmWare VCEs and GenericVnfs."/>
+ </xml-properties>
+ <xml-root-element name="dvs-switches"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="dvsSwitch" name="dvs-switch" type="inventory.aai.onap.org.v13.DvsSwitch"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="DvsSwitch">
+ <xml-root-element name="dvs-switch"/>
+ <java-attributes>
+ <xml-element java-attribute="switchName" name="switch-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="DVS switch name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcenterUrl" name="vcenter-url" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL used to reach the vcenter"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Digital virtual switch metadata, used by SDN-C to configure VCEs. A&amp;AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&amp;AI. "/>
+ <xml-property name="indexedProps" value="vcenter-url,switch-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="dvs-switches"/>
+ <xml-property name="uriTemplate" value="/dvs-switches/dvs-switch/{switch-name}"/>
+ <xml-property name="requiredProps" value="switch-name,vcenter-url"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="NetworkProfiles">
+ <xml-properties>
+ <xml-property name="description" value="Collection of network profiles"/>
+ </xml-properties>
+ <xml-root-element name="network-profiles"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkProfile" name="network-profile" type="inventory.aai.onap.org.v13.NetworkProfile"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NetworkProfile">
+ <xml-root-element name="network-profile"/>
+ <java-attributes>
+ <xml-element java-attribute="nmProfileName" name="nm-profile-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique name of network profile."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="communityString" name="community-string" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encrypted SNMP community string"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Network profile populated by SDN-GP for SNMP"/>
+ <xml-property name="indexedProps" value="nm-profile-name"/>
+ <xml-property name="container" value="network-profiles"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}"/>
+ <xml-property name="requiredProps" value="nm-profile-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of compute hosts."/>
+ </xml-properties>
+ <xml-root-element name="pservers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pserver" name="pserver" type="inventory.aai.onap.org.v13.Pserver"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pserver">
+ <xml-root-element name="pserver"/>
+ <java-attributes>
+ <xml-element java-attribute="hostname" name="hostname" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value from executing hostname on the compute node."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ptniiEquipName" name="ptnii-equip-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="PTNII name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="numberOfCpus" name="number-of-cpus" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Number of cpus"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="diskInGigabytes" name="disk-in-gigabytes" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Disk size, in GBs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ramInMegabytes" name="ram-in-megabytes" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="RAM size, in MBs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment type. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment vendor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment model. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="fqdn" name="fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Fully-qualified domain name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverSelflink" name="pserver-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to configure device, also used for troubleshooting and is IP used for traps generated by device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Serial number, may be queried"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 OAM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CANOPI's inventory status. Only set with values exactly as defined by CANOPI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverId" name="pserver-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of Pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="internetTopology" name="internet-topology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="internet topology of Pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverName2" name="pserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="alternative pserver name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="purpose of pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates who owns and or manages the device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hostProfile" name="host-profile" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The host profile that defines the configuration of the pserver."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v13.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v13.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver."/>
+ <xml-property name="nameProps" value="pserver-name2"/>
+ <xml-property name="indexedProps" value="hostname,in-maint,pserver-id,pserver-name2,inv-status"/>
+ <xml-property name="searchable" value="hostname,pserver-name2,pserver-id,ipv4-oam-address"/>
+ <xml-property name="uniqueProps" value="hostname"/>
+ <xml-property name="container" value="pservers"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/pservers/pserver/{hostname}"/>
+ <xml-property name="requiredProps" value="hostname,in-maint"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical interfaces."/>
+ </xml-properties>
+ <xml-root-element name="p-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pInterface" name="p-interface" type="inventory.aai.onap.org.v13.PInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PInterface">
+ <xml-root-element name="p-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the physical interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portDescription" name="port-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Nature of the services and connectivity on this port."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentIdentifier" name="equipment-identifier" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CLEI or other specification for p-interface hardware."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role specification for p-interface hardware."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceType" name="interface-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the physical properties of the interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="macAddress" name="mac-addresss" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="MAC Address of the p-interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="inventory status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ <xml-element java-attribute="sriovPfs" name="sriov-pfs" type="inventory.aai.onap.org.v13.SriovPfs"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v13.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Physical interface (e.g., nic)"/>
+ <xml-property name="indexedProps" value="interface-name,prov-status"/>
+ <xml-property name="nameProps" value="prov-status"/>
+ <xml-property name="dependentOn" value="vpls-pe,pserver,pnf"/>
+ <xml-property name="container" value="p-interfaces"/>
+ <xml-property name="uriTemplate" value="/p-interfaces/p-interface/{interface-name}"/>
+ <xml-property name="requiredProps" value="interface-name,in-maint"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LagInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregate interfaces."/>
+ </xml-properties>
+ <xml-root-element name="lag-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagInterface" name="lag-interface" type="inventory.aai.onap.org.v13.LagInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LagInterface">
+ <xml-root-element name="lag-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the link aggregate interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Human friendly text regarding this interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v13.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Link aggregate interface"/>
+ <xml-property name="indexedProps" value="interface-name,interface-id,interface-role"/>
+ <xml-property name="dependentOn" value="generic-vnf,pserver,vpls-pe,pnf"/>
+ <xml-property name="container" value="lag-interfaces"/>
+ <xml-property name="uriTemplate" value="/lag-interfaces/lag-interface/{interface-name}"/>
+ <xml-property name="requiredProps" value="interface-name,in-maint"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="OamNetworks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of OAM networks, to be deprecated shortly. Do not use for new purposes. "/>
+ </xml-properties>
+ <xml-root-element name="oam-networks"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="oamNetwork" name="oam-network" type="inventory.aai.onap.org.v13.OamNetwork"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OamNetwork">
+ <xml-root-element name="oam-network"/>
+ <java-attributes>
+ <xml-element java-attribute="networkUuid" name="network-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the network. Unique across a cloud-region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="cvlan-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="OAM network, to be deprecated shortly. Do not use for new purposes. "/>
+ <xml-property name="nameProps" value="network-name"/>
+ <xml-property name="indexedProps" value="cvlan-tag,network-uuid,network-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="oam-networks"/>
+ <xml-property name="uriTemplate" value="/oam-networks/oam-network/{network-uuid}"/>
+ <xml-property name="requiredProps" value="network-uuid,network-name,cvlan-tag"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="AvailabilityZones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of availability zones"/>
+ </xml-properties>
+ <xml-root-element name="availability-zones"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v13.AvailabilityZone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AvailabilityZone">
+ <xml-root-element name="availability-zone"/>
+ <java-attributes>
+ <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the availability zone. Unique across a cloud region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hypervisorType" name="hypervisor-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of hypervisor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="State that indicates whether the availability zone should be used, etc. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Availability zone, a collection of compute hosts/pservers"/>
+ <xml-property name="indexedProps" value="availability-zone-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="availability-zones"/>
+ <xml-property name="uriTemplate" value="/availability-zones/availability-zone/{availability-zone-name}"/>
+ <xml-property name="requiredProps" value="availability-zone-name,hypervisor-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VirtualDataCenters">
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context"/>
+ </xml-properties>
+ <xml-root-element name="virtual-data-centers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="virtualDataCenter" name="virtual-data-center" type="inventory.aai.onap.org.v13.VirtualDataCenter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VirtualDataCenter">
+ <xml-root-element name="virtual-data-center"/>
+ <java-attributes>
+ <xml-element java-attribute="vdcId" name="vdc-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the vdc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdcName" name="vdc-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the virtual data center"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context"/>
+ <xml-property name="nameProps" value="vdc-name"/>
+ <xml-property name="indexedProps" value="vdc-name,vdc-id"/>
+ <xml-property name="container" value="virtual-data-centers"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}"/>
+ <xml-property name="requiredProps" value="vdc-id,vdc-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Business">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for business related constructs"/>
+ </xml-properties>
+ <xml-root-element name="business"/>
+ <java-attributes>
+ <xml-element java-attribute="connectors" name="connectors" type="inventory.aai.onap.org.v13.Connectors"/>
+ <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.org.v13.Customers"/>
+ <xml-element java-attribute="linesOfBusiness" name="lines-of-business" type="inventory.aai.onap.org.v13.LinesOfBusiness"/>
+ <xml-element java-attribute="owningEntities" name="owning-entities" type="inventory.aai.onap.org.v13.OwningEntities"/>
+ <xml-element java-attribute="platforms" name="platforms" type="inventory.aai.onap.org.v13.Platforms"/>
+ <xml-element java-attribute="projects" name="projects" type="inventory.aai.onap.org.v13.Projects"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Projects">
+ <xml-properties>
+ <xml-property name="description" value="Collection of projects"/>
+ </xml-properties>
+ <xml-root-element name="projects"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="project" name="project" type="inventory.aai.onap.org.v13.Project"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Project">
+ <xml-root-element name="project"/>
+ <java-attributes>
+ <xml-element java-attribute="projectName" name="project-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the project deploying a service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="describes the project"/>
+ <xml-property name="indexedProps" value="project-name"/>
+ <xml-property name="uniqueProps" value="project-name"/>
+ <xml-property name="container" value="projects"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/projects/project/{project-name}"/>
+ <xml-property name="requiredProps" value="project-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Connectors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets"/>
+ </xml-properties>
+ <xml-root-element name="connectors"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="connector" name="connector" type="inventory.aai.onap.org.v13.Connector"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Connector">
+ <xml-root-element name="connector"/>
+ <java-attributes>
+ <xml-element java-attribute="resourceInstanceId" name="resource-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of resource instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v13.Metadata"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets"/>
+ <xml-property name="indexedProps" value="resource-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version"/>
+ <xml-property name="container" value="connectors"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/connectors/connector/{resource-instance-id}"/>
+ <xml-property name="requiredProps" value="resource-instance-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Customers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information."/>
+ </xml-properties>
+ <xml-root-element name="customers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.onap.org.v13.Customer"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Customer">
+ <xml-root-element name="customer"/>
+ <java-attributes>
+ <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Global customer id used across ECOMP to uniquely identify customer."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber name, an alternate way to retrieve a customer."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberType" name="subscriber-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber type, a way to provide VID with only the INFRA customers."/>
+ <xml-property name="defaultValue" value="CUST"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSubscriptions" name="service-subscriptions" type="inventory.aai.onap.org.v13.ServiceSubscriptions"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="customer identifiers to provide linkage back to BSS information."/>
+ <xml-property name="nameProps" value="subscriber-name"/>
+ <xml-property name="indexedProps" value="subscriber-name,global-customer-id,subscriber-type"/>
+ <xml-property name="searchable" value="global-customer-id,subscriber-name"/>
+ <xml-property name="uniqueProps" value="global-customer-id"/>
+ <xml-property name="container" value="customers"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/customers/customer/{global-customer-id}"/>
+ <xml-property name="requiredProps" value="global-customer-id,subscriber-name,subscriber-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LinesOfBusiness">
+ <xml-properties>
+ <xml-property name="description" value="Collection of lines-of-business"/>
+ </xml-properties>
+ <xml-root-element name="lines-of-business"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lineOfBusiness" name="line-of-business" type="inventory.aai.onap.org.v13.LineOfBusiness"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LineOfBusiness">
+ <xml-root-element name="line-of-business"/>
+ <java-attributes>
+ <xml-element java-attribute="lineOfBusinessName" name="line-of-business-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the line-of-business (product)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="describes a line-of-business"/>
+ <xml-property name="indexedProps" value="line-of-business-name"/>
+ <xml-property name="uniqueProps" value="line-of-business-name"/>
+ <xml-property name="container" value="lines-of-business"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/lines-of-business/line-of-business/{line-of-business-name}"/>
+ <xml-property name="requiredProps" value="line-of-business-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="OwningEntities">
+ <xml-properties>
+ <xml-property name="description" value="Collection of owning-entities"/>
+ </xml-properties>
+ <xml-root-element name="owning-entities"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="owningEntity" name="owning-entity" type="inventory.aai.onap.org.v13.OwningEntity"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OwningEntity">
+ <xml-root-element name="owning-entity"/>
+ <java-attributes>
+ <xml-element java-attribute="owningEntityId" name="owning-entity-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of an owning entity"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="owningEntityName" name="owning-entity-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Owning entity name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="describes an owning-entity"/>
+ <xml-property name="indexedProps" value="owning-entity-id,owning-entity-name"/>
+ <xml-property name="searchable" value="owning-entity-id"/>
+ <xml-property name="uniqueProps" value="owning-entity-id,owning-entity-name"/>
+ <xml-property name="container" value="owning-entities"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/owning-entities/owning-entity/{owning-entity-id}"/>
+ <xml-property name="requiredProps" value="owning-entity-id,owning-entity-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Platforms">
+ <xml-properties>
+ <xml-property name="description" value="Collection of platforms"/>
+ </xml-properties>
+ <xml-root-element name="platforms"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="platform" name="platform" type="inventory.aai.onap.org.v13.Platform"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Platform">
+ <xml-root-element name="platform"/>
+ <java-attributes>
+ <xml-element java-attribute="platformName" name="platform-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the platform"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="describes a platform"/>
+ <xml-property name="indexedProps" value="platform-name"/>
+ <xml-property name="uniqueProps" value="platform-name"/>
+ <xml-property name="container" value="platforms"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/platforms/platform/{platform-name}"/>
+ <xml-property name="requiredProps" value="platform-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceSubscriptions">
+ <xml-properties>
+ <xml-property name="description" value="Collection of objects that group service instances."/>
+ </xml-properties>
+ <xml-root-element name="service-subscriptions"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceSubscription" name="service-subscription" type="inventory.aai.onap.org.v13.ServiceSubscription"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceSubscription">
+ <xml-root-element name="service-subscription"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value defined by orchestration to identify this service across ECOMP."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tempUbSubAccountId" name="temp-ub-sub-account-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This property will be deleted from A&amp;AI in the near future. Only stop gap solution."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstances" name="service-instances" type="inventory.aai.onap.org.v13.ServiceInstances">
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Object that group service instances."/>
+ <xml-property name="indexedProps" value="service-type"/>
+ <xml-property name="dependentOn" value="customer"/>
+ <xml-property name="container" value="service-subscriptions"/>
+ <xml-property name="crossEntityReference" value="service-instance,service-type"/>
+ <xml-property name="uriTemplate" value="/service-subscriptions/service-subscription/{service-type}"/>
+ <xml-property name="requiredProps" value="service-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceInstances">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service instances"/>
+ </xml-properties>
+ <xml-root-element name="service-instances"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceInstance" name="service-instance" type="inventory.aai.onap.org.v13.ServiceInstance"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceInstance">
+ <xml-root-element name="service-instance"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceInstanceId" name="service-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Uniquely identifies this instance of a service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstanceName" name="service-instance-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field will store a name assigned to the service-instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceType" name="service-type" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceRole" name="service-role" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing the service role."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="environmentContext" name="environment-context" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field will store the environment context assigned to the service-instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="workloadContext" name="workload-context" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field will store the workload context assigned to the service-instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="createdAt" name="created-at" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="create time of Network Service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="updatedAt" name="updated-at" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="last update of Network Service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="short description for service-instance."/>
+ </xml-properties>
+ </xml-element>
+ <!-- for storing the nsd_id create edge between services -->
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthTotal" name="bandwidth-total" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the total bandwidth to be used for this service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN1 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN1 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN2 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN2 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vhnPortalUrl" name="vhn-portal-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL customers will use to access the vHN Portal."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstanceLocationId" name="service-instance-location-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="An identifier that customers assign to the location where this service is being used."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v13.Metadata"/>
+ <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.onap.org.v13.AllottedResources"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Instance of a service"/>
+ <xml-property name="indexedProps" value="service-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status,environment-context,workload-context"/>
+ <xml-property name="nameProps" value="service-instance-name"/>
+ <xml-property name="searchable" value="service-instance-id,service-instance-name"/>
+ <xml-property name="uniqueProps" value="service-instance-id"/>
+ <xml-property name="dependentOn" value="service-subscription"/>
+ <xml-property name="container" value="service-instances"/>
+ <xml-property name="uriTemplate" value="/service-instances/service-instance/{service-instance-id}"/>
+ <xml-property name="requiredProps" value="service-instance-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceDesignAndCreation">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for objects managed by ASDC"/>
+ </xml-properties>
+ <xml-root-element name="service-design-and-creation"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfImages" name="vnf-images" type="inventory.aai.onap.org.v13.VnfImages"/>
+ <xml-element java-attribute="services" name="services" type="inventory.aai.onap.org.v13.Services"/>
+ <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.onap.org.v13.ServiceCapabilities"/>
+ <xml-element java-attribute="models" name="models" type="inventory.aai.onap.org.v13.Models"/>
+ <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.onap.org.v13.NamedQueries"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VnfImages">
+ <xml-properties>
+ <xml-property name="description" value="Collection of image objects that pertain to a VNF that doesn't have associated vservers. This is a kludge."/>
+ </xml-properties>
+ <xml-root-element name="vnf-images"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfImage" name="vnf-image" type="inventory.aai.onap.org.v13.VnfImage"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VnfImage">
+ <xml-root-element name="vnf-image"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfImageUuid" name="vnf-image-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of this asset"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Image object that pertain to a VNF that doesn't have associated vservers. This is a kludge."/>
+ <xml-property name="indexedProps" value="application,vnf-image-uuid,application-vendor,application-version"/>
+ <xml-property name="uniqueProps" value="vnf-image-uuid"/>
+ <xml-property name="container" value="vnf-images"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/vnf-images/vnf-image/{vnf-image-uuid}"/>
+ <xml-property name="requiredProps" value="vnf-image-uuid,application,application-vendor"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Services">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service model definitions. Likely to be deprecated in favor of models from ASDC."/>
+ </xml-properties>
+ <xml-root-element name="services"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.onap.org.v13.Service"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Service">
+ <xml-root-element name="service"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description of the service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="service version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Stand-in for service model definitions. Likely to be deprecated in favor of models from ASDC. Does not strictly map to ASDC services."/>
+ <xml-property name="indexedProps" value="service-description,service-id"/>
+ <xml-property name="container" value="services"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/services/service/{service-id}"/>
+ <xml-property name="requiredProps" value="service-id,service-description"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceCapabilities">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service capabilities."/>
+ </xml-properties>
+ <xml-root-element name="service-capabilities"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceCapability" name="service-capability" type="inventory.aai.onap.org.v13.ServiceCapability"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceCapability">
+ <xml-root-element name="service-capability"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Early definition of server/resource pairings, likely to be replaced by models. No new use should be made of this."/>
+ <xml-property name="indexedProps" value="service-type,vnf-type"/>
+ <xml-property name="container" value="service-capabilities"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}"/>
+ <xml-property name="requiredProps" value="service-type,vnf-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Network">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for network inventory resources."/>
+ </xml-properties>
+ <xml-root-element name="network"/>
+ <java-attributes>
+ <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.onap.org.v13.LogicalLinks"/>
+ <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.onap.org.v13.SitePairSets"/>
+ <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v13.VpnBindings"/>
+ <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.onap.org.v13.VplsPes"/>
+ <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.onap.org.v13.MulticastConfigurations"/>
+ <xml-element java-attribute="vces" name="vces" type="inventory.aai.onap.org.v13.Vces"/>
+ <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.onap.org.v13.Vnfcs"/>
+ <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.onap.org.v13.L3Networks"/>
+ <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v13.NetworkPolicies"/>
+ <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.onap.org.v13.GenericVnfs"/>
+ <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.onap.org.v13.LagLinks"/>
+ <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.onap.org.v13.Newvces"/>
+ <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v13.Pnfs"/>
+ <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.onap.org.v13.PhysicalLinks"/>
+ <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.onap.org.v13.IpsecConfigurations"/>
+ <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.onap.org.v13.RouteTableReferences"/>
+ <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.onap.org.v13.InstanceGroups"/>
+ <xml-element java-attribute="zones" name="zones" type="inventory.aai.onap.org.v13.Zones"/>
+ <xml-element java-attribute="configurations" name="configurations" type="inventory.aai.onap.org.v13.Configurations"/>
+ <xml-element java-attribute="forwardingPaths" name="forwarding-paths" type="inventory.aai.onap.org.v13.ForwardingPaths"/>
+ <xml-element java-attribute="collections" name="collections" type="inventory.aai.onap.org.v13.Collections"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="Configurations">
+ <xml-properties>
+ <xml-property name="description" value="Collection of configurations"/>
+ </xml-properties>
+ <xml-root-element name="configurations"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="configuration" name="configuration" type="inventory.aai.onap.org.v13.Configuration"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Configuration">
+ <xml-root-element name="configuration"/>
+ <java-attributes>
+ <xml-element java-attribute="configurationId" name="configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID assigned to configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the entity that will manage this feature. Could be an organization or the name of the application as well."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="configurationName" name="configuration-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="configurationType" name="configuration-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="port-mirroring-configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="configurationSubType" name="configuration-sub-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="vprobe, pprobe."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of the configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="configurationSelflink" name="configuration-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details from SDN-GC."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="id of the configuration used to customize the resource"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tunnelBandwidth" name="tunnel-bandwidth" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="DHV Site Effective Bandwidth"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vendorAllowedMaxBandwidth" name="vendor-allowed-max-bandwidth" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Velocloud Nominal Throughput - VNT"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v13.Metadata"/>
+ <xml-element java-attribute="forwarderEvcs" name="forwarder-evcs" type="inventory.aai.onap.org.v13.ForwarderEvcs"/>
+ <xml-element java-attribute="evcs" name="evcs" type="inventory.aai.onap.org.v13.Evcs"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Generic configuration object."/>
+ <xml-property name="indexedProps" value="configuration-id,model-invariant-id,model-version-id"/>
+ <xml-property name="uniqueProps" value="configuration-id"/>
+ <xml-property name="container" value="configurations"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/configurations/configuration/{configuration-id}"/>
+ <xml-property name="requiredProps" value="configuration-id,configuration-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LogicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical connections"/>
+ </xml-properties>
+ <xml-root-element name="logical-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.onap.org.v13.LogicalLink"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LogicalLink">
+ <xml-root-element name="logical-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of logical link, e.g., evc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4, v6, or ds for dual stack"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routingProtocol" name="routing-protocol" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="For example, static or BGP"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of operational status of the logical link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkRole" name="link-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of the network use of the logical link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkName2" name="link-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alias or alternate name (CLCI or D1 name)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkId" name="link-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the logical-link, SDNC generates this."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Circuit id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Reason for this entity, role it is playing"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points"/>
+ <xml-property name="indexedProps" value="link-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose"/>
+ <xml-property name="uniqueProps" value="link-id"/>
+ <xml-property name="container" value="logical-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="searchable" value="link-name"/>
+ <xml-property name="uriTemplate" value="/network/logical-links/logical-link/{link-name}"/>
+ <xml-property name="requiredProps" value="link-name,in-maint,link-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SitePairSets">
+ <xml-properties>
+ <xml-property name="description" value="Collection of sets of instances for probes related to generic-vnf"/>
+ </xml-properties>
+ <xml-root-element name="site-pair-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePairSet" name="site-pair-set" type="inventory.aai.onap.org.v13.SitePairSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SitePairSet">
+ <xml-root-element name="site-pair-set"/>
+ <java-attributes>
+ <xml-element java-attribute="sitePairSetId" name="site-pair-set-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of site pair set."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routingInstances" name="routing-instances" type="inventory.aai.onap.org.v13.RoutingInstances"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Set of instances for probes used to measure service level agreements"/>
+ <xml-property name="indexedProps" value="site-pair-set-id"/>
+ <xml-property name="uniqueProps" value="site-pair-set-id"/>
+ <xml-property name="container" value="site-pair-sets"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/site-pair-sets/site-pair-set/{site-pair-set-id}"/>
+ <xml-property name="requiredProps" value="site-pair-set-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="RoutingInstances">
+ <xml-properties>
+ <xml-property name="description" value="set of probes related to generic-vnf routing instance"/>
+ </xml-properties>
+ <xml-root-element name="routing-instances"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routingInstance" name="routing-instance" type="inventory.aai.onap.org.v13.RoutingInstance"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RoutingInstance">
+ <xml-root-element name="routing-instance"/>
+ <java-attributes>
+ <xml-element java-attribute="routingInstanceId" name="routing-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of routing instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="rpmOwner" name="rpm-owner" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="rpm owner"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sitePairs" name="site-pairs" type="inventory.aai.onap.org.v13.SitePairs"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="routing-instance-id"/>
+ <xml-property name="dependentOn" value="site-pair-set"/>
+ <xml-property name="container" value="routing-instances"/>
+ <xml-property name="uriTemplate" value="/routing-instances/routing-instance/{routing-instance-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SitePairs">
+ <xml-properties>
+ <xml-property name="description" value="probe within a set"/>
+ </xml-properties>
+ <xml-root-element name="site-pairs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePair" name="site-pair" type="inventory.aai.onap.org.v13.SitePair"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SitePair">
+ <xml-root-element name="site-pair"/>
+ <java-attributes>
+ <xml-element java-attribute="sitePairId" name="site-pair-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceIp" name="source-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prefix address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationIp" name="destination-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prefix address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip version, v4, v6"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationHostname" name="destination-hostname" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Hostname of the destination equipment to which SLAs are measured against."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationEquipType" name="destination-equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The type of destinatination equipment. Could be Router, UCPE, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="classesOfService" name="classes-of-service" type="inventory.aai.onap.org.v13.ClassesOfService"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="site-pair-id"/>
+ <xml-property name="uniqueProps" value="site-pair-id"/>
+ <xml-property name="dependentOn" value="routing-instance"/>
+ <xml-property name="container" value="site-pairs"/>
+ <xml-property name="uriTemplate" value="/site-pairs/site-pair/{site-pair-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ClassesOfService">
+ <xml-properties>
+ <xml-property name="description" value="class-of-service of probe"/>
+ </xml-properties>
+ <xml-root-element name="classes-of-service"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="classOfService" name="class-of-service" type="inventory.aai.onap.org.v13.ClassOfService"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ClassOfService">
+ <xml-root-element name="class-of-service"/>
+ <java-attributes>
+ <xml-element java-attribute="cos" name="cos" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="probeId" name="probe-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="probeType" name="probe-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="type of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="cos"/>
+ <xml-property name="dependentOn" value="site-pair"/>
+ <xml-property name="container" value="classes-of-service"/>
+ <xml-property name="uriTemplate" value="/classes-of-service/class-of-service/{cos}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VpnBindings">
+ <xml-root-element name="vpn-bindings"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vpnBinding" name="vpn-binding" type="inventory.aai.onap.org.v13.VpnBinding"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VpnBinding">
+ <xml-root-element name="vpn-binding"/>
+ <java-attributes>
+ <xml-element java-attribute="vpnId" name="vpn-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="VPN ID, globally unique within A&amp;AI"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnName" name="vpn-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="VPN Name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnPlatform" name="vpn-platform" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the platform associated with the VPN example AVPN, Mobility"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnType" name="vpn-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the vpn, should be taken from enumerated/valid values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnRegion" name="vpn-region" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="region of customer vpn"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="customerVpnId" name="customer-vpn-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="id for this customer vpn"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeDistinguisher" name="route-distinguisher" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTargets" name="route-targets" type="inventory.aai.onap.org.v13.RouteTargets"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList">
+ <xml-properties>
+ <xml-property name="description" value="l3-networks relate to vpn-bindings"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPN binding"/>
+ <xml-property name="nameProps" value="vpn-name,vpn-type"/>
+ <xml-property name="indexedProps" value="vpn-name,vpn-id,vpn-type"/>
+ <xml-property name="searchable" value="vpn-id,vpn-name"/>
+ <xml-property name="uniqueProps" value="vpn-id"/>
+ <xml-property name="container" value="vpn-bindings"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vpn-bindings/vpn-binding/{vpn-id}"/>
+ <xml-property name="requiredProps" value="vpn-id,vpn-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VplsPes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VPLS Provider Edge routers"/>
+ </xml-properties>
+ <xml-root-element name="vpls-pes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vplsPe" name="vpls-pe" type="inventory.aai.onap.org.v13.VplsPe"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VplsPe">
+ <xml-root-element name="vpls-pe"/>
+ <java-attributes>
+ <xml-element java-attribute="equipmentName" name="equipment-name" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (v4-loopback0-ip-address)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value, e.g., VPLS-PE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Temporary location for stag to get to VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v13.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v13.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPLS Provider Edge routers."/>
+ <xml-property name="indexedProps" value="prov-status,equipment-name"/>
+ <xml-property name="container" value="vpls-pes"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vpls-pes/vpls-pe/{equipment-name}"/>
+ <xml-property name="requiredProps" value="equipment-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="MulticastConfigurations">
+ <xml-properties>
+ <xml-property name="description" value="multicast configuration of generic-vnf ip-address"/>
+ </xml-properties>
+ <xml-root-element name="multicast-configurations"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="multicastConfiguration" name="multicast-configuration" type="inventory.aai.onap.org.v13.MulticastConfiguration"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="MulticastConfiguration">
+ <xml-root-element name="multicast-configuration"/>
+ <java-attributes>
+ <xml-element java-attribute="multicastConfigurationId" name="multicast-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of multicast configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="multicastProtocol" name="multicast-protocol" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="protocol of multicast configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="rpType" name="rp-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="rp type of multicast configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="multicast-configuration-id"/>
+ <xml-property name="uniqueProps" value="multicast-configuration-id"/>
+ <xml-property name="container" value="multicast-configurations"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Virtual Customer Edge Routers, used specifically for Gamma. This object is deprecated."/>
+ </xml-properties>
+ <xml-root-element name="vces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vce" name="vce" type="inventory.aai.onap.org.v13.Vce"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vce">
+ <xml-root-element name="vce"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network role being played by this VNF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpeId" name="vpe-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of VPE connected to this VCE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v6VceWanAddress" name="v6-vce-wan-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Valid v6 IP address for the WAN Link on this router. Implied length of /64."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure vce, also used for troubleshooting and is IP used for traps generated by VCE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - see child relationships"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroups" name="port-groups" type="inventory.aai.onap.org.v13.PortGroups"/>
+ <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v13.Licenses"/>
+ <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v13.Entitlements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Customer Edge Router, used specifically for Gamma. This object is deprecated."/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id"/>
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="container" value="vces"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="extends" value="vnf"/>
+ <xml-property name="uriTemplate" value="/network/vces/vce/{vnf-id}"/>
+ <xml-property name="requiredProps" value="vnf-id,vnf-name,vnf-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PortGroups">
+ <xml-root-element name="port-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="portGroup" name="port-group" type="inventory.aai.onap.org.v13.PortGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PortGroup">
+ <xml-root-element name="port-group"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceId" name="interface-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkName" name="neutron-network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network name of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupId" name="port-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for port group in vmware"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupName" name="port-group-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Likely to duplicate value of neutron network name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="switchName" name="switch-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="DVS or standard switch name (should be non-null for port groups associated with DVS)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlanTags" name="cvlan-tags" type="inventory.aai.onap.org.v13.CvlanTags"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Used to capture the network interfaces of this VCE"/>
+ <xml-property name="nameProps" value="port-group-name"/>
+ <xml-property name="indexedProps" value="port-group-id,heat-stack-id,interface-id,interface-name,switch-name"/>
+ <xml-property name="dependentOn" value="vce"/>
+ <xml-property name="container" value="port-groups"/>
+ <xml-property name="uriTemplate" value="/port-groups/port-group/{interface-id}"/>
+ <xml-property name="requiredProps" value="interface-id,orchestration-status"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CvlanTags">
+ <xml-root-element name="cvlan-tags"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cvlanTagEntry" name="cvlan-tag-entry" type="inventory.aai.onap.org.v13.CvlanTagEntry"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CvlanTagEntry">
+ <xml-root-element name="cvlan-tag-entry"/>
+ <java-attributes>
+ <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="See mis-na-virtualization-platform.yang"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="dependentOn" value="port-group"/>
+ <xml-property name="indexedProps" value="cvlan-tag"/>
+ <xml-property name="container" value="cvlan-tags"/>
+ <xml-property name="uriTemplate" value="/cvlan-tags/cvlan-tag/{cvlan-tag}"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="Vnfcs">
+ <xml-properties>
+ <xml-property name="description" value="virtual network components associated with a vserver from application controller."/>
+ </xml-properties>
+ <xml-root-element name="vnfcs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfc" name="vnfc" type="inventory.aai.onap.org.v13.Vnfc"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vnfc">
+ <xml-root-element name="vnfc"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfcName" name="vnfc-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vnfc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfcNamingCode" name="nfc-naming-code" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Short code that is used in naming instances of the item being modeled"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfcFunction" name="nfc-function" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="English description of function that the specific resource deployment is providing. Assigned as part of the customization of a resource in a service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="prov status of this vnfc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by APP-C"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4OamVip" name="ipaddress-v4-oam-vip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Oam V4 vip address of this vnfc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupNotation" name="group-notation" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group notation of VNFC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v13.L3InterfaceIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v13.L3InterfaceIpv6AddressList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vnfc-name,prov-status,nfc-function,nfc-naming-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation,model-invariant-id,model-version-id"/>
+ <xml-property name="searchable" value="vnfc-name"/>
+ <xml-property name="container" value="vnfcs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vnfcs/vnfc/{vnfc-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3Networks">
+ <xml-root-element name="l3-networks"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3Network" name="l3-network" type="inventory.aai.onap.org.v13.L3Network"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="L3Network">
+ <xml-root-element name="l3-network"/>
+ <java-attributes>
+ <xml-element java-attribute="networkId" name="network-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Network ID, should be uuid. Unique across A&amp;AI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network, governed by some naming convention.."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkType" name="network-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the network - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkRole" name="network-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role the network plans - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkTechnology" name="network-technology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network technology - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isBoundToVpn" name="is-bound-to-vpn" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Set to true if bound to VPN"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service from ASDC. Does not strictly map to ASDC services. SOON TO BE DEPRECATED"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkRoleInstance" name="network-role-instance" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="network role instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailNetworkFqdn" name="contrail-network-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contrail FQDN for the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="physicalNetworkName" name="physical-network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name associated with the physical network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isProviderNetwork" name="is-provider-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is a provider network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isSharedNetwork" name="is-shared-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is a shared network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isExternalNetwork" name="is-external-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is an external network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnets" name="subnets" type="inventory.aai.onap.org.v13.Subnets"/>
+ <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.onap.org.v13.CtagAssignments"/>
+ <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.onap.org.v13.SegmentationAssignments"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList">
+ <xml-properties>
+ <xml-property name="description" value="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Generic network definition"/>
+ <xml-property name="nameProps" value="network-name"/>
+ <xml-property name="indexedProps" value="heat-stack-id,network-uuid,service-id,network-id,network-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-network-fqdn,network-role"/>
+ <xml-property name="searchable" value="network-id,network-name"/>
+ <xml-property name="uniqueProps" value="network-id"/>
+ <xml-property name="container" value="l3-networks"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/l3-networks/l3-network/{network-id}"/>
+ <xml-property name="requiredProps" value="network-id,is-bound-to-vpn,is-provider-network,is-shared-network,is-external-network"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="NetworkPolicies">
+ <xml-root-element name="network-policies"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkPolicy" name="network-policy" type="inventory.aai.onap.org.v13.NetworkPolicy"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="NetworkPolicy">
+ <xml-root-element name="network-policy"/>
+ <java-attributes>
+ <xml-element java-attribute="networkPolicyId" name="network-policy-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID representing unique key to this instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkPolicyFqdn" name="network-policy-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contrail FQDN for the policy"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID for the openStack Heat instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="nameProps" value="network-policy-fqdn"/>
+ <xml-property name="indexedProps" value="network-policy-id,network-policy-fqdn"/>
+ <xml-property name="searchable" value="network-policy-id,network-policy-fqdn"/>
+ <xml-property name="uniqueProps" value="network-policy-id"/>
+ <xml-property name="container" value="network-policies"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/network-policies/network-policy/{network-policy-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="CtagAssignments">
+ <xml-root-element name="ctag-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagAssignment" name="ctag-assignment" type="inventory.aai.onap.org.v13.CtagAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CtagAssignment">
+ <xml-root-element name="ctag-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="id."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vlan-id-inner"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="ctag-assignments"/>
+ <xml-property name="uriTemplate" value="/ctag-assignments/ctag-assignment/{vlan-id-inner}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Subnets">
+ <xml-root-element name="subnets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="subnet" name="subnet" type="inventory.aai.onap.org.v13.Subnet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Subnet">
+ <xml-root-element name="subnet"/>
+ <java-attributes>
+ <xml-element java-attribute="subnetId" name="subnet-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Subnet ID, should be UUID."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnetName" name="subnet-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name associated with the subnet."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of this subnet"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="gatewayAddress" name="gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="gateway ip address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkStartAddress" name="network-start-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="network start address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cidrMask" name="cidr-mask" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="cidr mask"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="dhcpEnabled" name="dhcp-enabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="dhcp enabled"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpStart" name="dhcp-start" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the start address reserved for use by dhcp"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpEnd" name="dhcp-end" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the last address reserved for use by dhcp"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnetRole" name="subnet-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="role of the subnet, referenced when assigning IPs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipAssignmentDirection" name="ip-assignment-direction" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip address assignment direction of the subnet"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnetSequence" name="subnet-sequence" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="sequence of the subnet"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hostRoutes" name="host-routes" type="inventory.aai.onap.org.v13.HostRoutes"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="subnet-id,subnet-name"/>
+ <xml-property name="nameProps" value="subnet-name"/>
+ <xml-property name="uniqueProps" value="subnet-id"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="subnets"/>
+ <xml-property name="uriTemplate" value="/subnets/subnet/{subnet-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GenericVnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VNFs"/>
+ </xml-properties>
+ <xml-root-element name="generic-vnfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="genericVnf" name="generic-vnf" type="inventory.aai.onap.org.v13.GenericVnf"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GenericVnf">
+ <xml-root-element name="generic-vnf"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfInstanceId" name="vnf-instance-id" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="vnf instance id."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service, does not necessarily map to ASDC service models. SOON TO BE DEPRECATED"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ <xml-property name="suggestibleOnSearch" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational. Valid values are in-service-path and out-of-service-path."/>
+ <xml-property name="suggestibleOnSearch" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, used by MSO."/>
+ <xml-property name="suggestibleOnSearch" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfPackageName" name="vnf-package-name" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value=""/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfDiscriptorName" name="vnf-discriptor-name" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="vnf discriptor name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="jobId" name="job-id" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="job id corresponding to vnf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of managed by ATT or customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nmLanV6Address" name="nm-lan-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 Loopback address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementV6Address" name="management-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 management address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpu" name="vcpu" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpuUnits" name="vcpu-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemory" name="vmemory" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemoryUnits" name="vmemory-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdisk" name="vdisk" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdiskUnits" name="vdisk-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nshd" name="nshd" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of associated SHD in vnf."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nvm" name="nvm" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vms in vnf."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nnet" name="nnet" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of network in vnf."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether generic-vnf access uses SSH"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementAssignmentGroupUuid" name="entitlement-assignment-group-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the Entitlement group used for licensing VNFs, OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the specific entitlement resource. OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseAssignmentGroupUuid" name="license-assignment-group-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the license assignment group. OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKeyUuid" name="license-key-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the actual license resource. OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="as-number of the VNF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceSubzone" name="regional-resource-subzone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="represents sub zone of the rr plane"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfType" name="nf-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Generic description of the type of NF"/>
+ <xml-property name="suggestibleOnSearch" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfFunction" name="nf-function" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="English description of Network function that the specific VNF deployment is providing"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="role in the network that this model will be providing"/>
+ <xml-property name="suggestibleOnSearch" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfNamingCode" name="nf-naming-code" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="string assigned to this model used for naming purposes"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Gateway address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length for oam-address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Temporary location for S-TAG to get to VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nmProfileName" name="nm-profile-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network Management profile of this VNF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v13.LInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v13.LagInterfaces"/>
+ <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.onap.org.v13.VfModules"/>
+ <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v13.Licenses"/>
+ <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v13.Entitlements"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="General purpose VNF"/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,nf-type,nf-function,nf-naming-code,nf-role"/>
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2,operational-status"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="container" value="generic-vnfs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="extends" value="vnf"/>
+ <xml-property name="containsSuggestibleProps" value="true"/>
+ <xml-property name="suggestionAliases" value="VNFs"/>
+ <xml-property name="uriTemplate" value="/network/generic-vnfs/generic-vnf/{vnf-id}"/>
+ <xml-property name="requiredProps" value="vnf-id,vnf-type,in-maint,is-closed-loop-disabled"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VfModules">
+ <xml-properties>
+ <xml-property name="description" value="Collection of vf-modules, a deployment unit of VNFCs"/>
+ </xml-properties>
+ <xml-root-element name="vf-modules"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vfModule" name="vf-module" type="inventory.aai.onap.org.v13.VfModule"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VfModule">
+ <xml-root-element name="vf-module"/>
+ <java-attributes>
+ <xml-element java-attribute="vfModuleId" name="vf-module-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vf-module."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfModuleName" name="vf-module-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of vf-module"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="orchestration status of this vf-module, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isBaseVfModule" name="is-base-vf-module" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is base vf module"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="automatedAssignment" name="automated-assignment" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Indicates whether vf-module assignment was done via automation or manually"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the Contrail unique ID for a service-instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="moduleIndex" name="module-index" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="the index will track the number of modules of a given type that have been deployed in a VNF, starting with 0, and always choosing the lowest available digit"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="a deployment unit of VNFCs"/>
+ <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-service-instance-fqdn"/>
+ <xml-property name="searchable" value="vf-module-id,vf-module-name"/>
+ <xml-property name="dependentOn" value="generic-vnf"/>
+ <xml-property name="container" value="vf-modules"/>
+ <xml-property name="uriTemplate" value="/vf-modules/vf-module/{vf-module-id}"/>
+ <xml-property name="requiredProps" value="vf-module-id,is-base-vf-module,automated-assignment"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="LagLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregation connections"/>
+ </xml-properties>
+ <xml-root-element name="lag-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagLink" name="lag-link" type="inventory.aai.onap.org.v13.LagLink"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LagLink">
+ <xml-root-element name="lag-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Alphabetical concatenation of lag-interface names"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="LAG links can connect lag-interfaces"/>
+ <xml-property name="indexedProps" value="link-name"/>
+ <xml-property name="container" value="lag-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/lag-links/lag-link/{link-name}"/>
+ <xml-property name="requiredProps" value="link-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Newvces">
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce."/>
+ </xml-properties>
+ <xml-root-element name="newvces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="newvce" name="newvce" type="inventory.aai.onap.org.v13.Newvce"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Newvce">
+ <xml-root-element name="newvce"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId2" name="vnf-id2" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF, can't use same attribute name right now until we promote this new object"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (v4-loopback0-ip-address)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v13.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce."/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2"/>
+ <xml-property name="searchable" value="vnf-id2,vnf-name,vnf-name2"/>
+ <xml-property name="uniqueProps" value="vnf-id2"/>
+ <xml-property name="container" value="newvces"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/newvces/newvce/{vnf-id2}"/>
+ <xml-property name="requiredProps" value="vnf-id2,vnf-name,vnf-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Physical Network Functions."/>
+ </xml-properties>
+ <xml-root-element name="pnfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pnf" name="pnf" type="inventory.aai.onap.org.v13.Pnf"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pnf">
+ <xml-root-element name="pnf"/>
+ <java-attributes>
+ <xml-element java-attribute="pnfName" name="pnf-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique name of Physical Network Function."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfName2" name="pnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="name of Physical Network Function."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfName2Source" name="pnf-name2-source" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="source of name2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfId" name="pnf-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="id of pnf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment type. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment vendor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment model. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of managed by ATT or customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Oam" name="ipaddress-v4-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ipv4-oam-address with new naming convention for IP addresses"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="swVersion" name="sw-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="sw-version is the version of SW for the hosted application on the PNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="frameId" name="frame-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of the physical frame (relay rack) where pnf is installed."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Serial number of the device"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 OAM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CANOPI's inventory status. Only set with values exactly as defined by CANOPI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Nf Role is the role performed by this instance in the network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The ASDC model id for this resource model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The ASDC model version for this resource model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v13.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v13.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE."/>
+ <xml-property name="indexedProps" value="pnf-name,orchestration-status,inv-status,model-invariant-id,model-version-id"/>
+ <xml-property name="searchable" value="pnf-name"/>
+ <xml-property name="uniqueProps" value="pnf-name"/>
+ <xml-property name="container" value="pnfs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/pnfs/pnf/{pnf-name}"/>
+ <xml-property name="requiredProps" value="pnf-name,in-maint"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PhysicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces"/>
+ </xml-properties>
+ <xml-root-element name="physical-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="physicalLink" name="physical-link" type="inventory.aai.onap.org.v13.PhysicalLink"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PhysicalLink">
+ <xml-root-element name="physical-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Circuit it"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dualMode" name="dual-mode" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Dual access mode (e.g., primary, secondary"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="To provide information on who manages this circuit. A&amp;AI or 3rd party transport provider"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderName" name="service-provider-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the service Provider on this link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderBandwidthUpValue" name="service-provider-bandwidth-up-value" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Upstream Bandwidth value agreed with the service provider"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderBandwidthUpUnits" name="service-provider-bandwidth-up-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Units for the upstream BW value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderBandwidthDownValue" name="service-provider-bandwidth-down-value" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Downstream Bandwidth value agreed with the service provider"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderBandwidthDownUnits" name="service-provider-bandwidth-down-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Units for downstream BW value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces"/>
+ <xml-property name="indexedProps" value="circuit-id,link-name"/>
+ <xml-property name="alternateKeys1" value="circuit-id"/>
+ <xml-property name="container" value="physical-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="searchable" value="link-name,circuit-id"/>
+ <xml-property name="uriTemplate" value="/network/physical-links/physical-link/{link-name}"/>
+ <xml-property name="requiredProps" value="link-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VigServers">
+ <xml-root-element name="vig-servers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vigServer" name="vig-server" type="inventory.aai.onap.org.v13.VigServer"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VigServer">
+ <xml-root-element name="vig-server"/>
+ <java-attributes>
+ <xml-element java-attribute="vigAddressType" name="vig-address-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether the VIG is for AVPN or INTERNET"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV4Vig" name="ipaddress-v4-vig" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 IP of the vig server"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV6Vig" name="ipaddress-v6-vig" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 IP of the vig server"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607"/>
+ <xml-property name="indexedProps" value="vig-address-type"/>
+ <xml-property name="dependentOn" value="ipsec-configuration"/>
+ <xml-property name="container" value="vig-servers"/>
+ <xml-property name="uriTemplate" value="/vig-servers/vig-server/{vig-address-type}"/>
+ <xml-property name="requiredProps" value="vig-address-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="IpsecConfigurations">
+ <xml-root-element name="ipsec-configurations"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipsecConfiguration" name="ipsec-configuration" type="inventory.aai.onap.org.v13.IpsecConfiguration"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IpsecConfiguration">
+ <xml-root-element name="ipsec-configuration"/>
+ <java-attributes>
+ <xml-element java-attribute="ipsecConfigurationId" name="ipsec-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of this configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedVigAddressType" name="requested-vig-address-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicate the type of VIG server like AVPN, INTERNET, BOTH"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedEncryptionStrength" name="requested-encryption-strength" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encryption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedDmzType" name="requested-dmz-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ATT can offer a shared DMZ or a DMZ specific to a customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sharedDmzNetworkAddress" name="shared-dmz-network-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network address of shared DMZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedCustomerName" name="requested-customer-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="If the DMZ is a custom DMZ, this field will indicate the customer information"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikeVersion" name="ike-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="can be 1 or 2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1Authentication" name="ikev1-authentication" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contains values like md5, sha1, sha256, sha384"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1Encryption" name="ikev1-encryption" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1DhGroup" name="ikev1-dh-group" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Diffie-Hellman group like DH-GROUP2, DH-GROUP5, DH-GROUP14"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1AmGroupId" name="ikev1-am-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group name defined in VIG for clients using aggressive mode"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1AmPassword" name="ikev1-am-password" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="pre-shared key for the above group name "/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1SaLifetime" name="ikev1-sa-lifetime" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Lifetime for IKEv1 SA"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecAuthentication" name="ipsec-authentication" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="md5, sha1, sha256, sha384"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecEncryption" name="ipsec-encryption" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecSaLifetime" name="ipsec-sa-lifetime" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Life time for IPSec SA"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecPfs" name="ipsec-pfs" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="enable PFS or not"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="xauthUserId" name="xauth-userid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="user ID for xAuth, sm-user,ucpeHostName,nmteHostName"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="xauthUserPassword" name="xauth-user-password" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encrypted using the Juniper $9$ algorithm"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dpdInterval" name="dpd-interval" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The time between DPD probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dpdFrequency" name="dpd-frequency" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Maximum number of DPD before claiming the tunnel is down"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.onap.org.v13.VigServers"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C"/>
+ <xml-property name="indexedProps" value="ipsec-configuration-id"/>
+ <xml-property name="uniqueProps" value="ipsec-configuration-id"/>
+ <xml-property name="container" value="ipsec-configurations"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}"/>
+ <xml-property name="requiredProps" value="ipsec-configuration-id"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="NotificationEvent">
+ <xml-root-element name="notification-event"/>
+ <java-attributes>
+ <xml-element java-attribute="cambriaPartition" name="cambria.partition" type="java.lang.String"/>
+ <xml-element java-attribute="eventHeader" name="event-header" type="inventory.aai.onap.org.v13.NotificationEventHeader"/>
+ <xml-any-element java-attribute="entity"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="NotificationEventHeader">
+ <xml-root-element name="notification-event-header"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" type="java.lang.String"/>
+ <xml-element java-attribute="timestamp" name="timestamp" type="java.lang.String"/>
+ <xml-element java-attribute="sourceName" name="source-name" type="java.lang.String"/>
+ <xml-element java-attribute="domain" name="domain" type="java.lang.String"/>
+ <xml-element java-attribute="sequenceNumber" name="sequence-number" type="java.lang.String"/>
+ <xml-element java-attribute="severity" name="severity" type="java.lang.String"/>
+ <xml-element java-attribute="eventType" name="event-type" type="java.lang.String"/>
+ <xml-element java-attribute="version" name="version" type="java.lang.String"/>
+ <xml-element java-attribute="action" name="action" type="java.lang.String"/>
+ <xml-element java-attribute="entityType" name="entity-type" type="java.lang.String"/>
+ <xml-element java-attribute="topEntityType" name="top-entity-type" type="java.lang.String"/>
+ <xml-element java-attribute="entityLink" name="entity-link" type="java.lang.String"/>
+ <xml-element java-attribute="status" name="status" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="AaiInternal">
+ <xml-root-element name="aai-internal"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="reservedPropNames" name="reserved-prop-names" type="inventory.aai.onap.org.v13.ReservedPropNames"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.onap.org.v13.EdgePropNames"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="ReservedPropNames">
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define some reserved properties of a vertex"/>
+ <xml-property name="uniqueProps" value="aai-unique-key,aai-uri,aai-uuid"/>
+ <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type,aai-uri,aai-uuid"/>
+ </xml-properties>
+ <xml-root-element name="reserved-prop-names"/>
+ <java-attributes>
+ <xml-element java-attribute="lastModSourceOfTruth" name="last-mod-source-of-truth" type="java.lang.String"/>
+ <xml-element java-attribute="aaiNodeType" name="aai-node-type" type="java.lang.String"/>
+ <xml-element java-attribute="aaiCreatedTs" name="aai-created-ts" type="java.lang.Long"/>
+ <xml-element java-attribute="aaiUniqueKey" name="aai-unique-key" type="java.lang.String"/>
+ <xml-element java-attribute="aaiLastModTs" name="aai-last-mod-ts" type="java.lang.Long"/>
+ <xml-element java-attribute="sourceOfTruth" name="source-of-truth" type="java.lang.String"/>
+ <xml-element java-attribute="aaiUri" name="aai-uri" type="java.lang.String"/>
+ <xml-element java-attribute="aaiUuid" name="aai-uuid" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="EdgePropNames">
+ <!-- NOTE that the names of these properties are not consistent and are in mixed case and hyphen case for now -->
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define the properties of an edge and interpret the map EdgeRules"/>
+ <xml-property name="edgeInfo" value="aaiUuid,edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV"/>
+ <xml-property name="uniqueProps" value="aai-uuid"/>
+ <xml-property name="indexedProps" value="aai-uuid"/>
+ </xml-properties>
+ <xml-root-element name="edge-prop-names"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeLabel" name="edgeLabel" type="java.lang.String"/>
+ <xml-element java-attribute="direction" name="direction" type="java.lang.String"/>
+ <xml-element java-attribute="multiplicityRule" name="multiplicityRule" type="java.lang.String"/>
+ <xml-element java-attribute="containsOtherV" name="contains-other-v" type="java.lang.String"/>
+ <xml-element java-attribute="deleteOtherV" name="delete-other-v" type="java.lang.String"/>
+ <xml-element java-attribute="svcinfra" name="SVC-INFRA" type="java.lang.String"/>
+ <xml-element java-attribute="preventDelete" name="prevent-delete" type="java.lang.String"/>
+ <xml-element java-attribute="private" name="private" type="java.lang.Boolean"/>
+ <xml-element java-attribute="aaiUuid" name="aai-uuid" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Models">
+ <xml-properties>
+ <xml-property name="description" value="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models"/>
+ </xml-properties>
+ <xml-root-element name="models"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="model" name="model" type="inventory.aai.onap.org.v13.Model"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Model">
+ <xml-root-element name="model"/>
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version"/>
+ <xml-property name="nameProps" value="model-type"/>
+ <xml-property name="indexedProps" value="model-invariant-id,model-type"/>
+ <xml-property name="uniqueProps" value="model-invariant-id"/>
+ <xml-property name="container" value="models"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/models/model/{model-invariant-id}"/>
+ <xml-property name="requiredProps" value="model-invariant-id,model-type"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.onap.org.v13.ModelVers"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+
+ <java-type name="ModelVers">
+ <xml-root-element name="model-vers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelVer" name="model-ver" type="inventory.aai.onap.org.v13.ModelVer"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelVer">
+ <xml-root-element name="model-ver"/>
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models"/>
+ <xml-property name="nameProps" value="model-name"/>
+ <xml-property name="indexedProps" value="model-version-id,model-name,model-version,distribution-status"/>
+ <xml-property name="uniqueProps" value="model-version-id"/>
+ <xml-property name="container" value="model-vers"/>
+ <xml-property name="uriTemplate" value="/model-vers/model-ver/{model-version-id}"/>
+ <xml-property name="requiredProps" value="model-version-id,model-name,model-version"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the model, which can change from version to version."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="distributionStatus" name="distribution-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Distribution Status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v13.ModelElements"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v13.Metadata"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelElements">
+ <xml-root-element name="model-elements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelElement" name="model-element" type="inventory.aai.onap.org.v13.ModelElement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelElement">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model."/>
+ <xml-property name="uniqueProps" value="model-element-uuid"/>
+ <xml-property name="indexedProps" value="model-element-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="model-elements"/>
+ <xml-property name="uriTemplate" value="/model-elements/model-element/{model-element-uuid}"/>
+ <xml-property name="requiredProps" value="model-element-uuid,new-data-del-flag,cardinality"/>
+ </xml-properties>
+ <xml-root-element name="model-element"/>
+ <java-attributes>
+ <xml-element java-attribute="modelElementUuid" name="model-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="newDataDelFlag" name="new-data-del-flag" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates whether this element was created as part of instantiation from this model"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cardinality" name="cardinality" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="How many of this type of element are required/allowed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="linkagePoints" name="linkage-points" type="java.lang.String">
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v13.ModelElements">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelConstraints" name="model-constraints" type="inventory.aai.onap.org.v13.ModelConstraints">
+ <xml-properties>
+ <xml-property name="description" value="Describes new constraints on this model element that are not part of that model's definition"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelConstraints">
+ <xml-root-element name="model-constraints"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelConstraint" name="model-constraint" type="inventory.aai.onap.org.v13.ModelConstraint"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelConstraint">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="model-constraint-uuid"/>
+ <xml-property name="indexedProps" value="model-constraint-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="model-constraints"/>
+ <xml-property name="uriTemplate" value="/model-constraints/model-constraint/{model-constraint-uuid}"/>
+ <xml-property name="requiredProps" value="model-constraint-uuid,constrained-element-set-uuid-to-replace"/>
+ </xml-properties>
+ <xml-root-element name="model-constraint"/>
+ <java-attributes>
+ <xml-element java-attribute="modelConstraintUuid" name="model-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constrainedElementSetUuidToReplace" name="constrained-element-set-uuid-to-replace" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="constrainedElementSets" name="constrained-element-sets" type="inventory.aai.onap.org.v13.ConstrainedElementSets"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ConstrainedElementSets">
+ <xml-root-element name="constrained-element-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="constrainedElementSet" name="constrained-element-set" type="inventory.aai.onap.org.v13.ConstrainedElementSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ConstrainedElementSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="constrained-element-set-uuid"/>
+ <xml-property name="indexedProps" value="constrained-element-set-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="constrained-element-sets"/>
+ <xml-property name="uriTemplate" value="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}"/>
+ <xml-property name="requiredProps" value="constrained-element-set-uuid,constraint-type,check-type"/>
+ </xml-properties>
+ <xml-root-element name="constrained-element-set"/>
+ <java-attributes>
+ <xml-element java-attribute="constrainedElementSetUuid" name="constrained-element-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="checkType" name="check-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="elementChoiceSets" name="element-choice-sets" type="inventory.aai.onap.org.v13.ElementChoiceSets"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ElementChoiceSets">
+ <xml-root-element name="element-choice-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="elementChoiceSet" name="element-choice-set" type="inventory.aai.onap.org.v13.ElementChoiceSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ElementChoiceSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="element-choice-set-uuid"/>
+ <xml-property name="indexedProps" value="element-choice-set-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="element-choice-sets"/>
+ <xml-property name="uriTemplate" value="/element-choice-sets/element-choice-set/{element-choice-set-uuid}"/>
+ <xml-property name="requiredProps" value="element-choice-set-uuid,element-choice-set-name"/>
+ </xml-properties>
+ <xml-root-element name="element-choice-set"/>
+ <java-attributes>
+ <xml-element java-attribute="elementChoiceSetUuid" name="element-choice-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="elementChoiceSetName" name="element-choice-set-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="cardinality" name="cardinality" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v13.ModelElements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueries">
+ <xml-root-element name="named-queries"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQuery" name="named-query" type="inventory.aai.onap.org.v13.NamedQuery"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQuery">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="nameProps" value="named-query-name"/>
+ <xml-property name="uniqueProps" value="named-query-uuid"/>
+ <xml-property name="indexedProps" value="named-query-uuid,named-query-name"/>
+ <xml-property name="container" value="named-queries"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/named-queries/named-query/{named-query-uuid}"/>
+ <xml-property name="requiredProps" value="named-query-uuid,named-query-name,named-query-version"/>
+ </xml-properties>
+ <xml-root-element name="named-query"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQueryUuid" name="named-query-uuid" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="namedQueryName" name="named-query-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryVersion" name="named-query-version" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="requiredInputParams" name="required-input-param" type="java.lang.String">
+ <xml-element-wrapper name="required-input-params"/>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.onap.org.v13.NamedQueryElements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueryElements">
+ <xml-root-element name="named-query-elements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQueryElement" name="named-query-element" type="inventory.aai.onap.org.v13.NamedQueryElement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueryElement">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="named-query-element-uuid"/>
+ <xml-property name="indexedProps" value="named-query-element-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="named-query-elements"/>
+ <xml-property name="uriTemplate" value="/named-query-elements/named-query-element/{named-query-element-uuid}"/>
+ <xml-property name="requiredProps" value="named-query-element-uuid"/>
+ </xml-properties>
+ <xml-root-element name="named-query-element"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQueryElementUuid" name="named-query-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="propertyLimitDesc" name="property-limit-desc" type="java.lang.String"/>
+ <xml-element java-attribute="doNotOutput" name="do-not-output" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.onap.org.v13.NamedQueryElements"/>
+ <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.onap.org.v13.RelatedLookups"/>
+ <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.onap.org.v13.PropertyConstraints"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedLookups">
+ <xml-root-element name="related-lookups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedLookup" name="related-lookup" type="inventory.aai.onap.org.v13.RelatedLookup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedLookup">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="related-lookup-uuid"/>
+ <xml-property name="indexedProps" value="related-lookup-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="related-lookups"/>
+ <xml-property name="uriTemplate" value="/related-lookups/related-lookup/{related-lookup-uuid}"/>
+ <xml-property name="requiredProps" value="related-lookup-uuid,source-node-type,source-node-property,target-node-type,target-node-property"/>
+ </xml-properties>
+ <xml-root-element name="related-lookup"/>
+ <java-attributes>
+ <xml-element java-attribute="relatedLookupUuid" name="related-lookup-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceNodeType" name="source-node-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="sourceNodeProperty" name="source-node-property" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="targetNodeType" name="target-node-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="targetNodeProperty" name="target-node-property" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PropertyConstraints">
+ <xml-root-element name="property-constraints"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyConstraint" name="property-constraint" type="inventory.aai.onap.org.v13.PropertyConstraint"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PropertyConstraint">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="property-constraint-uuid"/>
+ <xml-property name="indexedProps" value="property-constraint-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="property-constraints"/>
+ <xml-property name="uriTemplate" value="/property-constraints/property-constraint/{property-constraint-uuid}"/>
+ <xml-property name="requiredProps" value="property-constraint-uuid,constraint-type,property-name,property-value"/>
+ </xml-properties>
+ <xml-root-element name="property-constraint"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyConstraintUuid" name="property-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="propertyName" name="property-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelAndNamedQuerySearch">
+ <xml-properties>
+ <xml-property name="description" value="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="model-and-named-query-search"/>
+ <java-attributes>
+ <xml-element java-attribute="queryParameters" name="query-parameters" type="inventory.aai.onap.org.v13.QueryParameters"/>
+ <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.onap.org.v13.InstanceFilters"/>
+ <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.onap.org.v13.SecondaryFilts"/>
+ <xml-element java-attribute="topNodeType" name="top-node-type" type="java.lang.String"/>
+ <xml-element java-attribute="secondaryFilterCutPoint" name="secondary-filter-cut-point" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="QueryParameters">
+ <xml-properties>
+ <xml-property name="description" value="QueryParameters for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="query-parameters"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQuery" name="named-query" type="inventory.aai.onap.org.v13.NamedQuery"/>
+ <xml-element java-attribute="model" name="model" type="inventory.aai.onap.org.v13.OverloadedModel"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OverloadedModel">
+ <xml-root-element name="overloaded-model"/>
+ <xml-properties>
+ <xml-property name="description" value="Allows for legacy POST of old-style and new-style models"/>
+ <xml-property name="requiredProps" value="model-invariant-id,model-name-version-id,model-type,model-name,model-id,model-version"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelNameVersionId" name="model-name-version-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the model, which can change from version to version."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelId" name="model-id" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Invariant unique ID which does not change from version to version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.onap.org.v13.ModelVers"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceFilters">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilters for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="instance-filters"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="instanceFilter" name="instance-filter" type="inventory.aai.onap.org.v13.InstanceFilter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceFilter">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilter for performing a named-query or model query"/>
+ <xml-property name="container" value="instance-filters"/>
+ </xml-properties>
+ <xml-root-element name="instance-filter"/>
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilts">
+ <xml-properties>
+ <xml-property name="description" value="SecondaryFilts for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="secondary-filts"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilt" name="secondary-filt" type="inventory.aai.onap.org.v13.SecondaryFilt"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilt">
+ <xml-properties>
+ <xml-property name="description" value="SecondaryFilt for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="secondary-filt"/>
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Properties">
+ <xml-properties>
+ <xml-property name="description" value="Property holder for query properties or instance properties"/>
+ </xml-properties>
+ <xml-root-element name="properties"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ResponseList">
+ <xml-properties>
+ <xml-property name="description" value="Response container for the results of a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="response-list"/>
+ <java-attributes>
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v13.InventoryResponseItems"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryResponseItems">
+ <xml-properties>
+ <xml-property name="description" value="Container for inventory items in response list"/>
+ <xml-property name="container" value="response-list"/>
+ </xml-properties>
+ <xml-root-element name="inventory-response-items"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryResponseItem" name="inventory-response-item" type="inventory.aai.onap.org.v13.InventoryResponseItem"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryResponseItem">
+ <xml-properties>
+ <xml-property name="description" value="Inventory item for response list"/>
+ <xml-property name="container" value="inventory-response-items"/>
+ </xml-properties>
+ <xml-root-element name="inventory-response-item"/>
+ <java-attributes>
+ <xml-element java-attribute="modelName" name="model-name" type="java.lang.String"/>
+ <xml-any-element java-attribute="item"/>
+ <xml-element java-attribute="extraProperties" name="extra-properties" type="inventory.aai.onap.org.v13.ExtraProperties"/>
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v13.InventoryResponseItems"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExtraProperties">
+ <xml-properties>
+ <xml-property name="description" value="Extra properties for inventory item for response list"/>
+ </xml-properties>
+ <xml-root-element name="extra-properties"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="extraProperty" name="extra-property" type="inventory.aai.onap.org.v13.ExtraProperty"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExtraProperty">
+ <xml-root-element name="extra-property"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RouteTableReferences">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack route table references"/>
+ </xml-properties>
+ <xml-root-element name="route-table-references"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routeTableReference" name="route-table-reference" type="inventory.aai.onap.org.v13.RouteTableReference"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RouteTableReference">
+ <xml-root-element name="route-table-reference"/>
+ <java-attributes>
+ <xml-element java-attribute="routeTableReferenceId" name="route-table-reference-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTableReferenceFqdn" name="route-table-reference-fqdn" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="FQDN entry in the route table."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Openstack route table reference."/>
+ <xml-property name="nameProps" value="route-table-reference-fqdn"/>
+ <xml-property name="uniqueProps" value="route-table-reference-id"/>
+ <xml-property name="indexedProps" value="route-table-reference-id,route-table-reference-fqdn"/>
+ <xml-property name="container" value="route-table-references"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/route-table-references/route-table-reference/{route-table-reference-id}"/>
+ <xml-property name="requiredProps" value="route-table-reference-id,route-table-reference-fqdn"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="InstanceGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack route table references"/>
+ </xml-properties>
+ <xml-root-element name="instance-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="instanceGroup" name="instance-group" type="inventory.aai.onap.org.v13.InstanceGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceGroup">
+ <xml-root-element name="instance-group"/>
+ <java-attributes>
+
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Instance Group ID, UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+
+ <xml-element java-attribute="instanceGroupRole" name="instance-group-role" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="role of the instance group."/>
+ </xml-properties>
+ </xml-element>
+
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+
+ <xml-element java-attribute="modelVersionId" name="model-version-id" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ASDC model version uid for this resource model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Descriptive text to help identify the usage of this instance-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="instanceGroupType" name="instance-group-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Only valid value today is lower case ha for high availability"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+
+ <xml-element java-attribute="instanceGroupName" name="instance-group-name" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Instance-Group Name."/>
+ </xml-properties>
+ </xml-element>
+
+ <xml-element java-attribute="instanceGroupFunction" name="instance-group-function" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Instance-Group Function"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="General mechanism for grouping instances"/>
+ <xml-property name="nameProps" value="description,instance-group-name"/>
+ <xml-property name="uniqueProps" value="id"/>
+ <xml-property name="searchable" value="id,description"/>
+ <xml-property name="indexedProps" value="id,description,type,sub-type,model-invariant-id,model-version-id"/>
+ <xml-property name="container" value="instance-groups"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/instance-groups/instance-group/{id}"/>
+ <xml-property name="requiredProps" value="id,description,instance-group-type"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="SegmentationAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack segmentation assignments"/>
+ </xml-properties>
+ <xml-root-element name="segmentation-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.onap.org.v13.SegmentationAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SegmentationAssignment">
+ <xml-root-element name="segmentation-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack segmentation assignment."/>
+ <xml-property name="indexedProps" value="segmentation-id"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="segmentation-assignments"/>
+ <xml-property name="uriTemplate" value="/segmentation-assignments/segmentation-assignment/{segmentation-id}"/>
+ <xml-property name="requiredProps" value="segmentation-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="AllottedResources">
+ <xml-properties>
+ <xml-property name="description" value="This object is used to store slices of services being offered"/>
+ </xml-properties>
+ <xml-root-element name="allotted-resources"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="allottedResource" name="allotted-resource" type="inventory.aai.onap.org.v13.AllottedResource"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AllottedResource">
+ <xml-root-element name="allotted-resource"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Allotted Resource id UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The descriptive information assigned to this allotted resource instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Link back to more information in the controller"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="type" name="type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Generic description of the type of allotted resource."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="role" name="role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="role in the network that this resource will be providing."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tunnelXconnects" name="tunnel-xconnects" type="inventory.aai.onap.org.v13.TunnelXconnects"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Represents a slice or partial piece of a resource that gets separately allotted"/>
+ <xml-property name="nameProps" value="description"/>
+ <xml-property name="uniqueProps" value="id"/>
+ <xml-property name="indexedProps" value="id,model-invariant-id,model-version-id,type,role"/>
+ <xml-property name="dependentOn" value="service-instance"/>
+ <xml-property name="container" value="allotted-resources"/>
+ <!-- <xml-property name="namespace" value="network" /> -->
+ <xml-property name="uriTemplate" value="/allotted-resources/allotted-resource/{id}"/>
+ <xml-property name="requiredProps" value="id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="TunnelXconnects">
+ <xml-properties>
+ <xml-property name="description" value="This object is used to store the specific tunnel cross connect aspects of an allotted resource"/>
+ </xml-properties>
+ <xml-root-element name="tunnel-xconnects"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tunnelXconnect" name="tunnel-xconnect" type="inventory.aai.onap.org.v13.TunnelXconnect"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="TunnelXconnect">
+ <xml-root-element name="tunnel-xconnect"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Allotted Resource id UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN uplink bandwidth for WAN1"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN downlink bandwidth for WAN1"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN uplink bandwidth for WAN2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN downlink bandwidth for WAN2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted"/>
+ <xml-property name="uniqueProps" value="id"/>
+ <xml-property name="indexedProps" value="id"/>
+ <xml-property name="dependentOn" value="allotted-resource"/>
+ <xml-property name="container" value="tunnel-xconnects"/>
+ <!-- <xml-property name="namespace" value="network" /> -->
+ <xml-property name="uriTemplate" value="/tunnel-xconnects/tunnel-xconnect/{id}"/>
+ <xml-property name="requiredProps" value="id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Entitlements">
+ <xml-properties>
+ <xml-property name="description" value="Entitlements, keyed by group-uuid and resource-uuid, related to license management"/>
+ </xml-properties>
+ <xml-root-element name="entitlements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="entitlement" name="entitlement" type="inventory.aai.onap.org.v13.Entitlement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Entitlement">
+ <xml-root-element name="entitlement"/>
+ <java-attributes>
+ <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for the entitlement group the resource comes from, should be uuid."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of an entitlement resource. "/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Metadata for entitlement group."/>
+ <xml-property name="indexedProps" value="group-uuid,resource-uuid"/>
+ <xml-property name="dependentOn" value="generic-vnf,vce"/>
+ <xml-property name="container" value="entitlements"/>
+ <xml-property name="uriTemplate" value="/entitlements/entitlement/{group-uuid}/{resource-uuid}"/>
+ <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="Licenses">
+ <xml-properties>
+ <xml-property name="description" value="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management"/>
+ </xml-properties>
+ <xml-root-element name="licenses"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="license" name="license" type="inventory.aai.onap.org.v13.License"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="License">
+ <xml-root-element name="license"/>
+ <java-attributes>
+ <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for the license group the resource belongs to, should be uuid."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of a license resource. "/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Metadata for license group."/>
+ <xml-property name="indexedProps" value="group-uuid,resource-uuid"/>
+ <xml-property name="dependentOn" value="generic-vnf,vce"/>
+ <xml-property name="container" value="licenses"/>
+ <xml-property name="uriTemplate" value="/licenses/license/{group-uuid}/{resource-uuid}"/>
+ <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vnf">
+ <xml-root-element name="vnf"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Abstract vnf class"/>
+ <xml-property name="indexedProps" value="vnf-id"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="inheritors" value="vce,generic-vnf"/>
+ <xml-property name="abstract" value="true"/>
+ <xml-property name="requiredProps" value="vnf-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Zones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of zones"/>
+ </xml-properties>
+ <xml-root-element name="zones"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="zone" name="zone" type="inventory.aai.onap.org.v13.Zone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Zone">
+ <xml-root-element name="zone"/>
+ <java-attributes>
+ <xml-element java-attribute="zoneId" name="zone-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Code assigned by AIC to the zone"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="zoneName" name="zone-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="English name associated with the zone"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="designType" name="design-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Design of zone [Medium/Large…]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="zoneContext" name="zone-context" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Context of zone [production/test]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="status" name="status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Status of a zone."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="A zone is a grouping of assets in a location homing to the same connections into the CBB"/>
+ <xml-property name="nameProps" value="zone-name"/>
+ <xml-property name="indexedProps" value="zone-id,design-type,zone-context"/>
+ <xml-property name="uniqueProps" value="zone-id"/>
+ <xml-property name="container" value="zones"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/zones/zone/{zone-id}"/>
+ <xml-property name="requiredProps" value="zone-id,zone-name,design-type,zone-context"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="RouteTargets">
+ <xml-properties>
+ <xml-property name="description" value="Collection of route target information"/>
+ </xml-properties>
+ <xml-root-element name="route-targets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routeTarget" name="route-target" type="inventory.aai.onap.org.v13.RouteTarget"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="RouteTarget">
+ <xml-root-element name="route-target"/>
+ <java-attributes>
+ <xml-element java-attribute="globalRouteTarget" name="global-route-target" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Number used to identify an RT, globally unique in the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTargetRole" name="route-target-role" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this route target"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Route target information"/>
+ <xml-property name="container" value="route-targets"/>
+ <xml-property name="dependentOn" value="vpn-binding"/>
+ <xml-property name="canBeLinked" value="true"/>
+ <xml-property name="uriTemplate" value="/route-targets/route-target/{global-route-target}/{route-target-role}"/>
+ <xml-property name="requiredProps" value="global-route-target,route-target-role"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SriovPfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of SR-IOV Physical Functions."/>
+ </xml-properties>
+ <xml-root-element name="sriov-pfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sriovPf" name="sriov-pf" type="inventory.aai.onap.org.v13.SriovPf"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="SriovPf">
+ <xml-root-element name="sriov-pf"/>
+ <java-attributes>
+ <xml-element java-attribute="pfPciId" name="pf-pci-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifier for the sriov-pf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="SR-IOV Physical Function"/>
+ <xml-property name="indexedProps" value="pf-pci-id"/>
+ <xml-property name="dependentOn" value="p-interface"/>
+ <xml-property name="container" value="sriov-pfs"/>
+ <xml-property name="uriTemplate" value="/sriov-pfs/sriov-pf/{pf-pci-id}"/>
+ <xml-property name="requiredProps" value="pf-pci-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="HostRoutes">
+ <xml-root-element name="host-routes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="hostRoute" name="host-route" type="inventory.aai.onap.org.v13.HostRoute"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="HostRoute">
+ <xml-root-element name="host-route"/>
+ <java-attributes>
+ <xml-element java-attribute="hostRouteId" name="host-route-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="host-route id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routePrefix" name="route-prefix" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="subnet prefix"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nextHop" name="next-hop" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Could be ip-address, hostname, or service-instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nextHopType" name="next-hop-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Should be ip-address, hostname, or service-instance to match next-hop"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="host-route-id"/>
+ <xml-property name="dependentOn" value="subnet"/>
+ <xml-property name="container" value="host-routes"/>
+ <xml-property name="uriTemplate" value="/host-routes/host-route/{host-route-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VipIpv4AddressList">
+ <xml-root-element name="vip-ipv4-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="vipIpv4Address" name="vip-ipv4-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vipIpv4PrefixLength" name="vip-ipv4-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 32 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv4 Address Range"/>
+ <xml-property name="indexedProps" value="vip-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="uriTemplate" value="/vip-ipv4-address-list/{vip-ipv4-address}"/>
+ <xml-property name="requiredProps" value="vip-ipv4-address"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VipIpv6AddressList">
+ <xml-root-element name="vip-ipv6-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="vipIpv6Address" name="vip-ipv6-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vipIpv6PrefixLength" name="vip-ipv6-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 128 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv6 Address Range"/>
+ <xml-property name="indexedProps" value="vip-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="uriTemplate" value="/vip-ipv6-address-list/{vip-ipv6-address}"/>
+ <xml-property name="requiredProps" value="vip-ipv6-address"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="OperationalEnvironments">
+ <xml-properties>
+ <xml-property name="description" value="a logical partition of the cloud which allows to have multiple environments in the production AIC."/>
+ </xml-properties>
+ <xml-root-element name="operational-environments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="operationalEnvironment" name="operational-environment" type="inventory.aai.onap.org.v13.OperationalEnvironment"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="OperationalEnvironment">
+ <xml-root-element name="operational-environment"/>
+ <java-attributes>
+ <xml-element java-attribute="operationalEnvironmentId" name="operational-environment-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of an operational environment"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalEnvironmentName" name="operational-environment-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operational Environment name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalEnvironmentType" name="operational-environment-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operational Environment Type."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalEnvironmentStatus" name="operational-environment-status" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tenantContext" name="tenant-context" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Tenant Context."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="workloadContext" name="workload-context" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Workload Context."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="It is a logical partition of the cloud which allows to have multiple environments in the production AIC."/>
+ <xml-property name="indexedProps" value="operational-environment-id"/>
+ <xml-property name="nameProps" value="operational-environment-name"/>
+ <xml-property name="uniqueProps" value="operational-environment-id"/>
+ <xml-property name="container" value="operational-environments"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/operational-environments/operational-environment/{operational-environment-id}"/>
+ <xml-property name="requiredProps" value="operational-environment-id,operational-environment-name,operational-environment-type,operational-environment-status,tenant-context,workload-context"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ForwardingPaths">
+ <xml-root-element name="forwarding-paths"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="forwardingPath" name="forwarding-path" type="inventory.aai.onap.org.v13.ForwardingPath"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ForwardingPath">
+ <xml-root-element name="forwarding-path"/>
+ <xml-properties>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="indexedProps" value="forwarding-path-id,forwarding-path-name"/>
+ <xml-property name="description" value="Entity that describes the sequenced forwarding path between interfaces of services or resources"/>
+ <xml-property name="container" value="forwarding-paths"/>
+ <xml-property name="nameProps" value="forwarding-path-name"/>
+ <xml-property name="uniqueProps" value="forwarding-path-id"/>
+ <xml-property name="uriTemplate" value="/network/forwarding-paths/forwarding-path/{forwarding-path-id}"/>
+ <xml-property name="requiredProps" value="forwarding-path-id,forwarding-path-name"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="forwardingPathId" name="forwarding-path-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of this FP"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="forwardingPathName" name="forwarding-path-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the FP"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the self link for this FP"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="forwarders" name="forwarders" type="inventory.aai.onap.org.v13.Forwarders"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Forwarders">
+ <xml-root-element name="forwarders"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="forwarder" name="forwarder" type="inventory.aai.onap.org.v13.Forwarder"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Forwarder">
+ <xml-root-element name="forwarder"/>
+ <xml-properties>
+ <xml-property name="indexedProps" value="sequence"/>
+ <xml-property name="description" value="Entity describing a sequenced segment of forwarding path"/>
+ <xml-property name="container" value="forwarders"/>
+ <xml-property name="dependentOn" value="forwarding-path"/>
+ <xml-property name="uriTemplate" value="/forwarders/forwarder/{sequence}"/>
+ <xml-property name="requiredProps" value="sequence"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="sequence" name="sequence" required="true" type="java.lang.Integer" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of this segmentation"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="forwarderRole" name="forwarder-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ingress, intermediate, egress"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ForwarderEvcs">
+ <xml-root-element name="forwarder-evcs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="forwarderEvc" name="forwarder-evc" type="inventory.aai.onap.org.v13.ForwarderEvc"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ForwarderEvc">
+ <xml-root-element name="forwarder-evc"/>
+ <java-attributes>
+ <xml-element java-attribute="forwarderEvcId" name="forwarder-evc-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Key for forwarder-evc object"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Circuit ID from customer/ESP/ingress end of EVC, or reference to beater circuit on gateway/network/egress end of EVC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ivlan" name="ivlan" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Internal VLAN."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="svlan" name="svlan" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="SVLAN value for ingress of egress forwarder."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlan" name="cvlan" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CVLAN value for ingress of egress forwarder."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="forwarder object is an optional child object of the Configuration object."/>
+ <xml-property name="dependentOn" value="configuration"/>
+ <xml-property name="uniqueProps" value="forwarder-evc-id"/>
+ <xml-property name="container" value="forwarder-evcs"/>
+ <xml-property name="uriTemplate" value="/forwarder-evcs/forwarder-evc/{forwarder-evc-id}"/>
+ <xml-property name="requiredProps" value="forwarder-evc-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Evcs">
+ <xml-root-element name="evcs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="evc" name="evc" type="inventory.aai.onap.org.v13.Evc"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Evc">
+ <xml-root-element name="evc"/>
+ <java-attributes>
+ <xml-element java-attribute="evcId" name="evc-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique/key field for the evc object"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="forwardingPathTopology" name="forwarding-path-topology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Point-to-Point, Multi-Point"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cirValue" name="cir-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Commited Information Rate"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cirUnits" name="cir-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CIR units"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="connectionDiversityGroupId" name="connection-diversity-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Diversity Group ID"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceHours" name="service-hours" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="formerly Performance Group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="espEvcCircuitId" name="esp-evc-circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="EVC Circuit ID of ESP EVC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="espEvcCirValue" name="esp-evc-cir-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Committed Information Rate (For ESP)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="espEvcCirUnits" name="esp-evc-cir-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CIR units (For ESP)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="espItuCode" name="esp-itu-code" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Identifies ESP"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="collectorPopClli" name="collector-pop-clli" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Collector POP CLLI (from the hostname of the access pnf)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interConnectTypeIngress" name="inter-connect-type-ingress" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Interconnect type on ingress side of EVC."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tagmodeAccessIngress" name="tagmode-access-ingress" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="tagode for collector side of EVC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tagmodeAccessEgress" name="tagmode-access-egress" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="tagMode for network side of EVC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="evc object is an optional child object of the Configuration object."/>
+ <xml-property name="dependentOn" value="configuration"/>
+ <xml-property name="uniqueProps" value="evc-id"/>
+ <xml-property name="container" value="evcs"/>
+ <xml-property name="uriTemplate" value="/evcs/evc/{evc-id}"/>
+ <xml-property name="requiredProps" value="evc-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Collections">
+ <xml-root-element name="collections"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="collection" name="collection" type="inventory.aai.onap.org.v13.Collection"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Collection">
+ <xml-root-element name="collection"/>
+ <java-attributes>
+ <xml-element java-attribute="collectionId" name="collection-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Collection Object UUID"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ASDC model id for this resource or service model"/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Model Version"/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="collectionName" name="collection-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="collection name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="collectionType" name="collection-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Collection type"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="collectionRole" name="collection-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Collection Role"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="collectionFunction" name="collection-function" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Collection function"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="orchestration status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="collectionCustomizationId" name="collection-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the id of all the configuration used to customize the resource for the service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="description" value="represents the collection resource in the TOSCA model"/>
+ <xml-property name="uniqueProps" value="collection-id"/>
+ <xml-property name="indexedProps" value="collection-id,model-invariant-id,model-version-id"/>
+ <xml-property name="container" value="collections"/>
+ <xml-property name="uriTemplate" value="/network/collections/collection/{collection-id}"/>
+ <xml-property name="requiredProps" value="collection-id"/>
+ </xml-properties>
+ </java-type>
+
+ </java-types>
+</xml-bindings>
diff --git a/aai-core/src/test/resources/onap/oxm/v14/aai_oxm_v14.xml b/aai-core/src/test/resources/onap/oxm/v14/aai_oxm_v14.xml
new file mode 100644
index 00000000..bb9b2eab
--- /dev/null
+++ b/aai-core/src/test/resources/onap/oxm/v14/aai_oxm_v14.xml
@@ -0,0 +1,8485 @@
+<!--
+ ============LICENSE_START=======================================================
+ org.onap.aai
+ ================================================================================
+ Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ Copyright (C) 2018 Huawei Technologies (Australia) Pty Ltd. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ============LICENSE_END=========================================================
+ -->
+<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v14" xml-mapping-metadata-complete="true">
+ <xml-schema element-form-default="QUALIFIED">
+ <xml-ns namespace-uri="http://org.onap.aai.inventory/v14"/>
+ </xml-schema>
+ <java-types>
+ <java-type name="Inventory">
+ <xml-root-element name="inventory"/>
+ <java-attributes>
+ <xml-element java-attribute="search" name="search" type="inventory.aai.onap.org.v14.Search"/>
+ <xml-element java-attribute="actions" name="actions" type="inventory.aai.onap.org.v14.Actions"/>
+ <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.onap.org.v14.CloudInfrastructure"/>
+ <xml-element java-attribute="externalSystem" name="external-system" type="inventory.aai.onap.org.v14.ExternalSystem"/>
+ <xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v14.Business"/>
+ <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.onap.org.v14.ServiceDesignAndCreation"/>
+ <xml-element java-attribute="network" name="network" type="inventory.aai.onap.org.v14.Network"/>
+ <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.onap.org.v14.AaiInternal"/>
+ <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.onap.org.v14.Nodes"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Nodes">
+ <xml-root-element name="nodes"/>
+ </java-type>
+ <java-type name="Search">
+ <xml-root-element name="search"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeTagQueryResult" name="edge-tag-query-result" type="inventory.aai.onap.org.v14.EdgeTagQueryResult"/>
+ <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.onap.org.v14.EdgeTagQueryRequest"/>
+ <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.onap.org.v14.SearchResults"/>
+ <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.onap.org.v14.SdnZoneResponse"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EdgeTagQueryResult">
+ <xml-root-element name="edge-tag-query-result"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v14.TaggedInventoryItemList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="TaggedInventoryItemList">
+ <xml-root-element name="tagged-inventory-item-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItem" name="inventory-item" type="inventory.aai.onap.org.v14.InventoryItem"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryItem">
+ <xml-root-element name="inventory-item"/>
+ <java-attributes>
+ <xml-element java-attribute="inventoryItemType" name="inventory-item-type" type="java.lang.String"/>
+ <xml-element java-attribute="inventoryItemLink" name="inventory-item-link" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItemData" name="inventory-item-data" type="inventory.aai.onap.org.v14.InventoryItemData"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v14.TaggedInventoryItemList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryItemData">
+ <xml-root-element name="inventory-item-data"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EdgeTagQueryRequest">
+ <xml-root-element name="edge-tag-query-request"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeTag" name="edge-tag" type="java.lang.String"/>
+ <xml-element java-attribute="resultDetail" name="result-detail" type="java.lang.String"/>
+ <xml-element java-attribute="startNodeType" name="start-node-type" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="startNodeFilter" name="start-node-filter" type="inventory.aai.onap.org.v14.StartNodeFilter"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.onap.org.v14.IncludeNodeFilter"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.onap.org.v14.SecondaryFilter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="StartNodeFilter">
+ <xml-root-element name="start-node-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IncludeNodeFilter">
+ <xml-root-element name="include-node-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="includeNodeType" name="include-node-type" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilter">
+ <xml-root-element name="secondary-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="filterType" name="filter-type" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SearchResults">
+ <xml-root-element name="search-results"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="resultData" name="result-data" type="inventory.aai.onap.org.v14.ResultData"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ResultData">
+ <xml-root-element name="result-data"/>
+ <java-attributes>
+ <xml-element java-attribute="resourceType" name="resource-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The specific type of node in the A&amp;AI graph"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceLink" name="resource-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The URL to the specific resource"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SdnZoneResponse">
+ <xml-root-element name="sdn-zone-response"/>
+ <java-attributes>
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v14.OamNetworks"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.onap.org.v14.AzAndDvsSwitches"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AzAndDvsSwitches">
+ <xml-root-element name="az-and-dvs-switches"/>
+ <java-attributes>
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v14.DvsSwitches"/>
+ <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v14.AvailabilityZone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Actions">
+ <xml-properties>
+ <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)."/>
+ </xml-properties>
+ <xml-root-element name="actions"/>
+ <java-attributes>
+ <xml-element java-attribute="update" name="update" type="inventory.aai.onap.org.v14.Update"/>
+ <xml-element java-attribute="notify" name="notify" type="inventory.aai.onap.org.v14.Notify"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Update">
+ <xml-properties>
+ <xml-property name="description" value="Serves a PATCH like function. Does not enforce concurrency control. Clear each usage with AAI team."/>
+ <xml-property name="requiredProps" value="update-node-type"/>
+ </xml-properties>
+ <xml-root-element name="update"/>
+ <java-attributes>
+ <xml-element java-attribute="updateNodeType" name="update-node-type" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="updateNodeKey" name="update-node-key" type="inventory.aai.onap.org.v14.UpdateNodeKey"/>
+ <xml-element java-attribute="updateNodeUri" name="update-node-uri" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="action" name="action" type="inventory.aai.onap.org.v14.Action"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Action">
+ <xml-root-element name="action"/>
+ <java-attributes>
+ <xml-element java-attribute="actionType" name="action-type" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="actionData" name="action-data" type="inventory.aai.onap.org.v14.ActionData"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ActionData">
+ <xml-root-element name="action-data"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="UpdateNodeKey">
+ <xml-root-element name="update-node-key"/>
+ <java-attributes>
+ <xml-element java-attribute="keyName" name="key-name" type="java.lang.String"/>
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Notify">
+ <xml-root-element name="notify"/>
+ <java-attributes>
+ <xml-element java-attribute="eventId" name="event-id" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="nodeType" name="node-type" type="java.lang.String"/>
+ <xml-element java-attribute="eventTrigger" name="event-trigger" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="keyData" name="key-data" type="inventory.aai.onap.org.v14.KeyData"/>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="KeyData">
+ <xml-root-element name="key-data"/>
+ <java-attributes>
+ <xml-element java-attribute="keyName" name="key-name" type="java.lang.String"/>
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExternalSystem">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for external system."/>
+ </xml-properties>
+ <xml-root-element name="external-system"/>
+ <java-attributes>
+ <xml-element java-attribute="esrEmsList" name="esr-ems-list" type="inventory.aai.onap.org.v14.EsrEmsList"/>
+ <xml-element java-attribute="esrVnfmList" name="esr-vnfm-list" type="inventory.aai.onap.org.v14.EsrVnfmList"/>
+ <xml-element java-attribute="esrThirdpartySdncList" name="esr-thirdparty-sdnc-list" type="inventory.aai.onap.org.v14.EsrThirdpartySdncList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EsrEmsList">
+ <xml-root-element name="esr-ems-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="esrEms" name="esr-ems" type="inventory.aai.onap.org.v14.EsrEms"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrEms">
+ <xml-root-element name="esr-ems"/>
+ <java-attributes>
+ <xml-element java-attribute="emsId" name="ems-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of EMS."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v14.EsrSystemInfoList"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persist EMS address information used by EMS driver."/>
+ <xml-property name="indexedProps" value="ems-id"/>
+ <xml-property name="searchable" value="ems-id"/>
+ <xml-property name="container" value="esr-ems-list"/>
+ <xml-property name="namespace" value="external-system"/>
+ <xml-property name="requiredProps" value="ems-id"/>
+ <xml-property name="uriTemplate" value="/external-system/esr-ems-list/esr-ems/{ems-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrVnfmList">
+ <xml-root-element name="esr-vnfm-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="esrVnfm" name="esr-vnfm" type="inventory.aai.onap.org.v14.EsrVnfm"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrVnfm">
+ <xml-root-element name="esr-vnfm"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfmId" name="vnfm-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of VNFM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vimId" name="vim-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indecate the VIM to deploy VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="certificateUrl" name="certificate-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="certificate url of VNFM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v14.EsrSystemInfoList"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persist VNFM address information used by VF-C."/>
+ <xml-property name="indexedProps" value="vnfm-id"/>
+ <xml-property name="searchable" value="vnfm-id"/>
+ <xml-property name="container" value="esr-vnfm-list"/>
+ <xml-property name="namespace" value="external-system"/>
+ <xml-property name="requiredProps" value="vnfm-id"/>
+ <xml-property name="uriTemplate" value="/external-system/esr-vnfm-list/esr-vnfm/{vnfm-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrThirdpartySdncList">
+ <xml-root-element name="esr-thirdparty-sdnc-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="esrThirdpartySdnc" name="esr-thirdparty-sdnc" type="inventory.aai.onap.org.v14.EsrThirdpartySdnc"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrThirdpartySdnc">
+ <xml-root-element name="esr-thirdparty-sdnc"/>
+ <java-attributes>
+ <xml-element java-attribute="thirdpartySdncId" name="thirdparty-sdnc-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of SDNC."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="location" name="location" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="used for DC type to indicate the location of SDNC, such as Core or Edge."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="productName" name="product-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="password used to access SDNC server."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v14.EsrSystemInfoList"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persist SDNC address information used by ONAP SDNC."/>
+ <xml-property name="indexedProps" value="sdnc-id"/>
+ <xml-property name="searchable" value="sdnc-id"/>
+ <xml-property name="container" value="esr-thirdparty-sdnc-list"/>
+ <xml-property name="namespace" value="external-system"/>
+ <xml-property name="requiredProps" value="thirdparty-sdnc-id"/>
+ <xml-property name="uriTemplate" value="/external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/{thirdparty-sdnc-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrSystemInfoList">
+ <xml-root-element name="esr-system-info-list"/>
+ <xml-properties>
+ <xml-property name="description" value="Collection of persistent block-level external system auth info."/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="esrSystemInfo" name="esr-system-info" type="inventory.aai.onap.org.v14.EsrSystemInfo"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrSystemInfo">
+ <xml-root-element name="esr-system-info"/>
+ <java-attributes>
+ <xml-element java-attribute="esrSystemInfoId" name="esr-system-info-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of esr system info."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="systemName" name="system-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="name of external system."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="type" name="type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="type of external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vendor" name="vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="vendor of external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="version" name="version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="version of external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceUrl" name="service-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="url used to access external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="userName" name="user-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="username used to access external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="password" name="password" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="password used to access external systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="systemType" name="system-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="it could be vim/vnfm/thirdparty-sdnc/ems-resource/ems-performance/ems-alarm."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="protocol" name="protocol" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="protocol of third party SDNC, for example netconf/snmp."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sslCacert" name="ssl-cacert" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ca file content if enabled ssl on auth-url."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="sslInsecure" name="ssl-insecure" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Whether to verify VIM's certificate."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipAddress" name="ip-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="service IP of ftp server."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="port" name="port" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="service port of ftp server."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudDomain" name="cloud-domain" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="domain info for authentication."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="defaultTenant" name="default-tenant" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="default tenant of VIM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="passive" name="passive" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="ftp passive mode or not."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="remotePath" name="remote-path" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="resource or performance data file path."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="systemStatus" name="system-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the status of external system."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="openstackRegionId" name="openstack-region-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OpenStack region ID used by MultiCloud plugin to interact with an OpenStack instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persist common address information of external systems."/>
+ <xml-property name="indexedProps" value="esr-system-info-id,system-name,system-type"/>
+ <xml-property name="searchable" value="esr-system-info-id,system-name,system-type"/>
+ <xml-property name="container" value="esr-system-info-list"/>
+ <xml-property name="dependentOn" value="cloud-region,esr-ems,esr-vnfm,esr-thirdparty-sdnc,ext-aai-network"/>
+ <xml-property name="requiredProps" value="esr-system-info-id,user-name,password,system-type"/>
+ <xml-property name="uriTemplate" value="/esr-system-info-list/esr-system-info/{esr-system-info-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="HpaCapabilities">
+ <xml-properties>
+ <xml-property name="description" value="Collection of HPA Capabilities"/>
+ </xml-properties>
+ <xml-root-element name="hpa-capabilities"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="hpaCapability" name="hpa-capability" type="inventory.aai.onap.org.v14.HpaCapability"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="HpaCapability">
+ <xml-root-element name="hpa-capability"/>
+ <java-attributes>
+ <xml-element java-attribute="hpaCapabilityId" name="hpa-capability-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID to uniquely identify a HPA capability"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hpaFeature" name="hpa-feature" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the HPACapability"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hpaVersion" name="hpa-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="HPA schema version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="architecture" name="architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Hardware architecture"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="hpaFeatureAttributes" name="hpa-feature-attributes" type="inventory.aai.onap.org.v14.HpaFeatureAttributes"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Represents a HPA capability"/>
+ <xml-property name="indexedProps" value="hpa-feature,architecture,hpa-capability-id"/>
+ <xml-property name="dependentOn" value="flavor,cloud-region"/>
+ <xml-property name="container" value="hpa-capabilities"/>
+ <xml-property name="requiredProps" value="hpa-capability-id,hpa-feature"/>
+ <xml-property name="uriTemplate" value="/hpa-capabilities/hpa-capability/{hpa-capability-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="HpaFeatureAttributes">
+ <xml-root-element name="hpa-feature-attributes"/>
+ <java-attributes>
+ <xml-element java-attribute="hpaAttributeKey" name="hpa-attribute-key" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="name of the specific HPA attribute"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hpaAttributeValue" name="hpa-attribute-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="JSON string specifying the value, unit and type of the specific HPA attribute"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="HPA Capability Feature attributes"/>
+ <xml-property name="indexedProps" value="hpa-attribute-key"/>
+ <xml-property name="dependentOn" value="hpa-capability"/>
+ <xml-property name="requiredProps" value="hpa-attribute-key"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CloudInfrastructure">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for cloud infrastructure."/>
+ </xml-properties>
+ <xml-root-element name="cloud-infrastructure"/>
+ <java-attributes>
+ <xml-element java-attribute="complexes" name="complexes" type="inventory.aai.onap.org.v14.Complexes"/>
+ <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.onap.org.v14.CloudRegions"/>
+ <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.onap.org.v14.NetworkProfiles"/>
+ <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.onap.org.v14.Pservers"/>
+ <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.onap.org.v14.VirtualDataCenters"/>
+ <xml-element java-attribute="operationalEnvironments" name="operational-environments" type="inventory.aai.onap.org.v14.OperationalEnvironments"/>
+ <xml-element java-attribute="networkTechnologies" name="network-technologies" type="inventory.aai.onap.org.v14.NetworkTechnologies"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CloudRegions">
+ <xml-root-element name="cloud-regions"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cloudRegion" name="cloud-region" type="inventory.aai.onap.org.v14.CloudRegion"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CloudRegion">
+ <xml-root-element name="cloud-region"/>
+ <java-attributes>
+ <xml-element java-attribute="cloudOwner" name="cloud-owner" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifies the vendor and cloud name. First part of composite key should be formatted as vendor-cloudname"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudRegionId" name="cloud-region-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite key"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudType" name="cloud-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the cloud (e.g., openstack)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ownerDefinedType" name="owner-defined-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Cloud-owner defined type indicator (e.g., dcp, lcp)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudRegionVersion" name="cloud-region-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Software version employed at the site. NOTE - THIS FIELD IS NOT KEPT UP TO DATE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL of the keystone identity service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudZone" name="cloud-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Zone where the cloud is homed. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="complex name for cloud-region instance. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sriovAutomation" name="sriov-automation" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether the cloud region supports (true) or does not support (false) SR-IOV automation."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudExtraInfo" name="cloud-extra-info" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ESR inputs extra information about the VIM or Cloud which will be decoded by MultiVIM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeGroups" name="volume-groups" type="inventory.aai.onap.org.v14.VolumeGroups"/>
+ <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v14.Tenants"/>
+ <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v14.Flavors"/>
+ <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.onap.org.v14.GroupAssignments"/>
+ <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v14.Snapshots"/>
+ <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v14.Images"/>
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v14.DvsSwitches"/>
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v14.OamNetworks"/>
+ <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v14.AvailabilityZones"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv4AddressList" name="vip-ipv4-address-list" type="inventory.aai.onap.org.v14.VipIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv6AddressList" name="vip-ipv6-address-list" type="inventory.aai.onap.org.v14.VipIpv6AddressList"/>
+ <xml-element java-attribute="hpaCapabilities" name="hpa-capabilities" type="inventory.aai.onap.org.v14.HpaCapabilities">
+ <xml-properties>
+ <xml-property name="description" value="List of cloud-region specific HPA Capabilities"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v14.EsrSystemInfoList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation. In AT&amp;Ts AIC cloud, this could be an LCP or DCP. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname and we will use att-aic for AT&amp;T's AIC."/>
+ <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type"/>
+ <xml-property name="nameProps" value="owner-defined-type"/>
+ <xml-property name="container" value="cloud-regions"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}"/>
+ <xml-property name="requiredProps" value="cloud-owner,cloud-region-id"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="VolumeGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of persistent block-level storage."/>
+ </xml-properties>
+ <xml-root-element name="volume-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volumeGroup" name="volume-group" type="inventory.aai.onap.org.v14.VolumeGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VolumeGroup">
+ <xml-root-element name="volume-group"/>
+ <java-attributes>
+ <xml-element java-attribute="volumeGroupId" name="volume-group-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of volume-group."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeGroupName" name="volume-group-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the volume group."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this volume-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this volume-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfModuleModelCustomizationId" name="vf-module-model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="helps relate the volume group to the vf-module whose components will require the volume group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persistent block-level storage."/>
+ <xml-property name="indexedProps" value="volume-group-name,vnf-type,heat-stack-id,volume-group-id"/>
+ <xml-property name="searchable" value="volume-group-id,volume-group-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="volume-groups"/>
+ <xml-property name="uriTemplate" value="/volume-groups/volume-group/{volume-group-id}"/>
+ <xml-property name="requiredProps" value="volume-group-id,vnf-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="RelationshipList">
+ <xml-root-element name="relationship-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.onap.org.v14.Relationship"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Relationship">
+ <xml-root-element name="relationship"/>
+ <java-attributes>
+ <xml-element java-attribute="relatedTo" name="related-to" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate type of node."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipLabel" name="relationship-label" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The edge label for this relationship."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to the object in A&amp;AI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.onap.org.v14.RelationshipData"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.onap.org.v14.RelatedToProperty"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedToProperty">
+ <xml-root-element name="related-to-property"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyKey" name="property-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Key part of a key/value pair"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value part of a key/value pair"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelationshipData">
+ <xml-root-element name="relationship-data"/>
+ <java-attributes>
+ <xml-element java-attribute="relationshipKey" name="relationship-key" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate an attribute."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipValue" name="relationship-value" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value of the attribute."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+ <java-type name="Complexes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions."/>
+ </xml-properties>
+ <xml-root-element name="complexes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="complex" name="complex" type="inventory.aai.onap.org.v14.Complex"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Complex">
+ <xml-root-element name="complex"/>
+ <java-attributes>
+ <xml-element java-attribute="physicalLocationId" name="physical-location-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for physical location, e.g., CLLI"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dataCenterCode" name="data-center-code" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Data center code which can be an alternate way to identify a complex"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Gamma complex name for LCP instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL of the keystone identity service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="physicalLocationType" name="physical-location-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type, e.g., central office, data center."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="street1" name="street1" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="street2" name="street2" type="java.lang.String"/>
+ <xml-element java-attribute="city" name="city" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="state" name="state" type="java.lang.String"/>
+ <xml-element java-attribute="postalCode" name="postal-code" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="country" name="country" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="region" name="region" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="latitude" name="latitude" type="java.lang.String"/>
+ <xml-element java-attribute="longitude" name="longitude" type="java.lang.String"/>
+ <xml-element java-attribute="elevation" name="elevation" type="java.lang.String"/>
+ <xml-element java-attribute="lata" name="lata" type="java.lang.String"/>
+ <xml-element java-attribute="ctagPools" name="ctag-pools" type="inventory.aai.onap.org.v14.CtagPools"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions."/>
+ <xml-property name="indexedProps" value="identity-url,data-center-code,complex-name,physical-location-id"/>
+ <xml-property name="searchable" value="physical-location-id,data-center-code,complex-name,street1,street2,postal-code"/>
+ <xml-property name="uniqueProps" value="physical-location-id"/>
+ <xml-property name="container" value="complexes"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/complexes/complex/{physical-location-id}"/>
+ <xml-property name="requiredProps" value="physical-location-id,physical-location-type,street1,city,postal-code,country,region"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CtagPools">
+ <xml-root-element name="ctag-pools"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagPool" name="ctag-pool" type="inventory.aai.onap.org.v14.CtagPool"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CtagPool">
+ <xml-root-element name="ctag-pool"/>
+ <java-attributes>
+ <xml-element java-attribute="targetPe" name="target-pe" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="The Target provider edge router"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the availability zone"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ctagPoolPurpose" name="ctag-pool-purpose" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Describes what the intended purpose of this pool is."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ctagValues" name="ctag-values" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Comma separated list of ctags"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="A collection of C tags (vlan tags) grouped for a specific purpose."/>
+ <xml-property name="indexedProps" value="availability-zone-name"/>
+ <xml-property name="dependentOn" value="complex"/>
+ <xml-property name="container" value="ctag-pools"/>
+ <xml-property name="uriTemplate" value="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}"/>
+ <xml-property name="requiredProps" value="target-pe,availability-zone-name,ctag-pool-purpose"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Tenants">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack tenants."/>
+ </xml-properties>
+ <xml-root-element name="tenants"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tenant" name="tenant" type="inventory.aai.onap.org.v14.Tenant"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Tenant">
+ <xml-root-element name="tenant"/>
+ <java-attributes>
+ <xml-element java-attribute="tenantId" name="tenant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id relative to the cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tenantName" name="tenant-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Readable name of tenant"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tenantContext" name="tenant-context" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field will store the tenant context."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vservers" name="vservers" type="inventory.aai.onap.org.v14.Vservers"/>
+ <xml-element java-attribute="nosServers" name="nos-servers" type="inventory.aai.onap.org.v14.NosServers"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack tenant"/>
+ <xml-property name="nameProps" value="tenant-name"/>
+ <xml-property name="indexedProps" value="tenant-name,tenant-id,tenant-context"/>
+ <xml-property name="searchable" value="tenant-id,tenant-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="tenants"/>
+ <xml-property name="uriTemplate" value="/tenants/tenant/{tenant-id}"/>
+ <xml-property name="requiredProps" value="tenant-id,tenant-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="NosServers">
+ <xml-properties>
+ <xml-property name="description" value="nos-server is the execution environment that will have images, certain versions of VNOS, running on it."/>
+ </xml-properties>
+ <xml-root-element name="nos-servers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="nosServer" name="nos-server" type="inventory.aai.onap.org.v14.NosServer"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NosServer">
+ <xml-root-element name="nos-server"/>
+ <java-attributes>
+ <xml-element java-attribute="nosServerId" name="nos-server-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for this nos relative to its tenant"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nosServerName" name="nos-server-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of nos"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vendor" name="vendor" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="uCPE vendor"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nosServerSelflink" name="nos-server-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="nos-server is the execution environment that will have images, certain versions of VNOS, running on it."/>
+ <xml-property name="indexedProps" value="nos-server-id"/>
+ <xml-property name="dependentOn" value="tenant"/>
+ <xml-property name="nameProps" value="nos-server-name"/>
+ <xml-property name="container" value="nos-servers"/>
+ <xml-property name="uriTemplate" value="/nos-servers/nos-server/{nos-server-id}"/>
+ <xml-property name="requiredProps" value="nos-server-id,nos-server-name,vendor,nos-server-selflink,in-maint"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of virtual Servers, aka virtual machines or VMs."/>
+ </xml-properties>
+ <xml-root-element name="vservers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vserver" name="vserver" type="inventory.aai.onap.org.v14.Vserver"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vserver">
+ <xml-root-element name="vserver"/>
+ <java-attributes>
+ <xml-element java-attribute="vserverId" name="vserver-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for this vserver relative to its tenant"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverName" name="vserver-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of vserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverName2" name="vserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternative name of vserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverSelflink" name="vserver-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumes" name="volumes" type="inventory.aai.onap.org.v14.Volumes"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v14.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Servers, aka virtual machine or VM."/>
+ <xml-property name="nameProps" value="vserver-name"/>
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2"/>
+ <xml-property name="searchable" value="vserver-id,vserver-name,vserver-name2"/>
+ <xml-property name="dependentOn" value="tenant"/>
+ <xml-property name="container" value="vservers"/>
+ <xml-property name="uriTemplate" value="/vservers/vserver/{vserver-id}"/>
+ <xml-property name="requiredProps" value="vserver-id,vserver-name,vserver-selflink,in-maint,is-closed-loop-disabled"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical interfaces."/>
+ </xml-properties>
+ <xml-root-element name="l-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lInterface" name="l-interface" type="inventory.aai.onap.org.v14.LInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LInterface">
+ <xml-root-element name="l-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name given to the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="E.g., CUSTOMER, UPLINK, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v6WanLinkIp" name="v6-wan-link-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="macaddr" name="macaddr" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="MAC address for the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether A&amp;AI should be managing this interface of not. Could have value like CUSTOMER"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Human friendly text regarding this interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isPortMirrored" name="is-port-mirrored" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not port is a mirrored."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of the logical interface. Valid values [PREPROV/NVTPROV/PROV]."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isIpUnnumbered" name="is-ip-unnumbered" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Flag indicating the interface uses the IP Unnumbered configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="allowedAddressPairs" name="allowed-address-pairs" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Freeform field for storing an ip address, list of ip addresses or a subnet block."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.onap.org.v14.Vlans"/>
+ <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v14.SriovVfs"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v14.LInterfaces"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v14.L3InterfaceIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v14.L3InterfaceIpv6AddressList"/>
+ <xml-element java-attribute="adminStatus" name="admin-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Administrative status of the interface. Valid values are 'up', 'down', or 'testing'."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical interfaces, e.g., a vnic."/>
+ <xml-property name="indexedProps" value="macaddr,interface-id,interface-name,network-name"/>
+ <xml-property name="dependentOn" value="generic-vnf,newvce,p-interface,vserver,lag-interface,l-interface"/>
+ <xml-property name="container" value="l-interfaces"/>
+ <xml-property name="uriTemplate" value="/l-interfaces/l-interface/{interface-name}"/>
+ <xml-property name="requiredProps" value="interface-name,is-port-mirrored,in-maint,is-ip-unnumbered"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SriovVfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of SR-IOV Virtual Functions."/>
+ </xml-properties>
+ <xml-root-element name="sriov-vfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sriovVf" name="sriov-vf" type="inventory.aai.onap.org.v14.SriovVf"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="SriovVf">
+ <xml-root-element name="sriov-vf"/>
+ <java-attributes>
+ <xml-element java-attribute="pciId" name="pci-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="PCI ID used to identify the sriov-vf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanFilter" name="vf-vlan-filter" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This metadata provides option to specify list of VLAN filters applied on VF to pass the traffic to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMacFilter" name="vf-mac-filter" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="When MAC filters are specified, VF-agent service configures VFs to do MAC level filtering before the traffic is passed to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanStrip" name="vf-vlan-strip" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="When this field is set to true, VF will configured to strip the outer TAG before the traffic is passed to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanAntiSpoofCheck" name="vf-vlan-anti-spoof-check" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option ensures anti VLAN spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMacAntiSpoofCheck" name="vf-mac-anti-spoof-check" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option ensures anti MAC spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMirrors" name="vf-mirrors" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This option defines the set of Mirror objects which essentially mirrors the traffic from source to set of collector VNF Ports."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfBroadcastAllow" name="vf-broadcast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows all broadcast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfUnknownMulticastAllow" name="vf-unknown-multicast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown multicast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfUnknownUnicastAllow" name="vf-unknown-unicast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown unicast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfInsertStag" name="vf-insert-stag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, instructs to insert outer tag after traffic comes out of VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfLinkStatus" name="vf-link-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This option is used to set the link status. Valid values as of 1607 are on, off, and auto."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="SR-IOV Virtual Function (not to be confused with virtual network function)"/>
+ <xml-property name="indexedProps" value="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id"/>
+ <xml-property name="dependentOn" value="l-interface"/>
+ <xml-property name="container" value="sriov-vfs"/>
+ <xml-property name="uriTemplate" value="/sriov-vfs/sriov-vf/{pci-id}"/>
+ <xml-property name="requiredProps" value="pci-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv4AddressList">
+ <xml-root-element name="l3-interface-ipv4-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv4Address" name="l3-interface-ipv4-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv4PrefixLength" name="l3-interface-ipv4-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 32 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv4 Address Range"/>
+ <xml-property name="indexedProps" value="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="vlan,l-interface,vnfc,cp"/>
+ <xml-property name="uriTemplate" value="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}"/>
+ <xml-property name="requiredProps" value="l3-interface-ipv4-address"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vlans">
+ <xml-root-element name="vlans"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vlan" name="vlan" type="inventory.aai.onap.org.v14.Vlan"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vlan">
+ <xml-root-element name="vlan"/>
+ <java-attributes>
+ <xml-element java-attribute="vlanInterface" name="vlan-interface" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="String that identifies the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanDescription" name="vlan-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to describe (the service associated with) the vlan"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="backdoorConnection" name="backdoor-connection" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether customer is going to use this VLAN for backdoor connection to another customer premise device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnKey" name="vpn-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of the VLAN configuration related to a logical interface. Valid values [PREPROV/NVTPROV/PROV]."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isIpUnnumbered" name="is-ip-unnumbered" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Flag indicating the interface uses the IP Unnumbered configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isPrivate" name="is-private" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Private VLAN indicator."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v14.L3InterfaceIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v14.L3InterfaceIpv6AddressList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Definition of vlan"/>
+ <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-key"/>
+ <xml-property name="dependentOn" value="l-interface"/>
+ <xml-property name="container" value="vlans"/>
+ <xml-property name="uriTemplate" value="/vlans/vlan/{vlan-interface}"/>
+ <xml-property name="requiredProps" value="vlan-interface,in-maint,is-ip-unnumbered"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv6AddressList">
+ <xml-root-element name="l3-interface-ipv6-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv6Address" name="l3-interface-ipv6-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv6PrefixLength" name="l3-interface-ipv6-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 128 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv6 Address Range"/>
+ <xml-property name="indexedProps" value="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="vlan,l-interface,vnfc,cp"/>
+ <xml-property name="uriTemplate" value="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}"/>
+ <xml-property name="requiredProps" value="l3-interface-ipv6-address"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Volumes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of ephemeral Block storage volumes."/>
+ </xml-properties>
+ <xml-root-element name="volumes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volume" name="volume" type="inventory.aai.onap.org.v14.Volume"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Volume">
+ <xml-root-element name="volume"/>
+ <java-attributes>
+ <xml-element java-attribute="volumeId" name="volume-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of block storage volume relative to the vserver."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeSelflink" name="volume-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Ephemeral Block storage volume."/>
+ <xml-property name="indexedProps" value="volume-id"/>
+ <xml-property name="dependentOn" value="vserver"/>
+ <xml-property name="container" value="volumes"/>
+ <xml-property name="uriTemplate" value="/volumes/volume/{volume-id}"/>
+ <xml-property name="requiredProps" value="volume-id,volume-selflink"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Flavors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack flavors."/>
+ </xml-properties>
+ <xml-root-element name="flavors"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="flavor" name="flavor" type="inventory.aai.onap.org.v14.Flavor"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Flavor">
+ <xml-root-element name="flavor"/>
+ <java-attributes>
+ <xml-element java-attribute="flavorId" name="flavor-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Flavor id, expected to be unique across cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorName" name="flavor-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Cloud Region Flavor name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorVcpus" name="flavor-vcpus" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Number of CPUs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorRam" name="flavor-ram" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Amount of memory"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorDisk" name="flavor-disk" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Disk space"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorEphemeral" name="flavor-ephemeral" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Amount of ephemeral disk space"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorSwap" name="flavor-swap" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="amount of swap space allocation"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorIsPublic" name="flavor-is-public" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="whether flavor is available to all users or private to the tenant it was created in."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorSelflink" name="flavor-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorDisabled" name="flavor-disabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Boolean as to whether this flavor is no longer enabled"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hpaCapabilities" name="hpa-capabilities" type="inventory.aai.onap.org.v14.HpaCapabilities">
+ <xml-properties>
+ <xml-property name="description" value="List of flavor specific HPA Capabilities"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack flavor."/>
+ <xml-property name="nameProps" value="flavor-name"/>
+ <xml-property name="indexedProps" value="flavor-name,flavor-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="flavors"/>
+ <xml-property name="uriTemplate" value="/flavors/flavor/{flavor-id}"/>
+ <xml-property name="requiredProps" value="flavor-id,flavor-name,flavor-selflink"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Snapshots">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack snapshots"/>
+ </xml-properties>
+ <xml-root-element name="snapshots"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="snapshot" name="snapshot" type="inventory.aai.onap.org.v14.Snapshot"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Snapshot">
+ <xml-root-element name="snapshot"/>
+ <java-attributes>
+ <xml-element java-attribute="snapshotId" name="snapshot-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Snapshot id, this is the key UUID assoc associated in glance with the snapshots."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotName" name="snapshot-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Snapshot name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotArchitecture" name="snapshot-architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operating system architecture"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotOsDistro" name="snapshot-os-distro" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The common name of the operating system distribution in lowercase"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotOsVersion" name="snapshot-os-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The operating system version as specified by the distributor."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotSelflink" name="snapshot-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="prevSnapshotId" name="prev-snapshot-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field contains the UUID of the previous snapshot (if any)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack snapshot"/>
+ <xml-property name="nameProps" value="snapshot-name"/>
+ <xml-property name="uniqueProps" value="snapshot-id"/>
+ <xml-property name="indexedProps" value="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="snapshots"/>
+ <xml-property name="uriTemplate" value="/snapshots/snapshot/{snapshot-id}"/>
+ <xml-property name="requiredProps" value="snapshot-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GroupAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack group assignments"/>
+ </xml-properties>
+ <xml-root-element name="group-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="groupAssignment" name="group-assignment" type="inventory.aai.onap.org.v14.GroupAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="GroupAssignment">
+ <xml-root-element name="group-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="groupId" name="group-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Group id, expected to be unique across cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupType" name="group-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group type - the type of group this instance refers to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupName" name="group-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group name - name assigned to the group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupDescription" name="group-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group description - description of the group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack group-assignment used to store exclusivity groups (EG)."/>
+ <xml-property name="nameProps" value="group-name"/>
+ <xml-property name="indexedProps" value="group-id,group-type,group-name"/>
+ <xml-property name="searchable" value="group-id,group-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="group-assignments"/>
+ <xml-property name="uriTemplate" value="/group-assignments/group-assignment/{group-id}"/>
+ <xml-property name="requiredProps" value="group-id,group-type,group-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Images">
+ <xml-properties>
+ <xml-property name="description" value="Collectio of Openstack images."/>
+ </xml-properties>
+ <xml-root-element name="images"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="image" name="image" type="inventory.aai.onap.org.v14.Image"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Image">
+ <xml-root-element name="image"/>
+ <java-attributes>
+ <xml-element java-attribute="imageId" name="image-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Image id, expected to be unique across cloud region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageName" name="image-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Image name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageArchitecture" name="image-architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operating system architecture."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageOsDistro" name="image-os-distro" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The common name of the operating system distribution in lowercase"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageOsVersion" name="image-os-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The operating system version as specified by the distributor."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageSelflink" name="image-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v14.Metadata"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack image."/>
+ <xml-property name="nameProps" value="image-name"/>
+ <xml-property name="indexedProps" value="application,image-name,application-vendor,image-id,application-version"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="images"/>
+ <xml-property name="uriTemplate" value="/images/image/{image-id}"/>
+ <xml-property name="requiredProps" value="image-id,image-name,image-os-distro,image-os-version,image-selflink"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Metadata">
+ <xml-properties>
+ <xml-property name="description" value="Collection of metadatum (key/value pairs)"/>
+ </xml-properties>
+ <xml-root-element name="metadata"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="metadatum" name="metadatum" type="inventory.aai.onap.org.v14.Metadatum"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Metadatum">
+ <xml-root-element name="metadatum"/>
+ <java-attributes>
+ <xml-element java-attribute="metaname" name="metaname" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="metaval" name="metaval" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Key/value pairs"/>
+ <xml-property name="indexedProps" value="metaname"/>
+ <xml-property name="dependentOn" value="tenant,image,service-instance,connector,model"/>
+ <xml-property name="container" value="metadata"/>
+ <xml-property name="uriTemplate" value="/metadata/metadatum/{metaname}"/>
+ <xml-property name="requiredProps" value="metaname,metaval"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="DvsSwitches">
+ <xml-properties>
+ <xml-property name="description" value="Collection of digital virtual switch metadata used for vmWare VCEs and GenericVnfs."/>
+ </xml-properties>
+ <xml-root-element name="dvs-switches"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="dvsSwitch" name="dvs-switch" type="inventory.aai.onap.org.v14.DvsSwitch"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="DvsSwitch">
+ <xml-root-element name="dvs-switch"/>
+ <java-attributes>
+ <xml-element java-attribute="switchName" name="switch-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="DVS switch name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcenterUrl" name="vcenter-url" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL used to reach the vcenter"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Digital virtual switch metadata, used by SDN-C to configure VCEs. A&amp;AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&amp;AI. "/>
+ <xml-property name="indexedProps" value="vcenter-url,switch-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="dvs-switches"/>
+ <xml-property name="uriTemplate" value="/dvs-switches/dvs-switch/{switch-name}"/>
+ <xml-property name="requiredProps" value="switch-name,vcenter-url"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="NetworkProfiles">
+ <xml-properties>
+ <xml-property name="description" value="Collection of network profiles"/>
+ </xml-properties>
+ <xml-root-element name="network-profiles"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkProfile" name="network-profile" type="inventory.aai.onap.org.v14.NetworkProfile"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NetworkProfile">
+ <xml-root-element name="network-profile"/>
+ <java-attributes>
+ <xml-element java-attribute="nmProfileName" name="nm-profile-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique name of network profile."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="communityString" name="community-string" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encrypted SNMP community string"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Network profile populated by SDN-GP for SNMP"/>
+ <xml-property name="indexedProps" value="nm-profile-name"/>
+ <xml-property name="container" value="network-profiles"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}"/>
+ <xml-property name="requiredProps" value="nm-profile-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of compute hosts."/>
+ </xml-properties>
+ <xml-root-element name="pservers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pserver" name="pserver" type="inventory.aai.onap.org.v14.Pserver"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pserver">
+ <xml-root-element name="pserver"/>
+ <java-attributes>
+ <xml-element java-attribute="hostname" name="hostname" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value from executing hostname on the compute node."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ptniiEquipName" name="ptnii-equip-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="PTNII name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="numberOfCpus" name="number-of-cpus" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Number of cpus"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="diskInGigabytes" name="disk-in-gigabytes" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Disk size, in GBs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ramInMegabytes" name="ram-in-megabytes" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="RAM size, in MBs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment type. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment vendor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment model. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="fqdn" name="fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Fully-qualified domain name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverSelflink" name="pserver-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to configure device, also used for troubleshooting and is IP used for traps generated by device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Serial number, may be queried"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 OAM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CANOPI's inventory status. Only set with values exactly as defined by CANOPI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverId" name="pserver-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of Pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="internetTopology" name="internet-topology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="internet topology of Pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverName2" name="pserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="alternative pserver name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="purpose of pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates who owns and or manages the device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hostProfile" name="host-profile" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The host profile that defines the configuration of the pserver."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v14.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v14.LagInterfaces"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="hpaCapacity" name="hpa-capacity" type="inventory.aai.onap.org.v14.HpaCapacity"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver."/>
+ <xml-property name="nameProps" value="pserver-name2"/>
+ <xml-property name="indexedProps" value="hostname,in-maint,pserver-id,pserver-name2,inv-status"/>
+ <xml-property name="searchable" value="hostname,pserver-name2,pserver-id,ipv4-oam-address"/>
+ <xml-property name="uniqueProps" value="hostname"/>
+ <xml-property name="container" value="pservers"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/pservers/pserver/{hostname}"/>
+ <xml-property name="requiredProps" value="hostname,in-maint"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="HpaCapacity">
+ <xml-root-element name="hpa-capacity"/>
+ <java-attributes>
+ <xml-element java-attribute="hpaCapacityKey" name="hpa-capacity-key" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Composite key formed with hpaFeature and append list of hpaFeatureAttributes needed for capacity check"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hpaCapacityValue" name="hpa-capacity-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="JSON string specifying the capacity (total,free), unit and metadata of the specific HPA attribute"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="HPA Capacity information for compute node"/>
+ <xml-property name="indexedProps" value="hpa-capacity-key"/>
+ <xml-property name="dependentOn" value="hpa-capacity"/>
+ <xml-property name="requiredProps" value="hpa-capacity-key"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical interfaces."/>
+ </xml-properties>
+ <xml-root-element name="p-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pInterface" name="p-interface" type="inventory.aai.onap.org.v14.PInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PInterface">
+ <xml-root-element name="p-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the physical interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portDescription" name="port-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Nature of the services and connectivity on this port."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentIdentifier" name="equipment-identifier" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CLEI or other specification for p-interface hardware."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role specification for p-interface hardware."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceType" name="interface-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the physical properties of the interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="macAddress" name="mac-addresss" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="MAC Address of the p-interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="inventory status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkRef" name="network-ref" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the network-ref of this p-interface. Derived from ietf-restconf-notification that identifies a termination-point."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="transparent" name="transparent" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the transparent value of this p-interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="oper Status of this p-interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element java-attribute="sriovPfs" name="sriov-pfs" type="inventory.aai.onap.org.v14.SriovPfs"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v14.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Physical interface (e.g., nic)"/>
+ <xml-property name="indexedProps" value="interface-name,prov-status,networkRef,operational-status"/>
+ <xml-property name="nameProps" value="prov-status"/>
+ <xml-property name="dependentOn" value="vpls-pe,pserver,pnf"/>
+ <xml-property name="container" value="p-interfaces"/>
+ <xml-property name="uriTemplate" value="/p-interfaces/p-interface/{interface-name}"/>
+ <xml-property name="requiredProps" value="interface-name,in-maint"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LagInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregate interfaces."/>
+ </xml-properties>
+ <xml-root-element name="lag-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagInterface" name="lag-interface" type="inventory.aai.onap.org.v14.LagInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LagInterface">
+ <xml-root-element name="lag-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the link aggregate interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Human friendly text regarding this interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v14.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Link aggregate interface"/>
+ <xml-property name="indexedProps" value="interface-name,interface-id,interface-role"/>
+ <xml-property name="dependentOn" value="generic-vnf,pserver,vpls-pe,pnf"/>
+ <xml-property name="container" value="lag-interfaces"/>
+ <xml-property name="uriTemplate" value="/lag-interfaces/lag-interface/{interface-name}"/>
+ <xml-property name="requiredProps" value="interface-name,in-maint"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="OamNetworks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of OAM networks, to be deprecated shortly. Do not use for new purposes. "/>
+ </xml-properties>
+ <xml-root-element name="oam-networks"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="oamNetwork" name="oam-network" type="inventory.aai.onap.org.v14.OamNetwork"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OamNetwork">
+ <xml-root-element name="oam-network"/>
+ <java-attributes>
+ <xml-element java-attribute="networkUuid" name="network-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the network. Unique across a cloud-region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="cvlan-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="OAM network, to be deprecated shortly. Do not use for new purposes. "/>
+ <xml-property name="nameProps" value="network-name"/>
+ <xml-property name="indexedProps" value="cvlan-tag,network-uuid,network-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="oam-networks"/>
+ <xml-property name="uriTemplate" value="/oam-networks/oam-network/{network-uuid}"/>
+ <xml-property name="requiredProps" value="network-uuid,network-name,cvlan-tag"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="AvailabilityZones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of availability zones"/>
+ </xml-properties>
+ <xml-root-element name="availability-zones"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v14.AvailabilityZone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AvailabilityZone">
+ <xml-root-element name="availability-zone"/>
+ <java-attributes>
+ <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the availability zone. Unique across a cloud region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hypervisorType" name="hypervisor-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of hypervisor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="State that indicates whether the availability zone should be used, etc. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Availability zone, a collection of compute hosts/pservers"/>
+ <xml-property name="indexedProps" value="availability-zone-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="availability-zones"/>
+ <xml-property name="uriTemplate" value="/availability-zones/availability-zone/{availability-zone-name}"/>
+ <xml-property name="requiredProps" value="availability-zone-name,hypervisor-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VirtualDataCenters">
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context"/>
+ </xml-properties>
+ <xml-root-element name="virtual-data-centers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="virtualDataCenter" name="virtual-data-center" type="inventory.aai.onap.org.v14.VirtualDataCenter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VirtualDataCenter">
+ <xml-root-element name="virtual-data-center"/>
+ <java-attributes>
+ <xml-element java-attribute="vdcId" name="vdc-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the vdc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdcName" name="vdc-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the virtual data center"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context"/>
+ <xml-property name="nameProps" value="vdc-name"/>
+ <xml-property name="indexedProps" value="vdc-name,vdc-id"/>
+ <xml-property name="container" value="virtual-data-centers"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}"/>
+ <xml-property name="requiredProps" value="vdc-id,vdc-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Business">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for business related constructs"/>
+ </xml-properties>
+ <xml-root-element name="business"/>
+ <java-attributes>
+ <xml-element java-attribute="connectors" name="connectors" type="inventory.aai.onap.org.v14.Connectors"/>
+ <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.org.v14.Customers"/>
+ <xml-element java-attribute="linesOfBusiness" name="lines-of-business" type="inventory.aai.onap.org.v14.LinesOfBusiness"/>
+ <xml-element java-attribute="owningEntities" name="owning-entities" type="inventory.aai.onap.org.v14.OwningEntities"/>
+ <xml-element java-attribute="platforms" name="platforms" type="inventory.aai.onap.org.v14.Platforms"/>
+ <xml-element java-attribute="projects" name="projects" type="inventory.aai.onap.org.v14.Projects"/>
+
+ <xml-element java-attribute="spPartners" name="sp-partners" type="inventory.aai.onap.org.v14.SpPartners"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Projects">
+ <xml-properties>
+ <xml-property name="description" value="Collection of projects"/>
+ </xml-properties>
+ <xml-root-element name="projects"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="project" name="project" type="inventory.aai.onap.org.v14.Project"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Project">
+ <xml-root-element name="project"/>
+ <java-attributes>
+ <xml-element java-attribute="projectName" name="project-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the project deploying a service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="describes the project"/>
+ <xml-property name="indexedProps" value="project-name"/>
+ <xml-property name="uniqueProps" value="project-name"/>
+ <xml-property name="container" value="projects"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/projects/project/{project-name}"/>
+ <xml-property name="requiredProps" value="project-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Connectors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets"/>
+ </xml-properties>
+ <xml-root-element name="connectors"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="connector" name="connector" type="inventory.aai.onap.org.v14.Connector"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Connector">
+ <xml-root-element name="connector"/>
+ <java-attributes>
+ <xml-element java-attribute="resourceInstanceId" name="resource-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of resource instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v14.Metadata"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets"/>
+ <xml-property name="indexedProps" value="resource-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version"/>
+ <xml-property name="container" value="connectors"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/connectors/connector/{resource-instance-id}"/>
+ <xml-property name="requiredProps" value="resource-instance-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Customers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information."/>
+ </xml-properties>
+ <xml-root-element name="customers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.onap.org.v14.Customer"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Customer">
+ <xml-root-element name="customer"/>
+ <java-attributes>
+ <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Global customer id used across ECOMP to uniquely identify customer."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber name, an alternate way to retrieve a customer."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberType" name="subscriber-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber type, a way to provide VID with only the INFRA customers."/>
+ <xml-property name="defaultValue" value="CUST"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSubscriptions" name="service-subscriptions" type="inventory.aai.onap.org.v14.ServiceSubscriptions"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="customer identifiers to provide linkage back to BSS information."/>
+ <xml-property name="nameProps" value="subscriber-name"/>
+ <xml-property name="indexedProps" value="subscriber-name,global-customer-id,subscriber-type"/>
+ <xml-property name="searchable" value="global-customer-id,subscriber-name"/>
+ <xml-property name="uniqueProps" value="global-customer-id"/>
+ <xml-property name="container" value="customers"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/customers/customer/{global-customer-id}"/>
+ <xml-property name="requiredProps" value="global-customer-id,subscriber-name,subscriber-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LinesOfBusiness">
+ <xml-properties>
+ <xml-property name="description" value="Collection of lines-of-business"/>
+ </xml-properties>
+ <xml-root-element name="lines-of-business"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lineOfBusiness" name="line-of-business" type="inventory.aai.onap.org.v14.LineOfBusiness"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LineOfBusiness">
+ <xml-root-element name="line-of-business"/>
+ <java-attributes>
+ <xml-element java-attribute="lineOfBusinessName" name="line-of-business-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the line-of-business (product)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="describes a line-of-business"/>
+ <xml-property name="indexedProps" value="line-of-business-name"/>
+ <xml-property name="uniqueProps" value="line-of-business-name"/>
+ <xml-property name="container" value="lines-of-business"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/lines-of-business/line-of-business/{line-of-business-name}"/>
+ <xml-property name="requiredProps" value="line-of-business-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="OwningEntities">
+ <xml-properties>
+ <xml-property name="description" value="Collection of owning-entities"/>
+ </xml-properties>
+ <xml-root-element name="owning-entities"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="owningEntity" name="owning-entity" type="inventory.aai.onap.org.v14.OwningEntity"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OwningEntity">
+ <xml-root-element name="owning-entity"/>
+ <java-attributes>
+ <xml-element java-attribute="owningEntityId" name="owning-entity-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of an owning entity"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="owningEntityName" name="owning-entity-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Owning entity name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="describes an owning-entity"/>
+ <xml-property name="indexedProps" value="owning-entity-id,owning-entity-name"/>
+ <xml-property name="searchable" value="owning-entity-id"/>
+ <xml-property name="uniqueProps" value="owning-entity-id,owning-entity-name"/>
+ <xml-property name="container" value="owning-entities"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/owning-entities/owning-entity/{owning-entity-id}"/>
+ <xml-property name="requiredProps" value="owning-entity-id,owning-entity-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Platforms">
+ <xml-properties>
+ <xml-property name="description" value="Collection of platforms"/>
+ </xml-properties>
+ <xml-root-element name="platforms"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="platform" name="platform" type="inventory.aai.onap.org.v14.Platform"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Platform">
+ <xml-root-element name="platform"/>
+ <java-attributes>
+ <xml-element java-attribute="platformName" name="platform-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the platform"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="describes a platform"/>
+ <xml-property name="indexedProps" value="platform-name"/>
+ <xml-property name="uniqueProps" value="platform-name"/>
+ <xml-property name="container" value="platforms"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/platforms/platform/{platform-name}"/>
+ <xml-property name="requiredProps" value="platform-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceSubscriptions">
+ <xml-properties>
+ <xml-property name="description" value="Collection of objects that group service instances."/>
+ </xml-properties>
+ <xml-root-element name="service-subscriptions"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceSubscription" name="service-subscription" type="inventory.aai.onap.org.v14.ServiceSubscription"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceSubscription">
+ <xml-root-element name="service-subscription"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value defined by orchestration to identify this service across ECOMP."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tempUbSubAccountId" name="temp-ub-sub-account-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This property will be deleted from A&amp;AI in the near future. Only stop gap solution."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstances" name="service-instances" type="inventory.aai.onap.org.v14.ServiceInstances">
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Object that group service instances."/>
+ <xml-property name="indexedProps" value="service-type"/>
+ <xml-property name="dependentOn" value="customer"/>
+ <xml-property name="container" value="service-subscriptions"/>
+ <xml-property name="crossEntityReference" value="service-instance,service-type"/>
+ <xml-property name="uriTemplate" value="/service-subscriptions/service-subscription/{service-type}"/>
+ <xml-property name="requiredProps" value="service-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceInstances">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service instances"/>
+ </xml-properties>
+ <xml-root-element name="service-instances"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceInstance" name="service-instance" type="inventory.aai.onap.org.v14.ServiceInstance"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceInstance">
+ <xml-root-element name="service-instance"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceInstanceId" name="service-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Uniquely identifies this instance of a service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstanceName" name="service-instance-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field will store a name assigned to the service-instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceType" name="service-type" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceRole" name="service-role" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing the service role."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="environmentContext" name="environment-context" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field will store the environment context assigned to the service-instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="workloadContext" name="workload-context" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field will store the workload context assigned to the service-instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="createdAt" name="created-at" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="create time of Network Service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="updatedAt" name="updated-at" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="last update of Network Service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="short description for service-instance."/>
+ </xml-properties>
+ </xml-element>
+ <!-- for storing the nsd_id create edge between services -->
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthTotal" name="bandwidth-total" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the total bandwidth to be used for this service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vhnPortalUrl" name="vhn-portal-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL customers will use to access the vHN Portal."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstanceLocationId" name="service-instance-location-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="An identifier that customers assign to the location where this service is being used."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="inputParameters" name="input-parameters" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing request parameters from SO to pass to Closed Loop."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v14.Metadata"/>
+ <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.onap.org.v14.AllottedResources"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Instance of a service"/>
+ <xml-property name="indexedProps" value="service-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status,environment-context,workload-context"/>
+ <xml-property name="nameProps" value="service-instance-name"/>
+ <xml-property name="searchable" value="service-instance-id,service-instance-name"/>
+ <xml-property name="uniqueProps" value="service-instance-id"/>
+ <xml-property name="dependentOn" value="service-subscription"/>
+ <xml-property name="container" value="service-instances"/>
+ <xml-property name="uriTemplate" value="/service-instances/service-instance/{service-instance-id}"/>
+ <xml-property name="requiredProps" value="service-instance-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceDesignAndCreation">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for objects managed by ASDC"/>
+ </xml-properties>
+ <xml-root-element name="service-design-and-creation"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfImages" name="vnf-images" type="inventory.aai.onap.org.v14.VnfImages"/>
+ <xml-element java-attribute="services" name="services" type="inventory.aai.onap.org.v14.Services"/>
+ <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.onap.org.v14.ServiceCapabilities"/>
+ <xml-element java-attribute="models" name="models" type="inventory.aai.onap.org.v14.Models"/>
+ <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.onap.org.v14.NamedQueries"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VnfImages">
+ <xml-properties>
+ <xml-property name="description" value="Collection of image objects that pertain to a VNF that doesn't have associated vservers. This is a kludge."/>
+ </xml-properties>
+ <xml-root-element name="vnf-images"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfImage" name="vnf-image" type="inventory.aai.onap.org.v14.VnfImage"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VnfImage">
+ <xml-root-element name="vnf-image"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfImageUuid" name="vnf-image-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of this asset"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Image object that pertain to a VNF that doesn't have associated vservers. This is a kludge."/>
+ <xml-property name="indexedProps" value="application,vnf-image-uuid,application-vendor,application-version"/>
+ <xml-property name="uniqueProps" value="vnf-image-uuid"/>
+ <xml-property name="container" value="vnf-images"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/vnf-images/vnf-image/{vnf-image-uuid}"/>
+ <xml-property name="requiredProps" value="vnf-image-uuid,application,application-vendor"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Services">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service model definitions. Likely to be deprecated in favor of models from ASDC."/>
+ </xml-properties>
+ <xml-root-element name="services"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.onap.org.v14.Service"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Service">
+ <xml-root-element name="service"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description of the service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="service version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Stand-in for service model definitions. Likely to be deprecated in favor of models from ASDC. Does not strictly map to ASDC services."/>
+ <xml-property name="indexedProps" value="service-description,service-id"/>
+ <xml-property name="container" value="services"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/services/service/{service-id}"/>
+ <xml-property name="requiredProps" value="service-id,service-description"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceCapabilities">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service capabilities."/>
+ </xml-properties>
+ <xml-root-element name="service-capabilities"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceCapability" name="service-capability" type="inventory.aai.onap.org.v14.ServiceCapability"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceCapability">
+ <xml-root-element name="service-capability"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Early definition of server/resource pairings, likely to be replaced by models. No new use should be made of this."/>
+ <xml-property name="indexedProps" value="service-type,vnf-type"/>
+ <xml-property name="container" value="service-capabilities"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}"/>
+ <xml-property name="requiredProps" value="service-type,vnf-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Network">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for network inventory resources."/>
+ </xml-properties>
+ <xml-root-element name="network"/>
+ <java-attributes>
+ <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.onap.org.v14.LogicalLinks"/>
+ <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.onap.org.v14.SitePairSets"/>
+ <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v14.VpnBindings"/>
+ <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.onap.org.v14.VplsPes"/>
+ <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.onap.org.v14.MulticastConfigurations"/>
+ <xml-element java-attribute="vces" name="vces" type="inventory.aai.onap.org.v14.Vces"/>
+ <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.onap.org.v14.Vnfcs"/>
+ <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.onap.org.v14.L3Networks"/>
+ <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v14.NetworkPolicies"/>
+ <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.onap.org.v14.GenericVnfs"/>
+ <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.onap.org.v14.LagLinks"/>
+ <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.onap.org.v14.Newvces"/>
+ <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v14.Pnfs"/>
+ <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.onap.org.v14.PhysicalLinks"/>
+ <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.onap.org.v14.IpsecConfigurations"/>
+ <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.onap.org.v14.RouteTableReferences"/>
+ <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.onap.org.v14.InstanceGroups"/>
+ <xml-element java-attribute="zones" name="zones" type="inventory.aai.onap.org.v14.Zones"/>
+ <xml-element java-attribute="configurations" name="configurations" type="inventory.aai.onap.org.v14.Configurations"/>
+ <xml-element java-attribute="forwardingPaths" name="forwarding-paths" type="inventory.aai.onap.org.v14.ForwardingPaths"/>
+ <xml-element java-attribute="collections" name="collections" type="inventory.aai.onap.org.v14.Collections"/>
+ <xml-element java-attribute="vlanTags" name="vlan-tags" type="inventory.aai.onap.org.v14.VlanTags"/>
+ <xml-element java-attribute="connectivities" name="connectivities" type="inventory.aai.onap.org.v14.Connectivities"/>
+ <xml-element java-attribute="lanPortConfigs" name="lan-port-configs" type="inventory.aai.onap.org.v14.LanPortConfigs"/>
+ <xml-element java-attribute="networkResources" name="network-resources" type="inventory.aai.onap.org.v14.NetworkResources"/>
+ <xml-element java-attribute="siteResources" name="site-resources" type="inventory.aai.onap.org.v14.SiteResources"/>
+ <xml-element java-attribute="sdwanVpns" name="sdwan-vpns" type="inventory.aai.onap.org.v14.SdwanVpns"/>
+ <xml-element java-attribute="devices" name="devices" type="inventory.aai.onap.org.v14.Devices"/>
+ <xml-element java-attribute="wanPortConfigs" name="wan-port-configs" type="inventory.aai.onap.org.v14.WanPortConfigs"/>
+ <xml-element java-attribute="extAaiNetworks" name="ext-aai-networks" type="inventory.aai.onap.org.v14.ExtAaiNetworks"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="Configurations">
+ <xml-properties>
+ <xml-property name="description" value="Collection of configurations"/>
+ </xml-properties>
+ <xml-root-element name="configurations"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="configuration" name="configuration" type="inventory.aai.onap.org.v14.Configuration"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Configuration">
+ <xml-root-element name="configuration"/>
+ <java-attributes>
+ <xml-element java-attribute="configurationId" name="configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID assigned to configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the entity that will manage this feature. Could be an organization or the name of the application as well."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="configurationName" name="configuration-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="configurationType" name="configuration-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="port-mirroring-configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="configurationSubType" name="configuration-sub-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="vprobe, pprobe."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of the configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="configurationSelflink" name="configuration-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details from SDN-GC."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="id of the configuration used to customize the resource"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tunnelBandwidth" name="tunnel-bandwidth" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="DHV Site Effective Bandwidth"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vendorAllowedMaxBandwidth" name="vendor-allowed-max-bandwidth" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Velocloud Nominal Throughput - VNT"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="configPolicyName" name="config-policy-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to capture the name of the fabric configuration policy that was used to generate the payload sent to PINC for fabric configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v14.Metadata"/>
+ <xml-element java-attribute="forwarderEvcs" name="forwarder-evcs" type="inventory.aai.onap.org.v14.ForwarderEvcs"/>
+ <xml-element java-attribute="evcs" name="evcs" type="inventory.aai.onap.org.v14.Evcs"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Generic configuration object."/>
+ <xml-property name="indexedProps" value="configuration-id,model-invariant-id,model-version-id"/>
+ <xml-property name="uniqueProps" value="configuration-id"/>
+ <xml-property name="container" value="configurations"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/configurations/configuration/{configuration-id}"/>
+ <xml-property name="requiredProps" value="configuration-id,configuration-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LogicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical connections"/>
+ </xml-properties>
+ <xml-root-element name="logical-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.onap.org.v14.LogicalLink"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LogicalLink">
+ <xml-root-element name="logical-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of logical link, e.g., evc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4, v6, or ds for dual stack"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routingProtocol" name="routing-protocol" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="For example, static or BGP"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of operational status of the logical link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkRole" name="link-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of the network use of the logical link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkName2" name="link-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alias or alternate name (CLCI or D1 name)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkId" name="link-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the logical-link, SDNC generates this."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Circuit id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Reason for this entity, role it is playing"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points"/>
+ <xml-property name="indexedProps" value="link-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose,operational-status"/>
+ <xml-property name="uniqueProps" value="link-id"/>
+ <xml-property name="container" value="logical-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="searchable" value="link-name"/>
+ <xml-property name="uriTemplate" value="/network/logical-links/logical-link/{link-name}"/>
+ <xml-property name="requiredProps" value="link-name,in-maint,link-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SitePairSets">
+ <xml-properties>
+ <xml-property name="description" value="Collection of sets of instances for probes related to generic-vnf"/>
+ </xml-properties>
+ <xml-root-element name="site-pair-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePairSet" name="site-pair-set" type="inventory.aai.onap.org.v14.SitePairSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SitePairSet">
+ <xml-root-element name="site-pair-set"/>
+ <java-attributes>
+ <xml-element java-attribute="sitePairSetId" name="site-pair-set-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of site pair set."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routingInstances" name="routing-instances" type="inventory.aai.onap.org.v14.RoutingInstances"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Set of instances for probes used to measure service level agreements"/>
+ <xml-property name="indexedProps" value="site-pair-set-id"/>
+ <xml-property name="uniqueProps" value="site-pair-set-id"/>
+ <xml-property name="container" value="site-pair-sets"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/site-pair-sets/site-pair-set/{site-pair-set-id}"/>
+ <xml-property name="requiredProps" value="site-pair-set-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="RoutingInstances">
+ <xml-properties>
+ <xml-property name="description" value="set of probes related to generic-vnf routing instance"/>
+ </xml-properties>
+ <xml-root-element name="routing-instances"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routingInstance" name="routing-instance" type="inventory.aai.onap.org.v14.RoutingInstance"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RoutingInstance">
+ <xml-root-element name="routing-instance"/>
+ <java-attributes>
+ <xml-element java-attribute="routingInstanceId" name="routing-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of routing instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="rpmOwner" name="rpm-owner" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="rpm owner"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sitePairs" name="site-pairs" type="inventory.aai.onap.org.v14.SitePairs"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="routing-instance-id"/>
+ <xml-property name="dependentOn" value="site-pair-set"/>
+ <xml-property name="container" value="routing-instances"/>
+ <xml-property name="uriTemplate" value="/routing-instances/routing-instance/{routing-instance-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SitePairs">
+ <xml-properties>
+ <xml-property name="description" value="probe within a set"/>
+ </xml-properties>
+ <xml-root-element name="site-pairs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePair" name="site-pair" type="inventory.aai.onap.org.v14.SitePair"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SitePair">
+ <xml-root-element name="site-pair"/>
+ <java-attributes>
+ <xml-element java-attribute="sitePairId" name="site-pair-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceIp" name="source-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prefix address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationIp" name="destination-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prefix address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip version, v4, v6"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationHostname" name="destination-hostname" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Hostname of the destination equipment to which SLAs are measured against."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationEquipType" name="destination-equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The type of destinatination equipment. Could be Router, UCPE, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="classesOfService" name="classes-of-service" type="inventory.aai.onap.org.v14.ClassesOfService"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="site-pair-id"/>
+ <xml-property name="uniqueProps" value="site-pair-id"/>
+ <xml-property name="dependentOn" value="routing-instance"/>
+ <xml-property name="container" value="site-pairs"/>
+ <xml-property name="uriTemplate" value="/site-pairs/site-pair/{site-pair-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ClassesOfService">
+ <xml-properties>
+ <xml-property name="description" value="class-of-service of probe"/>
+ </xml-properties>
+ <xml-root-element name="classes-of-service"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="classOfService" name="class-of-service" type="inventory.aai.onap.org.v14.ClassOfService"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ClassOfService">
+ <xml-root-element name="class-of-service"/>
+ <java-attributes>
+ <xml-element java-attribute="cos" name="cos" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="probeId" name="probe-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="probeType" name="probe-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="type of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="cos"/>
+ <xml-property name="dependentOn" value="site-pair"/>
+ <xml-property name="container" value="classes-of-service"/>
+ <xml-property name="uriTemplate" value="/classes-of-service/class-of-service/{cos}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VpnBindings">
+ <xml-root-element name="vpn-bindings"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vpnBinding" name="vpn-binding" type="inventory.aai.onap.org.v14.VpnBinding"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VpnBinding">
+ <xml-root-element name="vpn-binding"/>
+ <java-attributes>
+ <xml-element java-attribute="vpnId" name="vpn-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="VPN ID, globally unique within A&amp;AI"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnName" name="vpn-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="VPN Name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnPlatform" name="vpn-platform" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the platform associated with the VPN example AVPN, Mobility"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnType" name="vpn-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the vpn, should be taken from enumerated/valid values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnRegion" name="vpn-region" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="region of customer vpn"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="customerVpnId" name="customer-vpn-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="id for this customer vpn"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeDistinguisher" name="route-distinguisher" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="accessProviderId" name="access-provider-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the id of the access provider of this vpn."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="accessClientId" name="access-client-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the id of the access client of this vpn."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="accessTopologyId" name="access-topology-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the id of the access topology of this vpn."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="srcAccessNodeId" name="src-access-node-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the id of the src-access-node of this vpn."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="srcAccessLtpId" name="src-access-ltp-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the id of the src-access-ltp of this vpn."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dstAccessNodeId" name="dst-access-node-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the id of the dst-access-node of this vpn."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dstAccessLtpId" name="dst-access-ltp-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the id of the dst-access-ltp of this vpn."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the operational-status for this object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the model-customization-id for this object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTargets" name="route-targets" type="inventory.aai.onap.org.v14.RouteTargets"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList">
+ <xml-properties>
+ <xml-property name="description" value="l3-networks relate to vpn-bindings"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPN binding"/>
+ <xml-property name="nameProps" value="vpn-name,vpn-type"/>
+ <xml-property name="indexedProps" value="vpn-name,vpn-id,vpn-type,access-provider-id,access-client-id,access-topology-id,src-access-node-id,src-access-ltp-id,dst-access-node-id,dst-access-ltp-id,operational-status"/>
+ <xml-property name="searchable" value="vpn-id,vpn-name"/>
+ <xml-property name="uniqueProps" value="vpn-id"/>
+ <xml-property name="container" value="vpn-bindings"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vpn-bindings/vpn-binding/{vpn-id}"/>
+ <xml-property name="requiredProps" value="vpn-id,vpn-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VplsPes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VPLS Provider Edge routers"/>
+ </xml-properties>
+ <xml-root-element name="vpls-pes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vplsPe" name="vpls-pe" type="inventory.aai.onap.org.v14.VplsPe"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VplsPe">
+ <xml-root-element name="vpls-pe"/>
+ <java-attributes>
+ <xml-element java-attribute="equipmentName" name="equipment-name" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (v4-loopback0-ip-address)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value, e.g., VPLS-PE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Temporary location for stag to get to VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v14.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v14.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPLS Provider Edge routers."/>
+ <xml-property name="indexedProps" value="prov-status,equipment-name"/>
+ <xml-property name="container" value="vpls-pes"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vpls-pes/vpls-pe/{equipment-name}"/>
+ <xml-property name="requiredProps" value="equipment-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="MulticastConfigurations">
+ <xml-properties>
+ <xml-property name="description" value="multicast configuration of generic-vnf ip-address"/>
+ </xml-properties>
+ <xml-root-element name="multicast-configurations"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="multicastConfiguration" name="multicast-configuration" type="inventory.aai.onap.org.v14.MulticastConfiguration"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="MulticastConfiguration">
+ <xml-root-element name="multicast-configuration"/>
+ <java-attributes>
+ <xml-element java-attribute="multicastConfigurationId" name="multicast-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of multicast configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="multicastProtocol" name="multicast-protocol" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="protocol of multicast configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="rpType" name="rp-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="rp type of multicast configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="multicast-configuration-id"/>
+ <xml-property name="uniqueProps" value="multicast-configuration-id"/>
+ <xml-property name="container" value="multicast-configurations"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Virtual Customer Edge Routers, used specifically for Gamma. This object is deprecated."/>
+ </xml-properties>
+ <xml-root-element name="vces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vce" name="vce" type="inventory.aai.onap.org.v14.Vce"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vce">
+ <xml-root-element name="vce"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network role being played by this VNF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpeId" name="vpe-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of VPE connected to this VCE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v6VceWanAddress" name="v6-vce-wan-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Valid v6 IP address for the WAN Link on this router. Implied length of /64."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure vce, also used for troubleshooting and is IP used for traps generated by VCE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - see child relationships"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroups" name="port-groups" type="inventory.aai.onap.org.v14.PortGroups"/>
+ <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v14.Licenses"/>
+ <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v14.Entitlements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Customer Edge Router, used specifically for Gamma. This object is deprecated."/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id"/>
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="container" value="vces"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="extends" value="vnf"/>
+ <xml-property name="uriTemplate" value="/network/vces/vce/{vnf-id}"/>
+ <xml-property name="requiredProps" value="vnf-id,vnf-name,vnf-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PortGroups">
+ <xml-root-element name="port-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="portGroup" name="port-group" type="inventory.aai.onap.org.v14.PortGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PortGroup">
+ <xml-root-element name="port-group"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceId" name="interface-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkName" name="neutron-network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network name of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupId" name="port-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for port group in vmware"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupName" name="port-group-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Likely to duplicate value of neutron network name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="switchName" name="switch-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="DVS or standard switch name (should be non-null for port groups associated with DVS)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlanTags" name="cvlan-tags" type="inventory.aai.onap.org.v14.CvlanTags"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Used to capture the network interfaces of this VCE"/>
+ <xml-property name="nameProps" value="port-group-name"/>
+ <xml-property name="indexedProps" value="port-group-id,heat-stack-id,interface-id,interface-name,switch-name"/>
+ <xml-property name="dependentOn" value="vce"/>
+ <xml-property name="container" value="port-groups"/>
+ <xml-property name="uriTemplate" value="/port-groups/port-group/{interface-id}"/>
+ <xml-property name="requiredProps" value="interface-id,orchestration-status"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CvlanTags">
+ <xml-root-element name="cvlan-tags"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cvlanTagEntry" name="cvlan-tag-entry" type="inventory.aai.onap.org.v14.CvlanTagEntry"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CvlanTagEntry">
+ <xml-root-element name="cvlan-tag-entry"/>
+ <java-attributes>
+ <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="See mis-na-virtualization-platform.yang"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="dependentOn" value="port-group"/>
+ <xml-property name="indexedProps" value="cvlan-tag"/>
+ <xml-property name="container" value="cvlan-tags"/>
+ <xml-property name="uriTemplate" value="/cvlan-tags/cvlan-tag/{cvlan-tag}"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="Vnfcs">
+ <xml-properties>
+ <xml-property name="description" value="virtual network components associated with a vserver from application controller."/>
+ </xml-properties>
+ <xml-root-element name="vnfcs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfc" name="vnfc" type="inventory.aai.onap.org.v14.Vnfc"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vnfc">
+ <xml-root-element name="vnfc"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfcName" name="vnfc-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vnfc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfcNamingCode" name="nfc-naming-code" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Short code that is used in naming instances of the item being modeled"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfcFunction" name="nfc-function" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="English description of function that the specific resource deployment is providing. Assigned as part of the customization of a resource in a service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="prov status of this vnfc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by APP-C"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4OamVip" name="ipaddress-v4-oam-vip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Oam V4 vip address of this vnfc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupNotation" name="group-notation" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group notation of VNFC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element java-attribute="cps" name="cps" type="inventory.aai.onap.org.v14.Cps"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v14.L3InterfaceIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v14.L3InterfaceIpv6AddressList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vnfc-name,prov-status,nfc-function,nfc-naming-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation,model-invariant-id,model-version-id"/>
+ <xml-property name="searchable" value="vnfc-name"/>
+ <xml-property name="container" value="vnfcs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vnfcs/vnfc/{vnfc-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3Networks">
+ <xml-root-element name="l3-networks"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3Network" name="l3-network" type="inventory.aai.onap.org.v14.L3Network"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="L3Network">
+ <xml-root-element name="l3-network"/>
+ <java-attributes>
+ <xml-element java-attribute="networkId" name="network-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Network ID, should be uuid. Unique across A&amp;AI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network, governed by some naming convention.."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkType" name="network-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the network - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkRole" name="network-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role the network plans - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkTechnology" name="network-technology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network technology - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isBoundToVpn" name="is-bound-to-vpn" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Set to true if bound to VPN"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service from ASDC. Does not strictly map to ASDC services. SOON TO BE DEPRECATED"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkRoleInstance" name="network-role-instance" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="network role instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailNetworkFqdn" name="contrail-network-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contrail FQDN for the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="physicalNetworkName" name="physical-network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name associated with the physical network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isProviderNetwork" name="is-provider-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is a provider network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isSharedNetwork" name="is-shared-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is a shared network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isExternalNetwork" name="is-external-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is an external network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isTrunked" name="is-trunked" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Trunked network indication."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnets" name="subnets" type="inventory.aai.onap.org.v14.Subnets"/>
+ <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.onap.org.v14.CtagAssignments"/>
+ <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.onap.org.v14.SegmentationAssignments"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList">
+ <xml-properties>
+ <xml-property name="description" value="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Generic network definition"/>
+ <xml-property name="nameProps" value="network-name"/>
+ <xml-property name="indexedProps" value="heat-stack-id,network-uuid,service-id,network-id,network-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-network-fqdn,network-role"/>
+ <xml-property name="searchable" value="network-id,network-name"/>
+ <xml-property name="uniqueProps" value="network-id"/>
+ <xml-property name="container" value="l3-networks"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/l3-networks/l3-network/{network-id}"/>
+ <xml-property name="requiredProps" value="network-id,is-bound-to-vpn,is-provider-network,is-shared-network,is-external-network"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="NetworkPolicies">
+ <xml-root-element name="network-policies"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkPolicy" name="network-policy" type="inventory.aai.onap.org.v14.NetworkPolicy"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="NetworkPolicy">
+ <xml-root-element name="network-policy"/>
+ <java-attributes>
+ <xml-element java-attribute="networkPolicyId" name="network-policy-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID representing unique key to this instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkPolicyFqdn" name="network-policy-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contrail FQDN for the policy"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID for the openStack Heat instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="nameProps" value="network-policy-fqdn"/>
+ <xml-property name="indexedProps" value="network-policy-id,network-policy-fqdn"/>
+ <xml-property name="searchable" value="network-policy-id,network-policy-fqdn"/>
+ <xml-property name="uniqueProps" value="network-policy-id"/>
+ <xml-property name="container" value="network-policies"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/network-policies/network-policy/{network-policy-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="CtagAssignments">
+ <xml-root-element name="ctag-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagAssignment" name="ctag-assignment" type="inventory.aai.onap.org.v14.CtagAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CtagAssignment">
+ <xml-root-element name="ctag-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="id."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vlan-id-inner"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="ctag-assignments"/>
+ <xml-property name="uriTemplate" value="/ctag-assignments/ctag-assignment/{vlan-id-inner}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Subnets">
+ <xml-root-element name="subnets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="subnet" name="subnet" type="inventory.aai.onap.org.v14.Subnet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Subnet">
+ <xml-root-element name="subnet"/>
+ <java-attributes>
+ <xml-element java-attribute="subnetId" name="subnet-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Subnet ID, should be UUID."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnetName" name="subnet-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name associated with the subnet."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of this subnet"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="gatewayAddress" name="gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="gateway ip address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkStartAddress" name="network-start-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="network start address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cidrMask" name="cidr-mask" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="cidr mask"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="dhcpEnabled" name="dhcp-enabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="dhcp enabled"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpStart" name="dhcp-start" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the start address reserved for use by dhcp"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpEnd" name="dhcp-end" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the last address reserved for use by dhcp"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnetRole" name="subnet-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="role of the subnet, referenced when assigning IPs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipAssignmentDirection" name="ip-assignment-direction" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip address assignment direction of the subnet"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnetSequence" name="subnet-sequence" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="sequence of the subnet"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hostRoutes" name="host-routes" type="inventory.aai.onap.org.v14.HostRoutes"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="subnet-id,subnet-name"/>
+ <xml-property name="nameProps" value="subnet-name"/>
+ <xml-property name="uniqueProps" value="subnet-id"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="subnets"/>
+ <xml-property name="uriTemplate" value="/subnets/subnet/{subnet-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GenericVnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VNFs"/>
+ </xml-properties>
+ <xml-root-element name="generic-vnfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="genericVnf" name="generic-vnf" type="inventory.aai.onap.org.v14.GenericVnf"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GenericVnf">
+ <xml-root-element name="generic-vnf"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfInstanceId" name="vnf-instance-id" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="vnf instance id."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service, does not necessarily map to ASDC service models. SOON TO BE DEPRECATED"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ <xml-property name="suggestibleOnSearch" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational. Valid values are in-service-path and out-of-service-path."/>
+ <xml-property name="suggestibleOnSearch" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, used by MSO."/>
+ <xml-property name="suggestibleOnSearch" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfPackageName" name="vnf-package-name" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value=""/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfDiscriptorName" name="vnf-discriptor-name" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="vnf discriptor name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="jobId" name="job-id" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="job id corresponding to vnf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of managed by ATT or customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nmLanV6Address" name="nm-lan-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 Loopback address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementV6Address" name="management-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 management address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpu" name="vcpu" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpuUnits" name="vcpu-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemory" name="vmemory" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemoryUnits" name="vmemory-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdisk" name="vdisk" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdiskUnits" name="vdisk-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nshd" name="nshd" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of associated SHD in vnf."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nvm" name="nvm" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vms in vnf."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nnet" name="nnet" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of network in vnf."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether generic-vnf access uses SSH"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementAssignmentGroupUuid" name="entitlement-assignment-group-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the Entitlement group used for licensing VNFs, OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the specific entitlement resource. OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseAssignmentGroupUuid" name="license-assignment-group-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the license assignment group. OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKeyUuid" name="license-key-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the actual license resource. OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="as-number of the VNF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceSubzone" name="regional-resource-subzone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="represents sub zone of the rr plane"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfType" name="nf-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Generic description of the type of NF"/>
+ <xml-property name="suggestibleOnSearch" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfFunction" name="nf-function" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="English description of Network function that the specific VNF deployment is providing"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="role in the network that this model will be providing"/>
+ <xml-property name="suggestibleOnSearch" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfNamingCode" name="nf-naming-code" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="string assigned to this model used for naming purposes"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Gateway address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length for oam-address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Temporary location for S-TAG to get to VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nmProfileName" name="nm-profile-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network Management profile of this VNF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v14.LInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v14.LagInterfaces"/>
+ <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.onap.org.v14.VfModules"/>
+ <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v14.Licenses"/>
+ <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v14.Entitlements"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="General purpose VNF"/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,nf-type,nf-function,nf-naming-code,nf-role"/>
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2,operational-status"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="container" value="generic-vnfs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="extends" value="vnf"/>
+ <xml-property name="containsSuggestibleProps" value="true"/>
+ <xml-property name="suggestionAliases" value="VNFs"/>
+ <xml-property name="uriTemplate" value="/network/generic-vnfs/generic-vnf/{vnf-id}"/>
+ <xml-property name="requiredProps" value="vnf-id,vnf-type,in-maint,is-closed-loop-disabled"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VfModules">
+ <xml-properties>
+ <xml-property name="description" value="Collection of vf-modules, a deployment unit of VNFCs"/>
+ </xml-properties>
+ <xml-root-element name="vf-modules"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vfModule" name="vf-module" type="inventory.aai.onap.org.v14.VfModule"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VfModule">
+ <xml-root-element name="vf-module"/>
+ <java-attributes>
+ <xml-element java-attribute="vfModuleId" name="vf-module-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vf-module."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfModuleName" name="vf-module-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of vf-module"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="orchestration status of this vf-module, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isBaseVfModule" name="is-base-vf-module" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is base vf module"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="automatedAssignment" name="automated-assignment" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Indicates whether vf-module assignment was done via automation or manually"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the Contrail unique ID for a service-instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="moduleIndex" name="module-index" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="the index will track the number of modules of a given type that have been deployed in a VNF, starting with 0, and always choosing the lowest available digit"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="a deployment unit of VNFCs"/>
+ <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-service-instance-fqdn"/>
+ <xml-property name="searchable" value="vf-module-id,vf-module-name"/>
+ <xml-property name="dependentOn" value="generic-vnf"/>
+ <xml-property name="container" value="vf-modules"/>
+ <xml-property name="uriTemplate" value="/vf-modules/vf-module/{vf-module-id}"/>
+ <xml-property name="requiredProps" value="vf-module-id,is-base-vf-module,automated-assignment"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="LagLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregation connections"/>
+ </xml-properties>
+ <xml-root-element name="lag-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagLink" name="lag-link" type="inventory.aai.onap.org.v14.LagLink"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LagLink">
+ <xml-root-element name="lag-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Alphabetical concatenation of lag-interface names"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="LAG links can connect lag-interfaces"/>
+ <xml-property name="indexedProps" value="link-name"/>
+ <xml-property name="container" value="lag-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/lag-links/lag-link/{link-name}"/>
+ <xml-property name="requiredProps" value="link-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Newvces">
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce."/>
+ </xml-properties>
+ <xml-root-element name="newvces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="newvce" name="newvce" type="inventory.aai.onap.org.v14.Newvce"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Newvce">
+ <xml-root-element name="newvce"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId2" name="vnf-id2" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF, can't use same attribute name right now until we promote this new object"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (v4-loopback0-ip-address)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v14.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce."/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2"/>
+ <xml-property name="searchable" value="vnf-id2,vnf-name,vnf-name2"/>
+ <xml-property name="uniqueProps" value="vnf-id2"/>
+ <xml-property name="container" value="newvces"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/newvces/newvce/{vnf-id2}"/>
+ <xml-property name="requiredProps" value="vnf-id2,vnf-name,vnf-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Physical Network Functions."/>
+ </xml-properties>
+ <xml-root-element name="pnfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pnf" name="pnf" type="inventory.aai.onap.org.v14.Pnf"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pnf">
+ <xml-root-element name="pnf"/>
+ <java-attributes>
+ <xml-element java-attribute="pnfName" name="pnf-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique name of Physical Network Function."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfName2" name="pnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="name of Physical Network Function."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfName2Source" name="pnf-name2-source" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="source of name2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfId" name="pnf-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="id of pnf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment type. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment vendor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment model. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of managed by ATT or customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Oam" name="ipaddress-v4-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ipv4-oam-address with new naming convention for IP addresses"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="swVersion" name="sw-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="sw-version is the version of SW for the hosted application on the PNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="frameId" name="frame-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of the physical frame (relay rack) where pnf is installed."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Serial number of the device"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 OAM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CANOPI's inventory status. Only set with values exactly as defined by CANOPI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Nf Role is the role performed by this instance in the network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="adminStatus" name="admin-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="admin Status of this PNF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the operational-status for this object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the model-customization-id for this object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The ASDC model id for this resource model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The ASDC model version for this resource model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfIpv4Address" name="pnf-ipv4-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This is the IP address (IPv4) for the PNF itself. This is the IPv4 address that the PNF iself can be accessed at."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfIpv6Address" name="pnf-ipv6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This is the IP address (IPv6) for the PNF itself. This is the IPv6 address that the PNF iself can be accessed at."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="softwareVersions" name="software-versions" type="inventory.aai.onap.org.v14.SoftwareVersions"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v14.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v14.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE."/>
+ <xml-property name="indexedProps" value="pnf-name,orchestration-status,inv-status,model-invariant-id,model-version-id,operational-status,admin-status"/>
+ <xml-property name="searchable" value="pnf-name"/>
+ <xml-property name="uniqueProps" value="pnf-name"/>
+ <xml-property name="container" value="pnfs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/pnfs/pnf/{pnf-name}"/>
+ <xml-property name="requiredProps" value="pnf-name,in-maint"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="SoftwareVersions">
+ <xml-properties>
+ <xml-property name="description" value="Collection of software versions."/>
+ </xml-properties>
+ <xml-root-element name="software-versions"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="softwareVersion" name="software-version" type="inventory.aai.onap.org.v14.SoftwareVersion"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SoftwareVersion">
+ <xml-root-element name="software-version"/>
+ <java-attributes>
+ <xml-element java-attribute="softwareVersionId" name="software-version-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifier of the software version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isActiveSwVer" name="is-active-sw-ver" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this software-version is the active one (activeSw = true)"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Software Version"/>
+ <xml-property name="indexedProps" value="softwareVersionId,isActiveSwVer"/>
+ <xml-property name="dependentOn" value="pnf"/>
+ <xml-property name="container" value="pnf"/>
+ <xml-property name="requiredProps" value="software-version-id,is-active-sw-ver"/>
+ <xml-property name="uriTemplate" value="/pnf/software-version/{software-version-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PhysicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces"/>
+ </xml-properties>
+ <xml-root-element name="physical-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="physicalLink" name="physical-link" type="inventory.aai.onap.org.v14.PhysicalLink"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PhysicalLink">
+ <xml-root-element name="physical-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Circuit it"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dualMode" name="dual-mode" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Dual access mode (e.g., primary, secondary"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="To provide information on who manages this circuit. A&amp;AI or 3rd party transport provider"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderName" name="service-provider-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the service Provider on this link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderBandwidthUpValue" name="service-provider-bandwidth-up-value" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Upstream Bandwidth value agreed with the service provider"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderBandwidthUpUnits" name="service-provider-bandwidth-up-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Units for the upstream BW value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderBandwidthDownValue" name="service-provider-bandwidth-down-value" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Downstream Bandwidth value agreed with the service provider"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderBandwidthDownUnits" name="service-provider-bandwidth-down-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Units for downstream BW value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces"/>
+ <xml-property name="indexedProps" value="circuit-id,link-name"/>
+ <xml-property name="alternateKeys1" value="circuit-id"/>
+ <xml-property name="container" value="physical-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="searchable" value="link-name,circuit-id"/>
+ <xml-property name="uriTemplate" value="/network/physical-links/physical-link/{link-name}"/>
+ <xml-property name="requiredProps" value="link-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VigServers">
+ <xml-root-element name="vig-servers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vigServer" name="vig-server" type="inventory.aai.onap.org.v14.VigServer"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VigServer">
+ <xml-root-element name="vig-server"/>
+ <java-attributes>
+ <xml-element java-attribute="vigAddressType" name="vig-address-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether the VIG is for AVPN or INTERNET"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV4Vig" name="ipaddress-v4-vig" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 IP of the vig server"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV6Vig" name="ipaddress-v6-vig" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 IP of the vig server"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607"/>
+ <xml-property name="indexedProps" value="vig-address-type"/>
+ <xml-property name="dependentOn" value="ipsec-configuration"/>
+ <xml-property name="container" value="vig-servers"/>
+ <xml-property name="uriTemplate" value="/vig-servers/vig-server/{vig-address-type}"/>
+ <xml-property name="requiredProps" value="vig-address-type"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="IpsecConfigurations">
+ <xml-root-element name="ipsec-configurations"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipsecConfiguration" name="ipsec-configuration" type="inventory.aai.onap.org.v14.IpsecConfiguration"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IpsecConfiguration">
+ <xml-root-element name="ipsec-configuration"/>
+ <java-attributes>
+ <xml-element java-attribute="ipsecConfigurationId" name="ipsec-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of this configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedVigAddressType" name="requested-vig-address-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicate the type of VIG server like AVPN, INTERNET, BOTH"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedEncryptionStrength" name="requested-encryption-strength" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encryption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedDmzType" name="requested-dmz-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ATT can offer a shared DMZ or a DMZ specific to a customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sharedDmzNetworkAddress" name="shared-dmz-network-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network address of shared DMZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedCustomerName" name="requested-customer-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="If the DMZ is a custom DMZ, this field will indicate the customer information"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikeVersion" name="ike-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="can be 1 or 2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1Authentication" name="ikev1-authentication" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contains values like md5, sha1, sha256, sha384"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1Encryption" name="ikev1-encryption" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1DhGroup" name="ikev1-dh-group" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Diffie-Hellman group like DH-GROUP2, DH-GROUP5, DH-GROUP14"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1AmGroupId" name="ikev1-am-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group name defined in VIG for clients using aggressive mode"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1AmPassword" name="ikev1-am-password" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="pre-shared key for the above group name "/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1SaLifetime" name="ikev1-sa-lifetime" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Lifetime for IKEv1 SA"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecAuthentication" name="ipsec-authentication" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="md5, sha1, sha256, sha384"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecEncryption" name="ipsec-encryption" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecSaLifetime" name="ipsec-sa-lifetime" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Life time for IPSec SA"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecPfs" name="ipsec-pfs" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="enable PFS or not"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="xauthUserId" name="xauth-userid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="user ID for xAuth, sm-user,ucpeHostName,nmteHostName"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="xauthUserPassword" name="xauth-user-password" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encrypted using the Juniper $9$ algorithm"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dpdInterval" name="dpd-interval" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The time between DPD probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dpdFrequency" name="dpd-frequency" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Maximum number of DPD before claiming the tunnel is down"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.onap.org.v14.VigServers"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C"/>
+ <xml-property name="indexedProps" value="ipsec-configuration-id"/>
+ <xml-property name="uniqueProps" value="ipsec-configuration-id"/>
+ <xml-property name="container" value="ipsec-configurations"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}"/>
+ <xml-property name="requiredProps" value="ipsec-configuration-id"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="NotificationEvent">
+ <xml-root-element name="notification-event"/>
+ <java-attributes>
+ <xml-element java-attribute="cambriaPartition" name="cambria.partition" type="java.lang.String"/>
+ <xml-element java-attribute="eventHeader" name="event-header" type="inventory.aai.onap.org.v14.NotificationEventHeader"/>
+ <xml-any-element java-attribute="entity"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="NotificationEventHeader">
+ <xml-root-element name="notification-event-header"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" type="java.lang.String"/>
+ <xml-element java-attribute="timestamp" name="timestamp" type="java.lang.String"/>
+ <xml-element java-attribute="sourceName" name="source-name" type="java.lang.String"/>
+ <xml-element java-attribute="domain" name="domain" type="java.lang.String"/>
+ <xml-element java-attribute="sequenceNumber" name="sequence-number" type="java.lang.String"/>
+ <xml-element java-attribute="severity" name="severity" type="java.lang.String"/>
+ <xml-element java-attribute="eventType" name="event-type" type="java.lang.String"/>
+ <xml-element java-attribute="version" name="version" type="java.lang.String"/>
+ <xml-element java-attribute="action" name="action" type="java.lang.String"/>
+ <xml-element java-attribute="entityType" name="entity-type" type="java.lang.String"/>
+ <xml-element java-attribute="topEntityType" name="top-entity-type" type="java.lang.String"/>
+ <xml-element java-attribute="entityLink" name="entity-link" type="java.lang.String"/>
+ <xml-element java-attribute="status" name="status" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="AaiInternal">
+ <xml-root-element name="aai-internal"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="reservedPropNames" name="reserved-prop-names" type="inventory.aai.onap.org.v14.ReservedPropNames"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.onap.org.v14.EdgePropNames"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="ReservedPropNames">
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define some reserved properties of a vertex"/>
+ <xml-property name="uniqueProps" value="aai-unique-key"/>
+ <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type,aai-uri"/>
+ </xml-properties>
+ <xml-root-element name="reserved-prop-names"/>
+ <java-attributes>
+ <xml-element java-attribute="lastModSourceOfTruth" name="last-mod-source-of-truth" type="java.lang.String"/>
+ <xml-element java-attribute="aaiNodeType" name="aai-node-type" type="java.lang.String"/>
+ <xml-element java-attribute="aaiCreatedTs" name="aai-created-ts" type="java.lang.Long"/>
+ <xml-element java-attribute="aaiUniqueKey" name="aai-unique-key" type="java.lang.String"/>
+ <xml-element java-attribute="aaiLastModTs" name="aai-last-mod-ts" type="java.lang.Long"/>
+ <xml-element java-attribute="sourceOfTruth" name="source-of-truth" type="java.lang.String"/>
+ <xml-element java-attribute="aaiUri" name="aai-uri" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="EdgePropNames">
+ <!-- NOTE that the names of these properties are not consistent and are in mixed case and hyphen case for now -->
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define the properties of an edge and interpret the map EdgeRules"/>
+ <xml-property name="edgeInfo" value="aaiUuid,edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV"/>
+ <xml-property name="uniqueProps" value="aai-uuid"/>
+ <xml-property name="indexedProps" value="aai-uuid"/>
+ </xml-properties>
+ <xml-root-element name="edge-prop-names"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeLabel" name="edgeLabel" type="java.lang.String"/>
+ <xml-element java-attribute="direction" name="direction" type="java.lang.String"/>
+ <xml-element java-attribute="multiplicityRule" name="multiplicityRule" type="java.lang.String"/>
+ <xml-element java-attribute="containsOtherV" name="contains-other-v" type="java.lang.String"/>
+ <xml-element java-attribute="deleteOtherV" name="delete-other-v" type="java.lang.String"/>
+ <xml-element java-attribute="svcinfra" name="SVC-INFRA" type="java.lang.String"/>
+ <xml-element java-attribute="preventDelete" name="prevent-delete" type="java.lang.String"/>
+ <xml-element java-attribute="aaiUuid" name="aai-uuid" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Models">
+ <xml-properties>
+ <xml-property name="description" value="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models"/>
+ </xml-properties>
+ <xml-root-element name="models"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="model" name="model" type="inventory.aai.onap.org.v14.Model"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Model">
+ <xml-root-element name="model"/>
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version"/>
+ <xml-property name="nameProps" value="model-type"/>
+ <xml-property name="indexedProps" value="model-invariant-id,model-type"/>
+ <xml-property name="uniqueProps" value="model-invariant-id"/>
+ <xml-property name="container" value="models"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/models/model/{model-invariant-id}"/>
+ <xml-property name="requiredProps" value="model-invariant-id,model-type"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.onap.org.v14.ModelVers"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+
+ <java-type name="ModelVers">
+ <xml-root-element name="model-vers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelVer" name="model-ver" type="inventory.aai.onap.org.v14.ModelVer"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelVer">
+ <xml-root-element name="model-ver"/>
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models"/>
+ <xml-property name="nameProps" value="model-name"/>
+ <xml-property name="indexedProps" value="model-version-id,model-name,model-version,distribution-status"/>
+ <xml-property name="uniqueProps" value="model-version-id"/>
+ <xml-property name="container" value="model-vers"/>
+ <xml-property name="uriTemplate" value="/model-vers/model-ver/{model-version-id}"/>
+ <xml-property name="requiredProps" value="model-version-id,model-name,model-version"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the model, which can change from version to version."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="distributionStatus" name="distribution-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Distribution Status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v14.ModelElements"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v14.Metadata"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelElements">
+ <xml-root-element name="model-elements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelElement" name="model-element" type="inventory.aai.onap.org.v14.ModelElement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelElement">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model."/>
+ <xml-property name="uniqueProps" value="model-element-uuid"/>
+ <xml-property name="indexedProps" value="model-element-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="model-elements"/>
+ <xml-property name="uriTemplate" value="/model-elements/model-element/{model-element-uuid}"/>
+ <xml-property name="requiredProps" value="model-element-uuid,new-data-del-flag,cardinality"/>
+ </xml-properties>
+ <xml-root-element name="model-element"/>
+ <java-attributes>
+ <xml-element java-attribute="modelElementUuid" name="model-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="newDataDelFlag" name="new-data-del-flag" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates whether this element was created as part of instantiation from this model"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cardinality" name="cardinality" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="How many of this type of element are required/allowed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="linkagePoints" name="linkage-points" type="java.lang.String">
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v14.ModelElements">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelConstraints" name="model-constraints" type="inventory.aai.onap.org.v14.ModelConstraints">
+ <xml-properties>
+ <xml-property name="description" value="Describes new constraints on this model element that are not part of that model's definition"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelConstraints">
+ <xml-root-element name="model-constraints"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelConstraint" name="model-constraint" type="inventory.aai.onap.org.v14.ModelConstraint"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelConstraint">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="model-constraint-uuid"/>
+ <xml-property name="indexedProps" value="model-constraint-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="model-constraints"/>
+ <xml-property name="uriTemplate" value="/model-constraints/model-constraint/{model-constraint-uuid}"/>
+ <xml-property name="requiredProps" value="model-constraint-uuid,constrained-element-set-uuid-to-replace"/>
+ </xml-properties>
+ <xml-root-element name="model-constraint"/>
+ <java-attributes>
+ <xml-element java-attribute="modelConstraintUuid" name="model-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constrainedElementSetUuidToReplace" name="constrained-element-set-uuid-to-replace" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="constrainedElementSets" name="constrained-element-sets" type="inventory.aai.onap.org.v14.ConstrainedElementSets"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ConstrainedElementSets">
+ <xml-root-element name="constrained-element-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="constrainedElementSet" name="constrained-element-set" type="inventory.aai.onap.org.v14.ConstrainedElementSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ConstrainedElementSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="constrained-element-set-uuid"/>
+ <xml-property name="indexedProps" value="constrained-element-set-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="constrained-element-sets"/>
+ <xml-property name="uriTemplate" value="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}"/>
+ <xml-property name="requiredProps" value="constrained-element-set-uuid,constraint-type,check-type"/>
+ </xml-properties>
+ <xml-root-element name="constrained-element-set"/>
+ <java-attributes>
+ <xml-element java-attribute="constrainedElementSetUuid" name="constrained-element-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="checkType" name="check-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="elementChoiceSets" name="element-choice-sets" type="inventory.aai.onap.org.v14.ElementChoiceSets"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ElementChoiceSets">
+ <xml-root-element name="element-choice-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="elementChoiceSet" name="element-choice-set" type="inventory.aai.onap.org.v14.ElementChoiceSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ElementChoiceSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="element-choice-set-uuid"/>
+ <xml-property name="indexedProps" value="element-choice-set-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="element-choice-sets"/>
+ <xml-property name="uriTemplate" value="/element-choice-sets/element-choice-set/{element-choice-set-uuid}"/>
+ <xml-property name="requiredProps" value="element-choice-set-uuid,element-choice-set-name"/>
+ </xml-properties>
+ <xml-root-element name="element-choice-set"/>
+ <java-attributes>
+ <xml-element java-attribute="elementChoiceSetUuid" name="element-choice-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="elementChoiceSetName" name="element-choice-set-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="cardinality" name="cardinality" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v14.ModelElements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueries">
+ <xml-root-element name="named-queries"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQuery" name="named-query" type="inventory.aai.onap.org.v14.NamedQuery"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQuery">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="nameProps" value="named-query-name"/>
+ <xml-property name="uniqueProps" value="named-query-uuid"/>
+ <xml-property name="indexedProps" value="named-query-uuid,named-query-name"/>
+ <xml-property name="container" value="named-queries"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="requiredProps" value="named-query-uuid,named-query-name,named-query-version"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/named-queries/named-query/{named-query-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="named-query"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQueryUuid" name="named-query-uuid" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="namedQueryName" name="named-query-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryVersion" name="named-query-version" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="requiredInputParams" name="required-input-param" type="java.lang.String">
+ <xml-element-wrapper name="required-input-params"/>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.onap.org.v14.NamedQueryElements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueryElements">
+ <xml-root-element name="named-query-elements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQueryElement" name="named-query-element" type="inventory.aai.onap.org.v14.NamedQueryElement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueryElement">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="named-query-element-uuid"/>
+ <xml-property name="indexedProps" value="named-query-element-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="named-query-elements"/>
+ <xml-property name="requiredProps" value="named-query-element-uuid"/>
+ <xml-property name="uriTemplate" value="/named-query-elements/named-query-element/{named-query-element-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="named-query-element"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQueryElementUuid" name="named-query-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="propertyLimitDesc" name="property-limit-desc" type="java.lang.String"/>
+ <xml-element java-attribute="doNotOutput" name="do-not-output" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.onap.org.v14.NamedQueryElements"/>
+ <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.onap.org.v14.RelatedLookups"/>
+ <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.onap.org.v14.PropertyConstraints"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedLookups">
+ <xml-root-element name="related-lookups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedLookup" name="related-lookup" type="inventory.aai.onap.org.v14.RelatedLookup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedLookup">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="related-lookup-uuid"/>
+ <xml-property name="indexedProps" value="related-lookup-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="related-lookups"/>
+ <xml-property name="requiredProps" value="related-lookup-uuid,source-node-type,source-node-property,target-node-type,target-node-property"/>
+ <xml-property name="uriTemplate" value="/related-lookups/related-lookup/{related-lookup-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="related-lookup"/>
+ <java-attributes>
+ <xml-element java-attribute="relatedLookupUuid" name="related-lookup-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceNodeType" name="source-node-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="sourceNodeProperty" name="source-node-property" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="targetNodeType" name="target-node-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="targetNodeProperty" name="target-node-property" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PropertyConstraints">
+ <xml-root-element name="property-constraints"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyConstraint" name="property-constraint" type="inventory.aai.onap.org.v14.PropertyConstraint"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PropertyConstraint">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="property-constraint-uuid"/>
+ <xml-property name="indexedProps" value="property-constraint-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="property-constraints"/>
+ <xml-property name="requiredProps" value="property-constraint-uuid,constraint-type,property-name,property-value"/>
+ <xml-property name="uriTemplate" value="/property-constraints/property-constraint/{property-constraint-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="property-constraint"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyConstraintUuid" name="property-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="propertyName" name="property-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelAndNamedQuerySearch">
+ <xml-properties>
+ <xml-property name="description" value="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="model-and-named-query-search"/>
+ <java-attributes>
+ <xml-element java-attribute="queryParameters" name="query-parameters" type="inventory.aai.onap.org.v14.QueryParameters"/>
+ <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.onap.org.v14.InstanceFilters"/>
+ <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.onap.org.v14.SecondaryFilts"/>
+ <xml-element java-attribute="topNodeType" name="top-node-type" type="java.lang.String"/>
+ <xml-element java-attribute="secondaryFilterCutPoint" name="secondary-filter-cut-point" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="QueryParameters">
+ <xml-properties>
+ <xml-property name="description" value="QueryParameters for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="query-parameters"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQuery" name="named-query" type="inventory.aai.onap.org.v14.NamedQuery"/>
+ <xml-element java-attribute="model" name="model" type="inventory.aai.onap.org.v14.OverloadedModel"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OverloadedModel">
+ <xml-root-element name="overloaded-model"/>
+ <xml-properties>
+ <xml-property name="description" value="Allows for legacy POST of old-style and new-style models"/>
+ <xml-property name="requiredProps" value="model-invariant-id,model-name-version-id,model-type,model-name,model-id,model-version"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelNameVersionId" name="model-name-version-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the model, which can change from version to version."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelId" name="model-id" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Invariant unique ID which does not change from version to version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.onap.org.v14.ModelVers"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceFilters">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilters for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="instance-filters"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="instanceFilter" name="instance-filter" type="inventory.aai.onap.org.v14.InstanceFilter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceFilter">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilter for performing a named-query or model query"/>
+ <xml-property name="container" value="instance-filters"/>
+ </xml-properties>
+ <xml-root-element name="instance-filter"/>
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilts">
+ <xml-properties>
+ <xml-property name="description" value="SecondaryFilts for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="secondary-filts"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilt" name="secondary-filt" type="inventory.aai.onap.org.v14.SecondaryFilt"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilt">
+ <xml-properties>
+ <xml-property name="description" value="SecondaryFilt for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="secondary-filt"/>
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Properties">
+ <xml-properties>
+ <xml-property name="description" value="Property holder for query properties or instance properties"/>
+ </xml-properties>
+ <xml-root-element name="properties"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ResponseList">
+ <xml-properties>
+ <xml-property name="description" value="Response container for the results of a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="response-list"/>
+ <java-attributes>
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v14.InventoryResponseItems"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryResponseItems">
+ <xml-properties>
+ <xml-property name="description" value="Container for inventory items in response list"/>
+ <xml-property name="container" value="response-list"/>
+ </xml-properties>
+ <xml-root-element name="inventory-response-items"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryResponseItem" name="inventory-response-item" type="inventory.aai.onap.org.v14.InventoryResponseItem"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryResponseItem">
+ <xml-properties>
+ <xml-property name="description" value="Inventory item for response list"/>
+ <xml-property name="container" value="inventory-response-items"/>
+ </xml-properties>
+ <xml-root-element name="inventory-response-item"/>
+ <java-attributes>
+ <xml-element java-attribute="modelName" name="model-name" type="java.lang.String"/>
+ <xml-any-element java-attribute="item"/>
+ <xml-element java-attribute="extraProperties" name="extra-properties" type="inventory.aai.onap.org.v14.ExtraProperties"/>
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v14.InventoryResponseItems"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExtraProperties">
+ <xml-properties>
+ <xml-property name="description" value="Extra properties for inventory item for response list"/>
+ </xml-properties>
+ <xml-root-element name="extra-properties"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="extraProperty" name="extra-property" type="inventory.aai.onap.org.v14.ExtraProperty"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExtraProperty">
+ <xml-root-element name="extra-property"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RouteTableReferences">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack route table references"/>
+ </xml-properties>
+ <xml-root-element name="route-table-references"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routeTableReference" name="route-table-reference" type="inventory.aai.onap.org.v14.RouteTableReference"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RouteTableReference">
+ <xml-root-element name="route-table-reference"/>
+ <java-attributes>
+ <xml-element java-attribute="routeTableReferenceId" name="route-table-reference-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTableReferenceFqdn" name="route-table-reference-fqdn" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="FQDN entry in the route table."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Openstack route table reference."/>
+ <xml-property name="nameProps" value="route-table-reference-fqdn"/>
+ <xml-property name="uniqueProps" value="route-table-reference-id"/>
+ <xml-property name="indexedProps" value="route-table-reference-id,route-table-reference-fqdn"/>
+ <xml-property name="container" value="route-table-references"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/route-table-references/route-table-reference/{route-table-reference-id}"/>
+ <xml-property name="requiredProps" value="route-table-reference-id,route-table-reference-fqdn"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="InstanceGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack route table references"/>
+ </xml-properties>
+ <xml-root-element name="instance-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="instanceGroup" name="instance-group" type="inventory.aai.onap.org.v14.InstanceGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceGroup">
+ <xml-root-element name="instance-group"/>
+ <java-attributes>
+
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Instance Group ID, UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+
+ <xml-element java-attribute="instanceGroupRole" name="instance-group-role" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="role of the instance group."/>
+ </xml-properties>
+ </xml-element>
+
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+
+ <xml-element java-attribute="modelVersionId" name="model-version-id" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ASDC model version uid for this resource model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Descriptive text to help identify the usage of this instance-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="instanceGroupType" name="instance-group-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Only valid value today is lower case ha for high availability"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+
+ <xml-element java-attribute="instanceGroupName" name="instance-group-name" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Instance-Group Name."/>
+ </xml-properties>
+ </xml-element>
+
+ <xml-element java-attribute="instanceGroupFunction" name="instance-group-function" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Instance-Group Function"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="General mechanism for grouping instances"/>
+ <xml-property name="nameProps" value="description,instance-group-name"/>
+ <xml-property name="uniqueProps" value="id"/>
+ <xml-property name="searchable" value="id,description"/>
+ <xml-property name="indexedProps" value="id,type,sub-type,model-invariant-id,model-version-id"/>
+ <xml-property name="container" value="instance-groups"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/instance-groups/instance-group/{id}"/>
+ <xml-property name="requiredProps" value="id,instance-group-type"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="SegmentationAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack segmentation assignments"/>
+ </xml-properties>
+ <xml-root-element name="segmentation-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.onap.org.v14.SegmentationAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SegmentationAssignment">
+ <xml-root-element name="segmentation-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack segmentation assignment."/>
+ <xml-property name="indexedProps" value="segmentation-id"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="segmentation-assignments"/>
+ <xml-property name="uriTemplate" value="/segmentation-assignments/segmentation-assignment/{segmentation-id}"/>
+ <xml-property name="requiredProps" value="segmentation-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="AllottedResources">
+ <xml-properties>
+ <xml-property name="description" value="This object is used to store slices of services being offered"/>
+ </xml-properties>
+ <xml-root-element name="allotted-resources"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="allottedResource" name="allotted-resource" type="inventory.aai.onap.org.v14.AllottedResource"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AllottedResource">
+ <xml-root-element name="allotted-resource"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Allotted Resource id UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The descriptive information assigned to this allotted resource instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Link back to more information in the controller"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="type" name="type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Generic description of the type of allotted resource."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="role" name="role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="role in the network that this resource will be providing."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="allottedResourceName" name="allotted-resource-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the name of this allotted-resource."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="accessProviderId" name="access-provider-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the id of the access provider of this allotted-resource."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="accessClientId" name="access-client-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the id of the access client of this allotted-resource."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="accessTopologyId" name="access-topology-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the id of the access topology of this allotted-resource."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="accessNodeId" name="access-node-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the id of the access node of this allotted-resource."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="accessLtpId" name="access-ltp-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the id of the access ltp of this allotted-resource."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlan" name="cvlan" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the cvlan of this allotted-resource."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnName" name="vpn-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the vpn-name of this allotted-resource."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tunnelXconnects" name="tunnel-xconnects" type="inventory.aai.onap.org.v14.TunnelXconnects"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Represents a slice or partial piece of a resource that gets separately allotted"/>
+ <xml-property name="nameProps" value="description,allotted-resource-name"/>
+ <xml-property name="uniqueProps" value="id"/>
+ <xml-property name="indexedProps" value="id,model-invariant-id,model-version-id,type,role,allotted-resource-name,access-provider-id,access-client-id,access-topology-id,access-node-id,access-ltp-id,vpn-name"/>
+ <xml-property name="dependentOn" value="service-instance"/>
+ <xml-property name="container" value="allotted-resources"/>
+ <!-- <xml-property name="namespace" value="network" /> -->
+ <xml-property name="uriTemplate" value="/allotted-resources/allotted-resource/{id}"/>
+ <xml-property name="requiredProps" value="id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="TunnelXconnects">
+ <xml-properties>
+ <xml-property name="description" value="This object is used to store the specific tunnel cross connect aspects of an allotted resource"/>
+ </xml-properties>
+ <xml-root-element name="tunnel-xconnects"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tunnelXconnect" name="tunnel-xconnect" type="inventory.aai.onap.org.v14.TunnelXconnect"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="TunnelXconnect">
+ <xml-root-element name="tunnel-xconnect"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Allotted Resource id UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted"/>
+ <xml-property name="uniqueProps" value="id"/>
+ <xml-property name="indexedProps" value="id"/>
+ <xml-property name="dependentOn" value="allotted-resource"/>
+ <xml-property name="container" value="tunnel-xconnects"/>
+ <!-- <xml-property name="namespace" value="network" /> -->
+ <xml-property name="uriTemplate" value="/tunnel-xconnects/tunnel-xconnect/{id}"/>
+ <xml-property name="requiredProps" value="id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Entitlements">
+ <xml-properties>
+ <xml-property name="description" value="Entitlements, keyed by group-uuid and resource-uuid, related to license management"/>
+ </xml-properties>
+ <xml-root-element name="entitlements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="entitlement" name="entitlement" type="inventory.aai.onap.org.v14.Entitlement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Entitlement">
+ <xml-root-element name="entitlement"/>
+ <java-attributes>
+ <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for the entitlement group the resource comes from, should be uuid."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of an entitlement resource. "/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Metadata for entitlement group."/>
+ <xml-property name="indexedProps" value="group-uuid,resource-uuid"/>
+ <xml-property name="dependentOn" value="generic-vnf,vce"/>
+ <xml-property name="container" value="entitlements"/>
+ <xml-property name="uriTemplate" value="/entitlements/entitlement/{group-uuid}/{resource-uuid}"/>
+ <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="Licenses">
+ <xml-properties>
+ <xml-property name="description" value="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management"/>
+ </xml-properties>
+ <xml-root-element name="licenses"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="license" name="license" type="inventory.aai.onap.org.v14.License"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="License">
+ <xml-root-element name="license"/>
+ <java-attributes>
+ <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for the license group the resource belongs to, should be uuid."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of a license resource. "/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Metadata for license group."/>
+ <xml-property name="indexedProps" value="group-uuid,resource-uuid"/>
+ <xml-property name="dependentOn" value="generic-vnf,vce"/>
+ <xml-property name="container" value="licenses"/>
+ <xml-property name="uriTemplate" value="/licenses/license/{group-uuid}/{resource-uuid}"/>
+ <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vnf">
+ <xml-root-element name="vnf"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Abstract vnf class"/>
+ <xml-property name="indexedProps" value="vnf-id"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="inheritors" value="vce,generic-vnf"/>
+ <xml-property name="abstract" value="true"/>
+ <xml-property name="requiredProps" value="vnf-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Zones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of zones"/>
+ </xml-properties>
+ <xml-root-element name="zones"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="zone" name="zone" type="inventory.aai.onap.org.v14.Zone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Zone">
+ <xml-root-element name="zone"/>
+ <java-attributes>
+ <xml-element java-attribute="zoneId" name="zone-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Code assigned by AIC to the zone"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="zoneName" name="zone-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="English name associated with the zone"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="designType" name="design-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Design of zone [Medium/Large…]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="zoneContext" name="zone-context" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Context of zone [production/test]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="status" name="status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Status of a zone."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="A zone is a grouping of assets in a location homing to the same connections into the CBB"/>
+ <xml-property name="nameProps" value="zone-name"/>
+ <xml-property name="indexedProps" value="zone-id,design-type,zone-context"/>
+ <xml-property name="uniqueProps" value="zone-id"/>
+ <xml-property name="container" value="zones"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/zones/zone/{zone-id}"/>
+ <xml-property name="requiredProps" value="zone-id,zone-name,design-type,zone-context"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="RouteTargets">
+ <xml-properties>
+ <xml-property name="description" value="Collection of route target information"/>
+ </xml-properties>
+ <xml-root-element name="route-targets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routeTarget" name="route-target" type="inventory.aai.onap.org.v14.RouteTarget"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="RouteTarget">
+ <xml-root-element name="route-target"/>
+ <java-attributes>
+ <xml-element java-attribute="globalRouteTarget" name="global-route-target" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Number used to identify an RT, globally unique in the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTargetRole" name="route-target-role" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this route target"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Route target information"/>
+ <xml-property name="container" value="route-targets"/>
+ <xml-property name="dependentOn" value="vpn-binding"/>
+ <xml-property name="canBeLinked" value="true"/>
+ <xml-property name="uriTemplate" value="/route-targets/route-target/{global-route-target}/{route-target-role}"/>
+ <xml-property name="requiredProps" value="global-route-target,route-target-role"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SriovPfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of SR-IOV Physical Functions."/>
+ </xml-properties>
+ <xml-root-element name="sriov-pfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sriovPf" name="sriov-pf" type="inventory.aai.onap.org.v14.SriovPf"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="SriovPf">
+ <xml-root-element name="sriov-pf"/>
+ <java-attributes>
+ <xml-element java-attribute="pfPciId" name="pf-pci-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifier for the sriov-pf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="SR-IOV Physical Function"/>
+ <xml-property name="indexedProps" value="pf-pci-id"/>
+ <xml-property name="dependentOn" value="p-interface"/>
+ <xml-property name="container" value="sriov-pfs"/>
+ <xml-property name="uriTemplate" value="/sriov-pfs/sriov-pf/{pf-pci-id}"/>
+ <xml-property name="requiredProps" value="pf-pci-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="HostRoutes">
+ <xml-root-element name="host-routes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="hostRoute" name="host-route" type="inventory.aai.onap.org.v14.HostRoute"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="HostRoute">
+ <xml-root-element name="host-route"/>
+ <java-attributes>
+ <xml-element java-attribute="hostRouteId" name="host-route-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="host-route id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routePrefix" name="route-prefix" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="subnet prefix"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nextHop" name="next-hop" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Could be ip-address, hostname, or service-instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nextHopType" name="next-hop-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Should be ip-address, hostname, or service-instance to match next-hop"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="host-route-id"/>
+ <xml-property name="dependentOn" value="subnet"/>
+ <xml-property name="container" value="host-routes"/>
+ <xml-property name="uriTemplate" value="/host-routes/host-route/{host-route-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VipIpv4AddressList">
+ <xml-root-element name="vip-ipv4-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="vipIpv4Address" name="vip-ipv4-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vipIpv4PrefixLength" name="vip-ipv4-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 32 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv4 Address Range"/>
+ <xml-property name="indexedProps" value="vip-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="uriTemplate" value="/vip-ipv4-address-list/{vip-ipv4-address}"/>
+ <xml-property name="requiredProps" value="vip-ipv4-address"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VipIpv6AddressList">
+ <xml-root-element name="vip-ipv6-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="vipIpv6Address" name="vip-ipv6-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vipIpv6PrefixLength" name="vip-ipv6-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 128 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv6 Address Range"/>
+ <xml-property name="indexedProps" value="vip-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="uriTemplate" value="/vip-ipv6-address-list/{vip-ipv6-address}"/>
+ <xml-property name="requiredProps" value="vip-ipv6-address"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="OperationalEnvironments">
+ <xml-properties>
+ <xml-property name="description" value="a logical partition of the cloud which allows to have multiple environments in the production AIC."/>
+ </xml-properties>
+ <xml-root-element name="operational-environments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="operationalEnvironment" name="operational-environment" type="inventory.aai.onap.org.v14.OperationalEnvironment"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="OperationalEnvironment">
+ <xml-root-element name="operational-environment"/>
+ <java-attributes>
+ <xml-element java-attribute="operationalEnvironmentId" name="operational-environment-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of an operational environment"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalEnvironmentName" name="operational-environment-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operational Environment name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalEnvironmentType" name="operational-environment-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operational Environment Type."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalEnvironmentStatus" name="operational-environment-status" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tenantContext" name="tenant-context" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Tenant Context."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="workloadContext" name="workload-context" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Workload Context."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="It is a logical partition of the cloud which allows to have multiple environments in the production AIC."/>
+ <xml-property name="indexedProps" value="operational-environment-id"/>
+ <xml-property name="nameProps" value="operational-environment-name"/>
+ <xml-property name="uniqueProps" value="operational-environment-id"/>
+ <xml-property name="container" value="operational-environments"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/operational-environments/operational-environment/{operational-environment-id}"/>
+ <xml-property name="requiredProps" value="operational-environment-id,operational-environment-name,operational-environment-type,operational-environment-status,tenant-context,workload-context"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ForwardingPaths">
+ <xml-root-element name="forwarding-paths"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="forwardingPath" name="forwarding-path" type="inventory.aai.onap.org.v14.ForwardingPath"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ForwardingPath">
+ <xml-root-element name="forwarding-path"/>
+ <xml-properties>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="indexedProps" value="forwarding-path-id,forwarding-path-name"/>
+ <xml-property name="description" value="Entity that describes the sequenced forwarding path between interfaces of services or resources"/>
+ <xml-property name="container" value="forwarding-paths"/>
+ <xml-property name="nameProps" value="forwarding-path-name"/>
+ <xml-property name="uniqueProps" value="forwarding-path-id"/>
+ <xml-property name="uriTemplate" value="/network/forwarding-paths/forwarding-path/{forwarding-path-id}"/>
+ <xml-property name="requiredProps" value="forwarding-path-id,forwarding-path-name"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="forwardingPathId" name="forwarding-path-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of this FP"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="forwardingPathName" name="forwarding-path-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the FP"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the self link for this FP"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="forwarders" name="forwarders" type="inventory.aai.onap.org.v14.Forwarders"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Forwarders">
+ <xml-root-element name="forwarders"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="forwarder" name="forwarder" type="inventory.aai.onap.org.v14.Forwarder"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Forwarder">
+ <xml-root-element name="forwarder"/>
+ <xml-properties>
+ <xml-property name="indexedProps" value="sequence"/>
+ <xml-property name="description" value="Entity describing a sequenced segment of forwarding path"/>
+ <xml-property name="container" value="forwarders"/>
+ <xml-property name="dependentOn" value="forwarding-path"/>
+ <xml-property name="uriTemplate" value="/forwarders/forwarder/{sequence}"/>
+ <xml-property name="requiredProps" value="sequence"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="sequence" name="sequence" required="true" type="java.lang.Integer" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of this segmentation"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="forwarderRole" name="forwarder-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ingress, intermediate, egress"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ForwarderEvcs">
+ <xml-root-element name="forwarder-evcs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="forwarderEvc" name="forwarder-evc" type="inventory.aai.onap.org.v14.ForwarderEvc"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ForwarderEvc">
+ <xml-root-element name="forwarder-evc"/>
+ <java-attributes>
+ <xml-element java-attribute="forwarderEvcId" name="forwarder-evc-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Key for forwarder-evc object"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Circuit ID from customer/ESP/ingress end of EVC, or reference to beater circuit on gateway/network/egress end of EVC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ivlan" name="ivlan" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Internal VLAN."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="svlan" name="svlan" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="SVLAN value for ingress of egress forwarder."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlan" name="cvlan" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CVLAN value for ingress of egress forwarder."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanMappings" name="vlan-mappings" type="inventory.aai.onap.org.v14.VlanMappings"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="forwarder object is an optional child object of the Configuration object."/>
+ <xml-property name="dependentOn" value="configuration"/>
+ <xml-property name="uniqueProps" value="forwarder-evc-id"/>
+ <xml-property name="container" value="forwarder-evcs"/>
+ <xml-property name="uriTemplate" value="/forwarder-evcs/forwarder-evc/{forwarder-evc-id}"/>
+ <xml-property name="requiredProps" value="forwarder-evc-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VlanMappings">
+ <xml-properties>
+ <xml-property name="description" value="Collection of vlan mappings."/>
+ </xml-properties>
+ <xml-root-element name="vlan-mappings"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vlanMapping" name="vlan-mapping" type="inventory.aai.onap.org.v14.VlanMapping"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VlanMapping">
+ <xml-root-element name="vlan-mapping"/>
+ <java-attributes>
+ <xml-element java-attribute="vlanMappingId" name="vlan-mapping-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Key for vlan-mapping object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="uniCvlan" name="uni-cvlan" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CVLAN value from the UNI/ingress side of the SAREA gateway access device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nniSvlan" name="nni-svlan" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="SVLAN value from the NNI/egress side of the SAREA gateway access device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nniCvlan" name="nni-cvlan" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CVLAN value from the NNI/egress side of the SAREA gateway access device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ivLan" name="ivlan" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The internal VLAN ('IVLAN') value. Specific to Arista devices."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="vlan-mapping object is an optional child object of the forwarder-evc object. A given forwarder-evc object may have multiple vlan-mapping objects."/>
+ <xml-property name="dependentOn" value="forwarder-evc"/>
+ <xml-property name="uniqueProps" value="vlan-mapping-id"/>
+ <xml-property name="container" value="vlan-mappings"/>
+ <xml-property name="uriTemplate" value="/vlan-mappings/vlan-mapping/{vlan-mapping-id}"/>
+ <xml-property name="requiredProps" value="vlan-mapping-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Evcs">
+ <xml-root-element name="evcs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="evc" name="evc" type="inventory.aai.onap.org.v14.Evc"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Evc">
+ <xml-root-element name="evc"/>
+ <java-attributes>
+ <xml-element java-attribute="evcId" name="evc-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique/key field for the evc object"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="forwardingPathTopology" name="forwarding-path-topology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Point-to-Point, Multi-Point"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cirValue" name="cir-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Commited Information Rate"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cirUnits" name="cir-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CIR units"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="connectionDiversityGroupId" name="connection-diversity-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Diversity Group ID"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceHours" name="service-hours" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="formerly Performance Group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="espEvcCircuitId" name="esp-evc-circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="EVC Circuit ID of ESP EVC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="espEvcCirValue" name="esp-evc-cir-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Committed Information Rate (For ESP)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="espEvcCirUnits" name="esp-evc-cir-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CIR units (For ESP)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="espItuCode" name="esp-itu-code" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Identifies ESP"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="collectorPopClli" name="collector-pop-clli" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Collector POP CLLI (from the hostname of the access pnf)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interConnectTypeIngress" name="inter-connect-type-ingress" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Interconnect type on ingress side of EVC."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tagmodeAccessIngress" name="tagmode-access-ingress" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="tagode for collector side of EVC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tagmodeAccessEgress" name="tagmode-access-egress" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="tagMode for network side of EVC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="evc object is an optional child object of the Configuration object."/>
+ <xml-property name="dependentOn" value="configuration"/>
+ <xml-property name="uniqueProps" value="evc-id"/>
+ <xml-property name="container" value="evcs"/>
+ <xml-property name="uriTemplate" value="/evcs/evc/{evc-id}"/>
+ <xml-property name="requiredProps" value="evc-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Collections">
+ <xml-root-element name="collections"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="collection" name="collection" type="inventory.aai.onap.org.v14.Collection"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Collection">
+ <xml-root-element name="collection"/>
+ <java-attributes>
+ <xml-element java-attribute="collectionId" name="collection-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Collection Object UUID"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ASDC model id for this resource or service model"/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Model Version"/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="collectionName" name="collection-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="collection name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="collectionType" name="collection-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Collection type"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="collectionRole" name="collection-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Collection Role"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="collectionFunction" name="collection-function" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Collection function"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="orchestration status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="collectionCustomizationId" name="collection-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the id of all the configuration used to customize the resource for the service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="description" value="represents the collection resource in the TOSCA model"/>
+ <xml-property name="uniqueProps" value="collection-id"/>
+ <xml-property name="indexedProps" value="collection-id,model-invariant-id,model-version-id"/>
+ <xml-property name="container" value="collections"/>
+ <xml-property name="uriTemplate" value="/network/collections/collection/{collection-id}"/>
+ <xml-property name="requiredProps" value="collection-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Cps">
+ <xml-properties>
+ <xml-property name="description" value="Collection of connection points."/>
+ </xml-properties>
+ <xml-root-element name="cps"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cp" name="cp" type="inventory.aai.onap.org.v14.Cp"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Cp">
+ <xml-root-element name="cp"/>
+ <java-attributes>
+ <xml-element java-attribute="cpInstanceId" name="cp-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the connection point."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portId" name="port-id" required="false" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="port index to represent multiple CPs on VNFC connected to same network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" required="false" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v14.L3InterfaceIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v14.L3InterfaceIpv6AddressList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="point of attachment from services or resources to a virtual link or network."/>
+ <xml-property name="uniqueProps" value="cp-instance-id"/>
+ <xml-property name="dependentOn" value="vnfc"/>
+ <xml-property name="container" value="cps"/>
+ <xml-property name="uriTemplate" value="/cps/cp/{cp-instance-id}"/>
+ <xml-property name="requiredProps" value="cp-instance-id"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VlanTags">
+ <xml-root-element name="vlan-tags"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vlanTag" name="vlan-tag" type="inventory.aai.onap.org.v14.VlanTag"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VlanTag">
+ <xml-root-element name="vlan-tag"/>
+ <java-attributes>
+ <xml-element java-attribute="vlanTagId" name="vlan-tag-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the vlan-tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanTagRole" name="vlan-tag-role" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="purpose (l3-network to be connected to)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="VLAN inner id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" required="true" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="VLAN outer id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isPrivate" name="is-private" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="is VLAN private?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="container" value="vlan-tags"/>
+ <xml-property name="uniqueProps" value="vlan-tag-id"/>
+ <xml-property name="uriTemplate" value="/network/vlan-tags/vlan-tag/{vlan-tag-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="NetworkTechnologies">
+ <xml-properties>
+ <xml-property name="description" value=" The network-technology object is used to capture the supported network technologies of a cloud-region."/>
+ </xml-properties>
+ <xml-root-element name="network-technologies"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkTechnology" name="network-technology" type="inventory.aai.onap.org.v14.NetworkTechnology"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="NetworkTechnology">
+ <xml-root-element name="network-technology"/>
+ <java-attributes>
+ <xml-element java-attribute="networkTechnologyId" name="network-technology-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of the network-technology object (UUID)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkTechnologyName" name="network-technology-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The network-technology that a cloud-region can support. Current valid values- CONTRAIL AIC_SR_IOV OVS STANDARD-SR-IOV"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="The network-technology object is used to capture the supported network technologies of a cloud-region."/>
+ <xml-property name="nameProps" value="network-technology-id,network-technology-name"/>
+ <xml-property name="uniqueProps" value="network-technology-id"/>
+ <xml-property name="container" value="network-technologies"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/network-technologies/network-technology/{network-technology-id}"/>
+ <xml-property name="requiredProps" value="network-technology-id,network-technology-name"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SpPartner">
+ <xml-root-element name="sp-partner"/>
+ <java-attributes>
+ <xml-element java-attribute="spPartnerId" name="sp-partner-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Uniquely identifies this sp-partner by id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="url" name="url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the URL of this sp-partner."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="callsource" name="callsource" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the callsource of this sp-partner."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the operational-status for this sp-partner."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the model-customization-id for this sp-partner."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this sp-partner model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this sp-partner model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Instance of an sp-partner"/>
+ <xml-property name="indexedProps" value="sp-partner-id,url,callsource"/>
+ <xml-property name="nameProps" value="sp-partner-id"/>
+ <xml-property name="searchable" value="sp-partner-id"/>
+ <xml-property name="uniqueProps" value="sp-partner-id"/>
+ <xml-property name="container" value="sp-partners"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/sp-partners/sp-partner/{sp-partner-id}"/>
+ <xml-property name="requiredProps" value="sp-partner-id"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="SpPartners">
+ <xml-root-element name="sp-partners"/>
+ <xml-properties>
+ <xml-property name="description" value="Collection of sp-partners"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="spPartner" name="sp-partner" type="inventory.aai.onap.org.v14.SpPartner"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Connectivity">
+ <xml-root-element name="connectivity"/>
+ <java-attributes>
+ <xml-element java-attribute="connectivityId" name="connectivity-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Uniquely identifies this connectivity by id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthProfileName" name="bandwidth-profile-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the name of a bandwidth profile."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnType" name="vpn-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the type of a bandwidth profile."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cir" name="cir" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the CIR of this connectivity."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="eir" name="eir" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the EIR of this connectivity."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cbs" name="cbs" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the CBS of this connectivity."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ebs" name="ebs" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the EBS of this connectivity."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="colorAware" name="color-aware" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the color-awareness of this connectivity."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="couplingFlag" name="coupling-flag" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the coupling flag of this connectivity."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ethtSvcName" name="etht-svc-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The ethernet service name for this connectivity."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="accessProviderId" name="access-provider-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the id of the access provider of this connectivity."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="accessClientId" name="access-client-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the id of the access client of this connectivity."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="accessTopologyId" name="access-topology-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the id of the access topology of this connectivity."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="accessNodeId" name="access-node-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the id of the access node of this connectivity."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="accessLtpId" name="access-ltp-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the id of the access ltp of this connectivity."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="connectivitySelflink" name="connectivity-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the link to get more information for this connectivity."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlan" name="cvlan" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the cvlan for this connectivity."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the operational-status for this object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the model-customization-id for this object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Instance of a connectivity"/>
+ <xml-property name="indexedProps" value="connectivity-id,etht-svc-name,bandwidth-profile-name,vpn-type,color-aware,coupling-flag,access-provider-id,access-client-id,access-topology-id,access-node-id,access-ltp-id,operational-status"/>
+ <xml-property name="nameProps" value="etht-svc-name"/>
+ <xml-property name="searchable" value="connectivity-id"/>
+ <xml-property name="uniqueProps" value="connectivity-id"/>
+ <xml-property name="container" value="connectivities"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="requiredProps" value="connectivity-id"/>
+ <xml-property name="uriTemplate" value="/network/connectivities/connectivity/{connectivity-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="Connectivities">
+ <xml-root-element name="connectivities"/>
+ <xml-properties>
+ <xml-property name="description" value="Collection of connectivities"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="connectivity" name="connectivity" type="inventory.aai.onap.org.v14.Connectivity"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LanPortConfig">
+ <xml-root-element name="lan-port-config"/>
+ <java-attributes>
+ <xml-element java-attribute="lanPortConfigId" name="lan-port-config-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Uniquely identifies this lan-port-config by id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="lanPortConfigName" name="lan-port-config-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the name of this lan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the description of this lan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="deviceId" name="device-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the device-id of this lan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portId" name="port-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the port-id of this lan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Address" name="ipv4-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the ipv4-address of this lan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv6Address" name="ipv6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the ipv6-address of this lan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanTag" name="vlan-tag" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the vlan-tag of this lan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="inputBandwidth" name="input-bandwidth" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the input-bandwidth of this lan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="outputBandwidth" name="output-bandwidth" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the output-bandwidth of this lan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpServices" name="dhcp-services" type="inventory.aai.onap.org.v14.DhcpServices"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Instance of a lan-port-config"/>
+ <xml-property name="indexedProps" value="lan-port-config-id,lan-port-config-name,device-id,port-id,ipv4-address,ipv6-address,vlan-tag"/>
+ <xml-property name="nameProps" value="lan-port-config-name"/>
+ <xml-property name="searchable" value="lan-port-config-id"/>
+ <xml-property name="uniqueProps" value="lan-port-config-id"/>
+ <xml-property name="container" value="lan-port-configs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="requiredProps" value="lan-port-config-id"/>
+ <xml-property name="uriTemplate" value="/network/lan-port-configs/lan-port-config/{lan-port-config-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="LanPortConfigs">
+ <xml-root-element name="lan-port-configs"/>
+ <xml-properties>
+ <xml-property name="description" value="Collection of lan-port-configs"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lanPortConfig" name="lan-port-config" type="inventory.aai.onap.org.v14.LanPortConfig"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="DhcpService">
+ <xml-root-element name="dhcp-service"/>
+ <java-attributes>
+ <xml-element java-attribute="dhcpServiceId" name="dhcp-service-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Uniquely identifies this dhcp-service by id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serverIpv4Address" name="server-ipv4-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the server-ip4-address of this dhcp-service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serverIpv6Address" name="server-ipv6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the server-ipv6-address of this dhcp-service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceEnable" name="service-enable" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the service-enable of this dhcp-service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpServiceType" name="dhcp-service-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the dhcp-service-type of this dhcp-service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="leaseTime" name="lease-time" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the lease-time of this dhcp-service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="domainName" name="domain-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the domain-name of this dhcp-service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dns" name="dns" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the dns of this dhcp-service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ntpPrimary" name="ntp-primary" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the ntp-primary of this dhcp-service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ntpSecondary" name="ntp-secondary" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the ntp-secondary of this dhcp-service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nbns" name="nbns" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the nbns of this dhcp-service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Instance of a dhcp-service"/>
+ <xml-property name="indexedProps" value="dhcp-service-id,dhcp-service-type,domain-name,server-ipv4-address,server-ipv6-address"/>
+ <xml-property name="nameProps" value="domain-name"/>
+ <xml-property name="searchable" value="dhcp-service-id"/>
+ <xml-property name="uniqueProps" value="dhcp-service-id"/>
+ <xml-property name="container" value="dhcp-services"/>
+ <xml-property name="dependentOn" value="lan-port-config"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="requiredProps" value="dhcp-service-id"/>
+ <xml-property name="uriTemplate" value="/network/dhcp-services/dhcp-service/{dhcp-service-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="DhcpServices">
+ <xml-root-element name="dhcp-services"/>
+ <xml-properties>
+ <xml-property name="description" value="Collection of dhcp-services"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="dhcpService" name="dhcp-service" type="inventory.aai.onap.org.v14.DhcpService"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NetworkResource">
+ <xml-root-element name="network-resource"/>
+ <java-attributes>
+ <xml-element java-attribute="networkId" name="network-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Uniquely identifies this network-resource by id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="providerId" name="provider-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the id of the provider of this network-resource."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="clientId" name="client-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the id of the client of this network-resource."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="teTopoId" name="te-topo-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the id of the te-topo of this network-resource."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the link to get more information for this object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+
+ <!-- Want to use pnf as sub-component, but workaround is to use COUSIN edge in relationship-list.
+ <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v14.Pnfs" /> -->
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Instance of a network-resource"/>
+ <xml-property name="indexedProps" value="network-id,provider-id,client-id,te-topo-id"/>
+ <xml-property name="nameProps" value="network-id"/>
+ <xml-property name="searchable" value="network-id"/>
+ <xml-property name="uniqueProps" value="network-id"/>
+ <xml-property name="container" value="network-resources"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="requiredProps" value="network-id"/>
+ <xml-property name="uriTemplate" value="/network/network-resources/network-resource/{network-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="NetworkResources">
+ <xml-root-element name="network-resources"/>
+ <xml-properties>
+ <xml-property name="description" value="Collection of network-resources"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkResource" name="network-resource" type="inventory.aai.onap.org.v14.NetworkResource"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SiteResource">
+ <xml-root-element name="site-resource"/>
+ <java-attributes>
+ <xml-element java-attribute="siteResourceId" name="site-resource-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Uniquely identifies this site-resource by id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="siteResourceName" name="site-resource-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the name of this site-resource."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the description of this site-resource."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="type" name="type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the type of this site-resource."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="role" name="role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the role of this site-resource."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="generatedSiteId" name="generated-site-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the generated-site-id of this site-resource."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the link to get more information for this object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the operational-status for this object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the model-customization-id for this object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Instance of a site-resource"/>
+ <xml-property name="indexedProps" value="site-resource-id,site-resource-name,type,role,generated-site-id,operational-status"/>
+ <xml-property name="nameProps" value="site-resource-name"/>
+ <xml-property name="searchable" value="site-resource-id"/>
+ <xml-property name="uniqueProps" value="site-resource-id"/>
+ <xml-property name="container" value="site-resources"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="requiredProps" value="site-resource-id"/>
+ <xml-property name="uriTemplate" value="/network/site-resources/site-resource/{site-resource-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="SiteResources">
+ <xml-root-element name="site-resources"/>
+ <xml-properties>
+ <xml-property name="description" value="Collection of site-resources"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="siteResource" name="site-resource" type="inventory.aai.onap.org.v14.SiteResource"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SdwanVpns">
+ <xml-root-element name="sdwan-vpns"/>
+ <xml-properties>
+ <xml-property name="description" value="Collection of sdwan-vpns"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sdwanVpn" name="sdwan-vpn" type="inventory.aai.onap.org.v14.SdwanVpn"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="SdwanVpn">
+ <xml-root-element name="sdwan-vpn"/>
+ <java-attributes>
+ <xml-element java-attribute="sdwanVpnId" name="sdwan-vpn-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Uniquely identifies this sdwan-vpn by id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sdwanVpnName" name="sdwan-vpn-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the name of this sdwan-vpn."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vxlanId" name="vxlan-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the vxlan-id of this sdwan-vpn."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="topology" name="topology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the topology of this sdwan-vpn."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tenantId" name="tenant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the tenant-id of this sdwan-vpn."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnId" name="vpn-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the vpn-id of this sdwan-vpn."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the link to get more information for this object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the operational-status for this object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the model-customization-id for this object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Instance of an sdwan-vpn"/>
+ <xml-property name="indexedProps" value="sdwan-vpn-id,sdwan-vpn-name,vxlan-id,topology,operational-status"/>
+ <xml-property name="nameProps" value="sdwan-vpn-name"/>
+ <xml-property name="searchable" value="sdwan-vpn-id"/>
+ <xml-property name="uniqueProps" value="sdwan-vpn-id"/>
+ <xml-property name="container" value="sdwan-vpns"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="requiredProps" value="sdwan-vpn-id"/>
+ <xml-property name="uriTemplate" value="/network/sdwan-vpns/sdwan-vpn/{sdwan-vpn-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Devices">
+ <xml-root-element name="devices"/>
+ <xml-properties>
+ <xml-property name="description" value="Collection of devices"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="device" name="device" type="inventory.aai.onap.org.v14.Device"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="Device">
+ <xml-root-element name="device"/>
+ <java-attributes>
+ <xml-element java-attribute="deviceId" name="device-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Uniquely identifies this device by id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="esn" name="esn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the esn of this device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="deviceName" name="device-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the name of this device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the description of this device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vendor" name="vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the vendor of this device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="class" name="class" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the class of this device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="type" name="type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the type of this device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="version" name="version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the version of this device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="systemIp" name="system-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the system-ip of this device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="systemIpv4" name="system-ipv4" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the system-ipv4 of this device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="systemIpv6" name="system-ipv6" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the system-ipv6 of this device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the link to get more information for this object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the operational-status for this object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the model-customization-id for this object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Instance of a device"/>
+ <xml-property name="indexedProps" value="device-id,device-name,esn,vendor,class,type,version,system-ip,system-ipv4,system-ipv6,operational-status"/>
+ <xml-property name="nameProps" value="device-name"/>
+ <xml-property name="searchable" value="device-id"/>
+ <xml-property name="uniqueProps" value="device-id"/>
+ <xml-property name="container" value="devices"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="requiredProps" value="device-id"/>
+ <xml-property name="uriTemplate" value="/network/devices/device/{device-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="WanPortConfig">
+ <xml-root-element name="wan-port-config"/>
+ <java-attributes>
+ <xml-element java-attribute="wanPortConfigId" name="wan-port-config-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Uniquely identifies this wan-port-config by id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="wanPortConfigName" name="wan-port-config-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the name of this wan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="deviceId" name="device-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the id of the device of this wan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanId" name="vlan-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the id of the vlan of this wan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipAddress" name="ip-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the ip-address of this wan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Address" name="ipv4-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the ipv4-address of this wan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv6Address" name="ipv6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the ipv6-address of this wan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="providerIpAddress" name="provider-ip-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the provider-ip-address of this wan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="providerIpv4Address" name="provider-ipv4-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the provider-ipv4-address of this wan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="providerIpv6Address" name="provider-ipv6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the provider-ipv6-address of this wan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="inputBandwidth" name="input-bandwidth" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the input-bandwidth of this wan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="outputBandwidth" name="output-bandwidth" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the output-bandwidth of this wan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the description of this wan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portType" name="port-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the port-type of this wan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portNumber" name="port-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the port-number of this wan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="transportNetworkName" name="transport-network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the transport-network-name of this wan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="devicePortId" name="device-port-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the device-port-id of this wan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="wanPortId" name="wan-port-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the wan-port-id of this wan-port-config."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the link to get more information for this object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the operational-status for this object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Store the model-customization-id for this object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Instance of a wan-port-config"/>
+ <xml-property name="indexedProps" value="wan-port-config-id,wan-port-config-name,device-id,ip-address,ipv4-address,ipv6-address,port-type,port-number,device-port-id,wan-port-id,operational-status"/>
+ <xml-property name="nameProps" value="wan-port-config-name"/>
+ <xml-property name="searchable" value="wan-port-config-id"/>
+ <xml-property name="uniqueProps" value="wan-port-config-id"/>
+ <xml-property name="container" value="wan-port-configs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="requiredProps" value="wan-port-config-id"/>
+ <xml-property name="uriTemplate" value="/network/wan-port-configs/wan-port-config/{wan-port-config-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="WanPortConfigs">
+ <xml-root-element name="wan-port-configs"/>
+ <xml-properties>
+ <xml-property name="description" value="Collection of wan-port-configs"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="wanPortConfig" name="wan-port-config" type="inventory.aai.onap.org.v14.WanPortConfig"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExtAaiNetworks">
+ <xml-root-element name="ext-aai-networks"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="extAaiNetwork" name="ext-aai-network" type="inventory.aai.onap.org.v14.ExtAaiNetwork"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="ExtAaiNetwork">
+ <xml-root-element name="ext-aai-network"/>
+ <java-attributes>
+ <xml-element java-attribute="aaiId" name="aai-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the referenced AAI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="schemaVersion" name="schema-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Schema version of the referenced AAI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="esrSystemInfo" name="esr-system-info" type="inventory.aai.onap.org.v14.EsrSystemInfo"/>
+
+ <!-- Want to use these as sub-components, but workaround is to use COUSIN edges in relationship-list.
+ <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.onap.org.v14.LogicalLinks" />
+ <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v14.VpnBindings" />
+ <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v14.Pnfs" />
+
+ <xml-element java-attribute="connectivities" name="connectivities" type="inventory.aai.onap.org.v14.Connectivities" />
+ <xml-element java-attribute="lanPortConfigs" name="lan-port-configs" type="inventory.aai.onap.org.v14.LanPortConfigs" />
+ <xml-element java-attribute="networkResources" name="network-resources" type="inventory.aai.onap.org.v14.NetworkResources" />
+ <xml-element java-attribute="siteResources" name="site-resources" type="inventory.aai.onap.org.v14.SiteResources" />
+ <xml-element java-attribute="sdwanVpns" name="sdwan-vpns" type="inventory.aai.onap.org.v14.SdwanVpns" />
+ <xml-element java-attribute="devices" name="devices" type="inventory.aai.onap.org.v14.Devices" />
+ <xml-element java-attribute="wanPortConfigs" name="wan-port-configs" type="inventory.aai.onap.org.v14.WanPortConfigs" /> -->
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Refer to an external AAI in another ONAP."/>
+ <xml-property name="indexedProps" value="aai-id"/>
+ <xml-property name="searchable" value="aai-id"/>
+ <xml-property name="container" value="ext-aai-networks"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="requiredProps" value="aai-id"/>
+ <xml-property name="uriTemplate" value="/network/ext-aai-networks/ext-aai-network/{aai-id}"/>
+ </xml-properties>
+ </java-type>
+
+ </java-types>
+</xml-bindings>
diff --git a/aai-core/src/test/resources/oxm/dbalias_oxm_four.xml b/aai-core/src/test/resources/oxm/dbalias_oxm_four.xml
new file mode 100644
index 00000000..b2a215a5
--- /dev/null
+++ b/aai-core/src/test/resources/oxm/dbalias_oxm_four.xml
@@ -0,0 +1,5514 @@
+<!--
+ ============LICENSE_START=======================================================
+ org.onap.aai
+ ================================================================================
+ Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ============LICENSE_END=========================================================
+ -->
+<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v4" xml-mapping-metadata-complete="true">
+<xml-schema element-form-default="QUALIFIED">
+ <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v4"/>
+</xml-schema>
+<java-types>
+ <java-type name="Inventory">
+ <xml-root-element name="inventory"/>
+ <java-attributes>
+ <xml-element java-attribute="search" name="search" type="inventory.aai.onap.org.v4.Search"/>
+ <xml-element java-attribute="actions" name="actions" type="inventory.aai.onap.org.v4.Actions"/>
+ <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.onap.org.v4.CloudInfrastructure"/>
+ <xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v4.Business"/>
+ <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.onap.org.v4.ServiceDesignAndCreation"/>
+ <xml-element java-attribute="network" name="network" type="inventory.aai.onap.org.v4.Network"/>
+ <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.onap.org.v4.AaiInternal"/>
+ <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.onap.org.v4.Nodes"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Nodes">
+ <xml-root-element name="nodes"/>
+ </java-type>
+ <java-type name="Search">
+ <xml-root-element name="search"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeTagQueryResult" name="edge-tag-query-result" type="inventory.aai.onap.org.v4.EdgeTagQueryResult"/>
+ <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.onap.org.v4.EdgeTagQueryRequest"/>
+ <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.onap.org.v4.SearchResults"/>
+ <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.onap.org.v4.SdnZoneResponse"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EdgeTagQueryResult">
+ <xml-root-element name="edge-tag-query-result"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v4.TaggedInventoryItemList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="TaggedInventoryItemList">
+ <xml-root-element name="tagged-inventory-item-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItem" name="inventory-item" type="inventory.aai.onap.org.v4.InventoryItem"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryItem">
+ <xml-root-element name="inventory-item"/>
+ <java-attributes>
+ <xml-element java-attribute="inventoryItemType" name="inventory-item-type" type="java.lang.String"/>
+ <xml-element java-attribute="inventoryItemLink" name="inventory-item-link" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItemData" name="inventory-item-data" type="inventory.aai.onap.org.v4.InventoryItemData"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v4.TaggedInventoryItemList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryItemData">
+ <xml-root-element name="inventory-item-data"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EdgeTagQueryRequest">
+ <xml-root-element name="edge-tag-query-request"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeTag" name="edge-tag" type="java.lang.String"/>
+ <xml-element java-attribute="resultDetail" name="result-detail" type="java.lang.String"/>
+ <xml-element java-attribute="startNodeType" name="start-node-type" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="startNodeFilter" name="start-node-filter" type="inventory.aai.onap.org.v4.StartNodeFilter"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.onap.org.v4.IncludeNodeFilter"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.onap.org.v4.SecondaryFilter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="StartNodeFilter">
+ <xml-root-element name="start-node-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IncludeNodeFilter">
+ <xml-root-element name="include-node-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="includeNodeType" name="include-node-type" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilter">
+ <xml-root-element name="secondary-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="filterType" name="filter-type" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SearchResults">
+ <xml-root-element name="search-results"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="resultData" name="result-data" type="inventory.aai.onap.org.v4.ResultData"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ResultData">
+ <xml-root-element name="result-data"/>
+ <java-attributes>
+ <xml-element java-attribute="resourceType" name="resource-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The specific type of node in the A&amp;AI graph"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceLink" name="resource-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The URL to the specific resource"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SdnZoneResponse">
+ <xml-root-element name="sdn-zone-response"/>
+ <java-attributes>
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v4.OamNetworks"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.onap.org.v4.AzAndDvsSwitches"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AzAndDvsSwitches">
+ <xml-root-element name="az-and-dvs-switches"/>
+ <java-attributes>
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v4.DvsSwitches"/>
+ <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v4.AvailabilityZone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Actions">
+ <xml-properties>
+ <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)."/>
+ </xml-properties>
+ <xml-root-element name="actions"/>
+ <java-attributes>
+ <xml-element java-attribute="update" name="update" type="inventory.aai.onap.org.v4.Update"/>
+ <xml-element java-attribute="notify" name="notify" type="inventory.aai.onap.org.v4.Notify"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Update">
+ <xml-properties>
+ <xml-property name="description" value="Serves a PATCH like function. Does not enforce concurrency control. Clear each usage with AAI team."/>
+ </xml-properties>
+ <xml-root-element name="update"/>
+ <java-attributes>
+ <xml-element java-attribute="updateNodeType" name="update-node-type" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="updateNodeKey" name="update-node-key" type="inventory.aai.onap.org.v4.UpdateNodeKey"/>
+ <xml-element java-attribute="updateNodeUri" name="update-node-uri" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="action" name="action" type="inventory.aai.onap.org.v4.Action"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Action">
+ <xml-root-element name="action"/>
+ <java-attributes>
+ <xml-element java-attribute="actionType" name="action-type" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="actionData" name="action-data" type="inventory.aai.onap.org.v4.ActionData"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ActionData">
+ <xml-root-element name="action-data"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="UpdateNodeKey">
+ <xml-root-element name="update-node-key"/>
+ <java-attributes>
+ <xml-element java-attribute="keyName" name="key-name" type="java.lang.String"/>
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Notify">
+ <xml-root-element name="notify"/>
+ <java-attributes>
+ <xml-element java-attribute="eventId" name="event-id" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="nodeType" name="node-type" type="java.lang.String"/>
+ <xml-element java-attribute="eventTrigger" name="event-trigger" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="keyData" name="key-data" type="inventory.aai.onap.org.v4.KeyData"/>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="KeyData">
+ <xml-root-element name="key-data"/>
+ <java-attributes>
+ <xml-element java-attribute="keyName" name="key-name" type="java.lang.String"/>
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CloudInfrastructure">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for cloud infrastructure."/>
+ </xml-properties>
+ <xml-root-element name="cloud-infrastructure"/>
+ <java-attributes>
+ <xml-element java-attribute="complexes" name="complexes" type="inventory.aai.onap.org.v4.Complexes"/>
+ <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.onap.org.v4.CloudRegions"/>
+ <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.onap.org.v4.NetworkProfiles"/>
+ <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.onap.org.v4.Pservers"/>
+ <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.onap.org.v4.VirtualDataCenters"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CloudRegions">
+ <xml-root-element name="cloud-regions"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cloudRegion" name="cloud-region" type="inventory.aai.onap.org.v4.CloudRegion"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CloudRegion">
+ <xml-root-element name="cloud-region"/>
+ <java-attributes>
+ <xml-element java-attribute="cloudOwner" name="cloud-owner" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifies the vendor and cloud name, e.g., att-aic. First part of composite key should be formatted as vendor-cloudname"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudRegionId" name="cloud-region-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite key"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudType" name="cloud-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the cloud (e.g., openstack)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ownerDefinedType" name="owner-defined-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Cloud-owner defined type indicator (e.g., dcp, lcp)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudRegionVersion" name="cloud-region-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Software version employed at the site. NOTE - THIS FIELD IS NOT KEPT UP TO DATE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL of the keystone identity service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudZone" name="cloud-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Zone where the cloud is homed. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="complex name for cloud-region instance. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeGroups" name="volume-groups" type="inventory.aai.onap.org.v4.VolumeGroups"/>
+ <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v4.Tenants"/>
+ <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v4.Flavors"/>
+ <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.onap.org.v4.GroupAssignments"/>
+ <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v4.Snapshots"/>
+ <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v4.Images"/>
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v4.DvsSwitches"/>
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v4.OamNetworks"/>
+ <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v4.AvailabilityZones"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation. In AT&amp;Ts AIC cloud, this could be an LCP or DCP. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname and we will use att-aic for AT&amp;T's AIC."/>
+ <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type"/>
+ <xml-property name="nameProps" value="owner-defined-type"/>
+ <xml-property name="container" value="cloud-regions"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="VolumeGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of persistent block-level storage."/>
+ </xml-properties>
+ <xml-root-element name="volume-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volumeGroup" name="volume-group" type="inventory.aai.onap.org.v4.VolumeGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VolumeGroup">
+ <xml-root-element name="volume-group"/>
+ <java-attributes>
+ <xml-element java-attribute="volumeGroupId" name="volume-group-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of volume-group."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeGroupName" name="volume-group-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the volume group."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this volume-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this volume-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfModuleModelCustomizationId" name="vf-module-model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="helps relate the volume group to the vf-module whose components will require the volume group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persistent block-level storage."/>
+ <xml-property name="indexedProps" value="volume-group-name,vnf-type,heat-stack-id,volume-group-id"/>
+ <xml-property name="searchable" value="volume-group-id,volume-group-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="volume-groups"/>
+ <xml-property name="uriTemplate" value="/volume-groups/volume-group/{volume-group-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="RelationshipList">
+ <xml-root-element name="relationship-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.onap.org.v4.Relationship"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Relationship">
+ <xml-root-element name="relationship"/>
+ <java-attributes>
+ <xml-element java-attribute="relatedTo" name="related-to" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate type of node."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to the object in A&amp;AI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.onap.org.v4.RelationshipData"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.onap.org.v4.RelatedToProperty"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedToProperty">
+ <xml-root-element name="related-to-property"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyKey" name="property-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Key part of a key/value pair"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value part of a key/value pair"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelationshipData">
+ <xml-root-element name="relationship-data"/>
+ <java-attributes>
+ <xml-element java-attribute="relationshipKey" name="relationship-key" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate an attribute."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipValue" name="relationship-value" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value of the attribute."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Complexes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions."/>
+ </xml-properties>
+ <xml-root-element name="complexes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="complex" name="complex" type="inventory.aai.onap.org.v4.Complex"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Complex">
+ <xml-root-element name="complex"/>
+ <java-attributes>
+ <xml-element java-attribute="physicalLocationId" name="physical-location-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for physical location, e.g., CLLI"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dataCenterCode" name="data-center-code" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Data center code which can be an alternate way to identify a complex"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Gamma complex name for LCP instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL of the keystone identity service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="physicalLocationType" name="physical-location-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type, e.g., central office, data center."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="street1" name="street1" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="street2" name="street2" type="java.lang.String"/>
+ <xml-element java-attribute="city" name="city" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="state" name="state" type="java.lang.String"/>
+ <xml-element java-attribute="postalCode" name="postal-code" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="country" name="country" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="region" name="region" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="latitude" name="latitude" type="java.lang.String"/>
+ <xml-element java-attribute="longitude" name="longitude" type="java.lang.String"/>
+ <xml-element java-attribute="elevation" name="elevation" type="java.lang.String"/>
+ <xml-element java-attribute="lata" name="lata" type="java.lang.String"/>
+ <xml-element java-attribute="ctagPools" name="ctag-pools" type="inventory.aai.onap.org.v4.CtagPools"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions."/>
+ <xml-property name="indexedProps" value="identity-url,data-center-code,complex-name,physical-location-id"/>
+ <xml-property name="searchable" value="physical-location-id,data-center-code,complex-name,street1,street2,postal-code"/>
+ <xml-property name="uniqueProps" value="physical-location-id"/>
+ <xml-property name="container" value="complexes"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/complexes/complex/{physical-location-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CtagPools">
+ <xml-root-element name="ctag-pools"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagPool" name="ctag-pool" type="inventory.aai.onap.org.v4.CtagPool"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CtagPool">
+ <xml-root-element name="ctag-pool"/>
+ <java-attributes>
+ <xml-element java-attribute="targetPe" name="target-pe" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="The Target provider edge router"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the availability zone"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ctagPoolPurpose" name="ctag-pool-purpose" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Describes what the intended purpose of this pool is."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ctagValues" name="ctag-values" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Comma separated list of ctags"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="A collection of C tags (vlan tags) grouped for a specific purpose."/>
+ <xml-property name="indexedProps" value="availability-zone-name"/>
+ <xml-property name="dependentOn" value="complex"/>
+ <xml-property name="container" value="ctag-pools"/>
+ <xml-property name="uriTemplate" value="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Tenants">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack tenants."/>
+ </xml-properties>
+ <xml-root-element name="tenants"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tenant" name="tenant" type="inventory.aai.onap.org.v4.Tenant"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Tenant">
+ <xml-root-element name="tenant"/>
+ <java-attributes>
+ <xml-element java-attribute="tenantId" name="tenant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id relative to the cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tenantName" name="tenant-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Readable name of tenant"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vservers" name="vservers" type="inventory.aai.onap.org.v4.Vservers"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack tenant"/>
+ <xml-property name="nameProps" value="tenant-name"/>
+ <xml-property name="indexedProps" value="tenant-name,tenant-id"/>
+ <xml-property name="searchable" value="tenant-id,tenant-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="tenants"/>
+ <xml-property name="uriTemplate" value="/tenants/tenant/{tenant-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of virtual Servers, aka virtual machines or VMs."/>
+ </xml-properties>
+ <xml-root-element name="vservers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vserver" name="vserver" type="inventory.aai.onap.org.v4.Vserver"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vserver">
+ <xml-root-element name="vserver"/>
+ <java-attributes>
+ <xml-element java-attribute="vserverId" name="vserver-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for this vserver relative to its tenant"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverName" name="vserver-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of vserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverName2" name="vserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternative name of vserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverSelflink" name="vserver-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumes" name="volumes" type="inventory.aai.onap.org.v4.Volumes"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v4.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Servers, aka virtual machine or VM."/>
+ <xml-property name="nameProps" value="vserver-name"/>
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2"/>
+ <xml-property name="searchable" value="vserver-id,vserver-name,vserver-name2"/>
+ <xml-property name="dependentOn" value="tenant"/>
+ <xml-property name="container" value="vservers"/>
+ <xml-property name="uriTemplate" value="/vservers/vserver/{vserver-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical interfaces."/>
+ </xml-properties>
+ <xml-root-element name="l-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lInterface" name="l-interface" type="inventory.aai.onap.org.v4.LInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LInterface">
+ <xml-root-element name="l-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name given to the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="E.g., CUSTOMER, UPLINK, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v6WanLinkIp" name="v6-wan-link-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="macaddr" name="macaddr" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="MAC address for the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether A&amp;AI should be managing this interface of not. Could have value like CUSTOMER"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Human friendly text regarding this interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isPortMirrored" name="is-port-mirrored" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not port is a mirrored."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.onap.org.v4.Vlans"/>
+ <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v4.SriovVfs"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v4.LInterfaces"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v4.L3InterfaceIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v4.L3InterfaceIpv6AddressList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical interfaces, e.g., a vnic."/>
+ <xml-property name="indexedProps" value="macaddr,interface-id,interface-name,network-name"/>
+ <xml-property name="dependentOn" value="generic-vnf,newvce,p-interface,vserver,lag-interface,l-interface"/>
+ <xml-property name="container" value="l-interfaces"/>
+ <xml-property name="uriTemplate" value="/l-interfaces/l-interface/{interface-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SriovVfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of SR-IOV Virtual Functions."/>
+ </xml-properties>
+ <xml-root-element name="sriov-vfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sriovVf" name="sriov-vf" type="inventory.aai.onap.org.v4.SriovVf"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="SriovVf">
+ <xml-root-element name="sriov-vf"/>
+ <java-attributes>
+ <xml-element java-attribute="pciId" name="pci-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="PCI ID used to identify the sriov-vf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanFilter" name="vf-vlan-filter" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This metadata provides option to specify list of VLAN filters applied on VF to pass the traffic to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMacFilter" name="vf-mac-filter" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="When MAC filters are specified, VF-agent service configures VFs to do MAC level filtering before the traffic is passed to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanStrip" name="vf-vlan-strip" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="When this field is set to true, VF will configured to strip the outer TAG before the traffic is passed to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanAntiSpoofCheck" name="vf-vlan-anti-spoof-check" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option ensures anti VLAN spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMacAntiSpoofCheck" name="vf-mac-anti-spoof-check" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option ensures anti MAC spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMirrors" name="vf-mirrors" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This option defines the set of Mirror objects which essentially mirrors the traffic from source to set of collector VNF Ports."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfBroadcastAllow" name="vf-broadcast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows all broadcast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfUnknownMulticastAllow" name="vf-unknown-multicast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown multicast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfUnknownUnicastAllow" name="vf-unknown-unicast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown unicast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfInsertStag" name="vf-insert-stag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, instructs to insert outer tag after traffic comes out of VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfLinkStatus" name="vf-link-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This option is used to set the link status. Valid values as of 1607 are on, off, and auto."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="SR-IOV Virtual Function (not to be confused with virtual network function)"/>
+ <xml-property name="indexedProps" value="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id"/>
+ <xml-property name="dependentOn" value="l-interface"/>
+ <xml-property name="container" value="sriov-vfs"/>
+ <xml-property name="uriTemplate" value="/sriov-vfs/sriov-vf/{pci-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv4AddressList">
+ <xml-root-element name="l3-interface-ipv4-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv4Address" name="l3-interface-ipv4-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv4PrefixLength" name="l3-interface-ipv4-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 32 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv4 Address Range"/>
+ <xml-property name="indexedProps" value="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="vlan,l-interface"/>
+ <xml-property name="uriTemplate" value="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vlans">
+ <xml-root-element name="vlans"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vlan" name="vlan" type="inventory.aai.onap.org.v4.Vlan"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vlan">
+ <xml-root-element name="vlan"/>
+ <java-attributes>
+ <xml-element java-attribute="vlanInterface" name="vlan-interface" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="String that identifies the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanDescription" name="vlan-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to describe (the service associated with) the vlan"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="backdoorConnection" name="backdoor-connection" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether customer is going to use this VLAN for backdoor connection to another customer premise device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnKey" name="vpn-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v4.L3InterfaceIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v4.L3InterfaceIpv6AddressList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Definition of vlan"/>
+ <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-key"/>
+ <xml-property name="dependentOn" value="l-interface"/>
+ <xml-property name="container" value="vlans"/>
+ <xml-property name="uriTemplate" value="/vlans/vlan/{vlan-interface}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv6AddressList">
+ <xml-root-element name="l3-interface-ipv6-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv6Address" name="l3-interface-ipv6-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv6PrefixLength" name="l3-interface-ipv6-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 128 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv6 Address Range"/>
+ <xml-property name="indexedProps" value="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="vlan,l-interface"/>
+ <xml-property name="uriTemplate" value="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Volumes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of ephemeral Block storage volumes."/>
+ </xml-properties>
+ <xml-root-element name="volumes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volume" name="volume" type="inventory.aai.onap.org.v4.Volume"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Volume">
+ <xml-root-element name="volume"/>
+ <java-attributes>
+ <xml-element java-attribute="volumeId" name="volume-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of block storage volume relative to the vserver."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeSelflink" name="volume-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Ephemeral Block storage volume."/>
+ <xml-property name="indexedProps" value="volume-id"/>
+ <xml-property name="dependentOn" value="vserver"/>
+ <xml-property name="container" value="volumes"/>
+ <xml-property name="uriTemplate" value="/volumes/volume/{volume-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Flavors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack flavors."/>
+ </xml-properties>
+ <xml-root-element name="flavors"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="flavor" name="flavor" type="inventory.aai.onap.org.v4.Flavor"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Flavor">
+ <xml-root-element name="flavor"/>
+ <java-attributes>
+ <xml-element java-attribute="flavorId" name="flavor-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Flavor id, expected to be unique across cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorName" name="flavor-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Flavor name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorVcpus" name="flavor-vcpus" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Number of CPUs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorRam" name="flavor-ram" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Amount of memory"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorDisk" name="flavor-disk" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Disk space"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorEphemeral" name="flavor-ephemeral" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Amount of ephemeral disk space"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorSwap" name="flavor-swap" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="amount of swap space allocation"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorIsPublic" name="flavor-is-public" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="whether flavor is available to all users or private to the tenant it was created in."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorSelflink" name="flavor-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorDisabled" name="flavor-disabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Boolean as to whether this flavor is no longer enabled"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack flavor."/>
+ <xml-property name="nameProps" value="flavor-name"/>
+ <xml-property name="indexedProps" value="flavor-name,flavor-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="flavors"/>
+ <xml-property name="uriTemplate" value="/flavors/flavor/{flavor-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Snapshots">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack snapshots"/>
+ </xml-properties>
+ <xml-root-element name="snapshots"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="snapshot" name="snapshot" type="inventory.aai.onap.org.v4.Snapshot"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Snapshot">
+ <xml-root-element name="snapshot"/>
+ <java-attributes>
+ <xml-element java-attribute="snapshotId" name="snapshot-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Snapshot id, this is the key UUID assoc associated in glance with the snapshots."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotName" name="snapshot-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Snapshot name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotArchitecture" name="snapshot-architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operating system architecture"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotOsDistro" name="snapshot-os-distro" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The common name of the operating system distribution in lowercase"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotOsVersion" name="snapshot-os-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The operating system version as specified by the distributor."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotSelflink" name="snapshot-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="prevSnapshotId" name="prev-snapshot-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field contains the UUID of the previous snapshot (if any)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack snapshot"/>
+ <xml-property name="nameProps" value="snapshot-name"/>
+ <xml-property name="uniqueProps" value="snapshot-id"/>
+ <xml-property name="indexedProps" value="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="snapshots"/>
+ <xml-property name="uriTemplate" value="/snapshots/snapshot/{snapshot-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GroupAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack group assignments"/>
+ </xml-properties>
+ <xml-root-element name="group-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="groupAssignment" name="group-assignment" type="inventory.aai.onap.org.v4.GroupAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="GroupAssignment">
+ <xml-root-element name="group-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="groupId" name="group-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Group id, expected to be unique across cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupType" name="group-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group type - the type of group this instance refers to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupName" name="group-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group name - name assigned to the group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupDescription" name="group-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group description - description of the group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack group-assignment used to store exclusivity groups (EG)."/>
+ <xml-property name="nameProps" value="group-name"/>
+ <xml-property name="indexedProps" value="group-id,group-type,group-name"/>
+ <xml-property name="searchable" value="group-id,group-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="group-assignments"/>
+ <xml-property name="uriTemplate" value="/group-assignments/group-assignment/{group-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Images">
+ <xml-properties>
+ <xml-property name="description" value="Collectio of Openstack images."/>
+ </xml-properties>
+ <xml-root-element name="images"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="image" name="image" type="inventory.aai.onap.org.v4.Image"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Image">
+ <xml-root-element name="image"/>
+ <java-attributes>
+ <xml-element java-attribute="imageId" name="image-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Image id, expected to be unique across cloud region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageName" name="image-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Image name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageArchitecture" name="image-architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operating system architecture."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageOsDistro" name="image-os-distro" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The common name of the operating system distribution in lowercase"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageOsVersion" name="image-os-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The operating system version as specified by the distributor."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageSelflink" name="image-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v4.Metadata"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack image."/>
+ <xml-property name="nameProps" value="image-name"/>
+ <xml-property name="indexedProps" value="application,image-name,application-vendor,image-id,application-version"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="images"/>
+ <xml-property name="uriTemplate" value="/images/image/{image-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Metadata">
+ <xml-properties>
+ <xml-property name="description" value="Collection of metadatum (key/value pairs)"/>
+ </xml-properties>
+ <xml-root-element name="metadata"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="metadatum" name="metadatum" type="inventory.aai.onap.org.v4.Metadatum"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Metadatum">
+ <xml-root-element name="metadatum"/>
+ <java-attributes>
+ <xml-element java-attribute="metaname" name="metaname" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="metaval" name="metaval" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Key/value pairs"/>
+ <xml-property name="indexedProps" value="metaname"/>
+ <xml-property name="dependentOn" value="tenant,image,service-instance,connector,model"/>
+ <xml-property name="container" value="metadata"/>
+ <xml-property name="uriTemplate" value="/metadata/metadatum/{metaname}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="DvsSwitches">
+ <xml-properties>
+ <xml-property name="description" value="Collection of digital virtual switch metadata used for vmWare VCEs and GenericVnfs."/>
+ </xml-properties>
+ <xml-root-element name="dvs-switches"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="dvsSwitch" name="dvs-switch" type="inventory.aai.onap.org.v4.DvsSwitch"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="DvsSwitch">
+ <xml-root-element name="dvs-switch"/>
+ <java-attributes>
+ <xml-element java-attribute="switchName" name="switch-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="DVS switch name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcenterUrl" name="vcenter-url" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL used to reach the vcenter"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Digital virtual switch metadata, used by SDN-C to configure VCEs. A&amp;AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&amp;AI. "/>
+ <xml-property name="indexedProps" value="vcenter-url,switch-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="dvs-switches"/>
+ <xml-property name="uriTemplate" value="/dvs-switches/dvs-switch/{switch-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="NetworkProfiles">
+ <xml-properties>
+ <xml-property name="description" value="Collection of network profiles"/>
+ </xml-properties>
+ <xml-root-element name="network-profiles"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkProfile" name="network-profile" type="inventory.aai.onap.org.v4.NetworkProfile"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NetworkProfile">
+ <xml-root-element name="network-profile"/>
+ <java-attributes>
+ <xml-element java-attribute="nmProfileName" name="nm-profile-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique name of network profile."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="communityString" name="community-string" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encrypted SNMP community string"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Network profile populated by SDN-GP for SNMP"/>
+ <xml-property name="indexedProps" value="nm-profile-name"/>
+ <xml-property name="container" value="network-profiles"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of compute hosts."/>
+ </xml-properties>
+ <xml-root-element name="pservers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pserver" name="pserver" type="inventory.aai.onap.org.v4.Pserver"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pserver">
+ <xml-root-element name="pserver"/>
+ <java-attributes>
+ <xml-element java-attribute="hostname" name="hostname" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value from executing hostname on the compute node."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ptniiEquipName" name="ptnii-equip-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="PTNII name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="numberOfCpus" name="number-of-cpus" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Number of cpus"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="diskInGigabytes" name="disk-in-gigabytes" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Disk size, in GBs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ramInMegabytes" name="ram-in-megabytes" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="RAM size, in MBs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment type. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment vendor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment model. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="fqdn" name="fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Fully-qualified domain name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverSelflink" name="pserver-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to configure device, also used for troubleshooting and is IP used for traps generated by device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Serial number, may be queried"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 OAM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CANOPI's inventory status. Only set with values exactly as defined by CANOPI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverId" name="pserver-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of Pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="internetTopology" name="internet-topology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="internet topology of Pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverName2" name="pserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="alternative pserver name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="purpose of pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v4.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v4.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver."/>
+ <xml-property name="nameProps" value="pserver-name2"/>
+ <xml-property name="indexedProps" value="hostname,in-maint,pserver-id,pserver-name2,inv-status"/>
+ <xml-property name="searchable" value="hostname,pserver-name2,pserver-id,ipv4-oam-address"/>
+ <xml-property name="uniqueProps" value="hostname"/>
+ <xml-property name="container" value="pservers"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/pservers/pserver/{hostname}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical interfaces."/>
+ </xml-properties>
+ <xml-root-element name="p-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pInterface" name="p-interface" type="inventory.aai.onap.org.v4.PInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PInterface">
+ <xml-root-element name="p-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the physical interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portDescription" name="port-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Nature of the services and connectivity on this port."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentIdentifier" name="equipment-identifier" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CLEI or other specification for p-interface hardware."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role specification for p-interface hardware."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceType" name="interface-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the physical properties of the interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v4.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Physical interface (e.g., nic)"/>
+ <xml-property name="indexedProps" value="interface-name,prov-status"/>
+ <xml-property name="nameProps" value="prov-status"/>
+ <xml-property name="dependentOn" value="vpls-pe,pserver,pnf"/>
+ <xml-property name="container" value="p-interfaces"/>
+ <xml-property name="uriTemplate" value="/p-interfaces/p-interface/{interface-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LagInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregate interfaces."/>
+ </xml-properties>
+ <xml-root-element name="lag-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagInterface" name="lag-interface" type="inventory.aai.onap.org.v4.LagInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LagInterface">
+ <xml-root-element name="lag-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the link aggregate interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Human friendly text regarding this interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v4.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Link aggregate interface"/>
+ <xml-property name="indexedProps" value="interface-name,interface-id,interface-role"/>
+ <xml-property name="dependentOn" value="generic-vnf,pserver,vpls-pe,pnf"/>
+ <xml-property name="container" value="lag-interfaces"/>
+ <xml-property name="uriTemplate" value="/lag-interfaces/lag-interface/{interface-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="OamNetworks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of OAM networks, to be deprecated shortly. Do not use for new purposes. "/>
+ </xml-properties>
+ <xml-root-element name="oam-networks"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="oamNetwork" name="oam-network" type="inventory.aai.onap.org.v4.OamNetwork"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OamNetwork">
+ <xml-root-element name="oam-network"/>
+ <java-attributes>
+ <xml-element java-attribute="networkUuid" name="network-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the network. Unique across a cloud-region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="cvlan-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="OAM network, to be deprecated shortly. Do not use for new purposes. "/>
+ <xml-property name="nameProps" value="network-name"/>
+ <xml-property name="indexedProps" value="cvlan-tag,network-uuid,network-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="oam-networks"/>
+ <xml-property name="uriTemplate" value="/oam-networks/oam-network/{network-uuid}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="AvailabilityZones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of availability zones"/>
+ </xml-properties>
+ <xml-root-element name="availability-zones"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v4.AvailabilityZone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AvailabilityZone">
+ <xml-root-element name="availability-zone"/>
+ <java-attributes>
+ <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the availability zone. Unique across a cloud region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hypervisorType" name="hypervisor-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of hypervisor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="State that indicates whether the availability zone should be used, etc. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Availability zone, a collection of compute hosts/pservers"/>
+ <xml-property name="indexedProps" value="availability-zone-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="availability-zones"/>
+ <xml-property name="uriTemplate" value="/availability-zones/availability-zone/{availability-zone-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VirtualDataCenters">
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context"/>
+ </xml-properties>
+ <xml-root-element name="virtual-data-centers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="virtualDataCenter" name="virtual-data-center" type="inventory.aai.onap.org.v4.VirtualDataCenter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VirtualDataCenter">
+ <xml-root-element name="virtual-data-center"/>
+ <java-attributes>
+ <xml-element java-attribute="vdcId" name="vdc-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the vdc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdcName" name="vdc-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the virtual data center"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context"/>
+ <xml-property name="nameProps" value="vdc-name"/>
+ <xml-property name="indexedProps" value="vdc-name,vdc-id"/>
+ <xml-property name="container" value="virtual-data-centers"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Business">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for business related constructs"/>
+ </xml-properties>
+ <xml-root-element name="business"/>
+ <java-attributes>
+ <xml-element java-attribute="connectors" name="connectors" type="inventory.aai.onap.org.v4.Connectors"/>
+ <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.org.v4.Customers"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Connectors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets"/>
+ </xml-properties>
+ <xml-root-element name="connectors"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="connector" name="connector" type="inventory.aai.onap.org.v4.Connector"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Connector">
+ <xml-root-element name="connector"/>
+ <java-attributes>
+ <xml-element java-attribute="resourceInstanceId" name="resource-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of resource instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v4.Metadata"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets"/>
+ <xml-property name="indexedProps" value="resource-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version"/>
+ <xml-property name="container" value="connectors"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/connectors/connector/{resource-instance-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Customers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information."/>
+ </xml-properties>
+ <xml-root-element name="customers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.onap.org.v4.Customer"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Customer">
+ <xml-root-element name="customer"/>
+ <java-attributes>
+ <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Global customer id used across ECOMP to uniquely identify customer."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber name, an alternate way to retrieve a customer."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberType" name="subscriber-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber type, a way to provide VID with only the INFRA customers."/>
+ <xml-property name="defaultValue" value="CUST"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSubscriptions" name="service-subscriptions" type="inventory.aai.onap.org.v4.ServiceSubscriptions"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="customer identifiers to provide linkage back to BSS information."/>
+ <xml-property name="nameProps" value="subscriber-name"/>
+ <xml-property name="indexedProps" value="subscriber-name,global-customer-id,subscriber-type"/>
+ <xml-property name="searchable" value="global-customer-id,subscriber-name"/>
+ <xml-property name="uniqueProps" value="global-customer-id"/>
+ <xml-property name="container" value="customers"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/customers/customer/{global-customer-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceSubscriptions">
+ <xml-properties>
+ <xml-property name="description" value="Collection of objects that group service instances."/>
+ </xml-properties>
+ <xml-root-element name="service-subscriptions"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceSubscription" name="service-subscription" type="inventory.aai.onap.org.v4.ServiceSubscription"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceSubscription">
+ <xml-root-element name="service-subscription"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value defined by orchestration to identify this service across ECOMP."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tempUbSubAccountId" name="temp-ub-sub-account-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This property will be deleted from A&amp;AI in the near future. Only stop gap solution."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstances" name="service-instances" type="inventory.aai.onap.org.v4.ServiceInstances">
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Object that group service instances."/>
+ <xml-property name="indexedProps" value="service-type"/>
+ <xml-property name="dependentOn" value="customer"/>
+ <xml-property name="container" value="service-subscriptions"/>
+ <xml-property name="crossEntityReference" value="service-instance,service-type"/>
+ <xml-property name="uriTemplate" value="/service-subscriptions/service-subscription/{service-type}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceInstances">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service instances"/>
+ </xml-properties>
+ <xml-root-element name="service-instances"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceInstance" name="service-instance" type="inventory.aai.onap.org.v4.ServiceInstance"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceInstance">
+ <xml-root-element name="service-instance"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceInstanceId" name="service-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Uniquely identifies this instance of a service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstanceName" name="service-instance-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field will store a name assigned to the service-instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthTotal" name="bandwidth-total" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the total bandwidth to be used for this service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN1 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN1 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN2 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN2 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vhnPortalUrl" name="vhn-portal-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL customers will use to access the vHN Portal."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstanceLocationId" name="service-instance-location-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="An identifier that customers assign to the location where this service is being used."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v4.Metadata"/>
+ <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.onap.org.v4.AllottedResources"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Instance of a service"/>
+ <xml-property name="indexedProps" value="service-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status"/>
+ <xml-property name="nameProps" value="service-instance-name"/>
+ <xml-property name="searchable" value="service-instance-id,service-instance-name"/>
+ <xml-property name="uniqueProps" value="service-instance-id"/>
+ <xml-property name="dependentOn" value="service-subscription"/>
+ <xml-property name="container" value="service-instances"/>
+ <xml-property name="uriTemplate" value="/service-instances/service-instance/{service-instance-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceDesignAndCreation">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for objects managed by ASDC"/>
+ </xml-properties>
+ <xml-root-element name="service-design-and-creation"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfImages" name="vnf-images" type="inventory.aai.onap.org.v4.VnfImages"/>
+ <xml-element java-attribute="services" name="services" type="inventory.aai.onap.org.v4.Services"/>
+ <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.onap.org.v4.ServiceCapabilities"/>
+ <xml-element java-attribute="models" name="models" type="inventory.aai.onap.org.v4.Models"/>
+ <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.onap.org.v4.NamedQueries"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VnfImages">
+ <xml-properties>
+ <xml-property name="description" value="Collection of image objects that pertain to a VNF that doesn't have associated vservers. This is a kludge."/>
+ </xml-properties>
+ <xml-root-element name="vnf-images"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfImage" name="vnf-image" type="inventory.aai.onap.org.v4.VnfImage"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VnfImage">
+ <xml-root-element name="vnf-image"/>
+ <java-attributes>
+ <xml-element java-attribute="attUuid" name="att-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of this asset"/>
+ <xml-property name="dbAlias" value="vnf-image-uuid"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Image object that pertain to a VNF that doesn't have associated vservers. This is a kludge."/>
+ <xml-property name="indexedProps" value="application,att-uuid,application-vendor,application-version"/>
+ <xml-property name="uniqueProps" value="att-uuid"/>
+ <xml-property name="container" value="vnf-images"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/vnf-images/vnf-image/{att-uuid}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Services">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service model definitions. Likely to be deprecated in favor of models from ASDC."/>
+ </xml-properties>
+ <xml-root-element name="services"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.onap.org.v4.Service"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Service">
+ <xml-root-element name="service"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description of the service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="service version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Stand-in for service model definitions. Likely to be deprecated in favor of models from ASDC. Does not strictly map to ASDC services."/>
+ <xml-property name="indexedProps" value="service-description,service-id"/>
+ <xml-property name="container" value="services"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/services/service/{service-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceCapabilities">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service capabilities."/>
+ </xml-properties>
+ <xml-root-element name="service-capabilities"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceCapability" name="service-capability" type="inventory.aai.onap.org.v4.ServiceCapability"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceCapability">
+ <xml-root-element name="service-capability"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Early definition of server/resource pairings, likely to be replaced by models. No new use should be made of this."/>
+ <xml-property name="indexedProps" value="service-type,vnf-type"/>
+ <xml-property name="container" value="service-capabilities"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Network">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for network inventory resources."/>
+ </xml-properties>
+ <xml-root-element name="network"/>
+ <java-attributes>
+ <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.onap.org.v4.LogicalLinks"/>
+ <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.onap.org.v4.SitePairSets"/>
+ <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v4.VpnBindings"/>
+ <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.onap.org.v4.VplsPes"/>
+ <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.onap.org.v4.MulticastConfigurations"/>
+ <xml-element java-attribute="vces" name="vces" type="inventory.aai.onap.org.v4.Vces"/>
+ <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.onap.org.v4.Vnfcs"/>
+ <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.onap.org.v4.L3Networks"/>
+ <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v4.NetworkPolicies"/>
+ <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.onap.org.v4.GenericVnfs"/>
+ <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.onap.org.v4.LagLinks"/>
+ <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.onap.org.v4.Newvces"/>
+ <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v4.Pnfs"/>
+ <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.onap.org.v4.PhysicalLinks"/>
+ <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.onap.org.v4.IpsecConfigurations"/>
+ <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.onap.org.v4.RouteTableReferences"/>
+ <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.onap.org.v4.InstanceGroups"/>
+ <xml-element java-attribute="zones" name="zones" type="inventory.aai.onap.org.v4.Zones"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LogicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical connections"/>
+ </xml-properties>
+ <xml-root-element name="logical-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.onap.org.v4.LogicalLink"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LogicalLink">
+ <xml-root-element name="logical-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of logical link, e.g., evc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4, v6, or ds for dual stack (should be att-ip-version)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routingProtocol" name="routing-protocol" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="For example, static or BGP"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of operational status of the logical link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkRole" name="link-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of the network use of the logical link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkName2" name="link-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alias or alternate name (CLCI or D1 name)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkId" name="link-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the logical-link, SDNC generates this."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Circuit id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Reason for this entity, role it is playing"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points"/>
+ <xml-property name="indexedProps" value="link-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose"/>
+ <xml-property name="uniqueProps" value="link-id"/>
+ <xml-property name="container" value="logical-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="searchable" value="link-name"/>
+ <xml-property name="uriTemplate" value="/network/logical-links/logical-link/{link-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SitePairSets">
+ <xml-properties>
+ <xml-property name="description" value="Collection of sets of instances for probes related to generic-vnf"/>
+ </xml-properties>
+ <xml-root-element name="site-pair-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePairSet" name="site-pair-set" type="inventory.aai.onap.org.v4.SitePairSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SitePairSet">
+ <xml-root-element name="site-pair-set"/>
+ <java-attributes>
+ <xml-element java-attribute="sitePairSetId" name="site-pair-set-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of site pair set."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routingInstances" name="routing-instances" type="inventory.aai.onap.org.v4.RoutingInstances"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Set of instances for probes used to measure service level agreements"/>
+ <xml-property name="indexedProps" value="site-pair-set-id"/>
+ <xml-property name="uniqueProps" value="site-pair-set-id"/>
+ <xml-property name="container" value="site-pair-sets"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/site-pair-sets/site-pair-set/{site-pair-set-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="RoutingInstances">
+ <xml-properties>
+ <xml-property name="description" value="set of probes related to generic-vnf routing instance"/>
+ </xml-properties>
+ <xml-root-element name="routing-instances"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routingInstance" name="routing-instance" type="inventory.aai.onap.org.v4.RoutingInstance"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RoutingInstance">
+ <xml-root-element name="routing-instance"/>
+ <java-attributes>
+ <xml-element java-attribute="routingInstanceId" name="routing-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of routing instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="rpmOwner" name="rpm-owner" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="rpm owner"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sitePairs" name="site-pairs" type="inventory.aai.onap.org.v4.SitePairs"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="routing-instance-id"/>
+ <xml-property name="uniqueProps" value="routing-instance-id"/>
+ <xml-property name="dependentOn" value="site-pair-set"/>
+ <xml-property name="container" value="routing-instances"/>
+ <xml-property name="uriTemplate" value="/routing-instances/routing-instance/{routing-instance-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SitePairs">
+ <xml-properties>
+ <xml-property name="description" value="probe within a set"/>
+ </xml-properties>
+ <xml-root-element name="site-pairs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePair" name="site-pair" type="inventory.aai.onap.org.v4.SitePair"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SitePair">
+ <xml-root-element name="site-pair"/>
+ <java-attributes>
+ <xml-element java-attribute="sitePairId" name="site-pair-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceIp" name="source-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prefix address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationIp" name="destination-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prefix address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip version, v4, v6"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationHostname" name="destination-hostname" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Hostname of the destination equipment to which SLAs are measured against."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationEquipType" name="destination-equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The type of destinatination equipment. Could be Router, UCPE, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="classesOfService" name="classes-of-service" type="inventory.aai.onap.org.v4.ClassesOfService"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="site-pair-id"/>
+ <xml-property name="uniqueProps" value="site-pair-id"/>
+ <xml-property name="dependentOn" value="routing-instance"/>
+ <xml-property name="container" value="site-pairs"/>
+ <xml-property name="uriTemplate" value="/site-pairs/site-pair/{site-pair-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ClassesOfService">
+ <xml-properties>
+ <xml-property name="description" value="class-of-service of probe"/>
+ </xml-properties>
+ <xml-root-element name="classes-of-service"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="classOfService" name="class-of-service" type="inventory.aai.onap.org.v4.ClassOfService"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ClassOfService">
+ <xml-root-element name="class-of-service"/>
+ <java-attributes>
+ <xml-element java-attribute="cos" name="cos" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="probeId" name="probe-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="probeType" name="probe-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="type of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="cos"/>
+ <xml-property name="dependentOn" value="site-pair"/>
+ <xml-property name="container" value="classes-of-service"/>
+ <xml-property name="uriTemplate" value="/classes-of-service/class-of-service/{cos}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VpnBindings">
+ <xml-root-element name="vpn-bindings"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vpnBinding" name="vpn-binding" type="inventory.aai.onap.org.v4.VpnBinding"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VpnBinding">
+ <xml-root-element name="vpn-binding"/>
+ <java-attributes>
+ <xml-element java-attribute="vpnId" name="vpn-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="VPN ID, globally unique within A&amp;AI"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnName" name="vpn-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="VPN Name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnPlatform" name="vpn-platform" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the platform associated with the VPN example AVPN, Mobility"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnType" name="vpn-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the vpn, should be taken from enumerated/valid values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeDistinguisher" name="route-distinguisher" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTargets" name="route-targets" type="inventory.aai.onap.org.v4.RouteTargets"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList">
+ <xml-properties>
+ <xml-property name="description" value="l3-networks relate to vpn-bindings"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPN binding"/>
+ <xml-property name="nameProps" value="vpn-name,vpn-type"/>
+ <xml-property name="indexedProps" value="vpn-name,vpn-id,vpn-type"/>
+ <xml-property name="searchable" value="vpn-id,vpn-name"/>
+ <xml-property name="uniqueProps" value="vpn-id"/>
+ <xml-property name="container" value="vpn-bindings"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vpn-bindings/vpn-binding/{vpn-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VplsPes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VPLS Provider Edge routers"/>
+ </xml-properties>
+ <xml-root-element name="vpls-pes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vplsPe" name="vpls-pe" type="inventory.aai.onap.org.v4.VplsPe"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VplsPe">
+ <xml-root-element name="vpls-pe"/>
+ <java-attributes>
+ <xml-element java-attribute="equipmentName" name="equipment-name" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (v4-loopback0-ip-address)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value, e.g., VPLS-PE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Temporary location for stag to get to VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v4.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v4.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPLS Provider Edge routers."/>
+ <xml-property name="indexedProps" value="prov-status,equipment-name"/>
+ <xml-property name="container" value="vpls-pes"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vpls-pes/vpls-pe/{equipment-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="MulticastConfigurations">
+ <xml-properties>
+ <xml-property name="description" value="multicast configuration of generic-vnf ip-address"/>
+ </xml-properties>
+ <xml-root-element name="multicast-configurations"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="multicastConfiguration" name="multicast-configuration" type="inventory.aai.onap.org.v4.MulticastConfiguration"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="MulticastConfiguration">
+ <xml-root-element name="multicast-configuration"/>
+ <java-attributes>
+ <xml-element java-attribute="multicastConfigurationId" name="multicast-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of multicast configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="multicastProtocol" name="multicast-protocol" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="protocol of multicast configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="rpType" name="rp-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="rp type of multicast configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="multicast-configuration-id"/>
+ <xml-property name="uniqueProps" value="multicast-configuration-id"/>
+ <xml-property name="container" value="multicast-configurations"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Virtual Customer Edge Routers, used specifically for Gamma. This object is deprecated."/>
+ </xml-properties>
+ <xml-root-element name="vces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vce" name="vce" type="inventory.aai.onap.org.v4.Vce"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vce">
+ <xml-root-element name="vce"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network role being played by this VNF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpeId" name="vpe-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of VPE connected to this VCE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v6VceWanAddress" name="v6-vce-wan-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Valid v6 IP address for the WAN Link on this router. Implied length of /64."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure vce, also used for troubleshooting and is IP used for traps generated by VCE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - see child relationships"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroups" name="port-groups" type="inventory.aai.onap.org.v4.PortGroups"/>
+ <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v4.Licenses"/>
+ <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v4.Entitlements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Customer Edge Router, used specifically for Gamma. This object is deprecated."/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id"/>
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="container" value="vces"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="extends" value="vnf"/>
+ <xml-property name="uriTemplate" value="/network/vces/vce/{vnf-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PortGroups">
+ <xml-root-element name="port-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="portGroup" name="port-group" type="inventory.aai.onap.org.v4.PortGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PortGroup">
+ <xml-root-element name="port-group"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceId" name="interface-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkName" name="neutron-network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network name of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupId" name="port-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for port group in vmware"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupName" name="port-group-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Likely to duplicate value of neutron network name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="switchName" name="switch-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="DVS or standard switch name (should be non-null for port groups associated with DVS)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlanTags" name="cvlan-tags" type="inventory.aai.onap.org.v4.CvlanTags"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Used to capture the network interfaces of this VCE"/>
+ <xml-property name="nameProps" value="port-group-name"/>
+ <xml-property name="indexedProps" value="port-group-id,heat-stack-id,interface-id,interface-name,switch-name"/>
+ <xml-property name="dependentOn" value="vce"/>
+ <xml-property name="container" value="port-groups"/>
+ <xml-property name="uriTemplate" value="/port-groups/port-group/{interface-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CvlanTags">
+ <xml-root-element name="cvlan-tags"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cvlanTagEntry" name="cvlan-tag-entry" type="inventory.aai.onap.org.v4.CvlanTagEntry"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CvlanTagEntry">
+ <xml-root-element name="cvlan-tag-entry"/>
+ <java-attributes>
+ <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="See mis-na-virtualization-platform.yang"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="dependentOn" value="port-group"/>
+ <xml-property name="indexedProps" value="cvlan-tag"/>
+ <xml-property name="container" value="cvlan-tags"/>
+ <xml-property name="uriTemplate" value="/cvlan-tags/cvlan-tag/{cvlan-tag-cvlan-tag}"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="Vnfcs">
+ <xml-properties>
+ <xml-property name="description" value="virtual network components associated with a vserver from application controller."/>
+ </xml-properties>
+ <xml-root-element name="vnfcs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfc" name="vnfc" type="inventory.aai.onap.org.v4.Vnfc"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vnfc">
+ <xml-root-element name="vnfc"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfcName" name="vnfc-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vnfc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfcFunctionCode" name="vnfc-function-code" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="function code"/>
+ <xml-property name="dbAlias" value="nfc-naming-code"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfcType" name="vnfc-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="type"/>
+ <xml-property name="dbAlias" value="nfc-function"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="prov status of this vnfc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by APP-C"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4OamVip" name="ipaddress-v4-oam-vip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Oam V4 vip address of this vnfc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupNotation" name="group-notation" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group notation of VNFC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vnfc-name,prov-status,vnfc-type,vnfc-function-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation"/>
+ <xml-property name="searchable" value="vnfc-name"/>
+ <xml-property name="container" value="vnfcs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vnfcs/vnfc/{vnfc-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3Networks">
+ <xml-root-element name="l3-networks"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3Network" name="l3-network" type="inventory.aai.onap.org.v4.L3Network"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="L3Network">
+ <xml-root-element name="l3-network"/>
+ <java-attributes>
+ <xml-element java-attribute="networkId" name="network-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Network ID, should be uuid. Unique across A&amp;AI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network, governed by some naming convention.."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkType" name="network-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the network - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkRole" name="network-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role the network plans - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkTechnology" name="network-technology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network technology - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isBoundToVpn" name="is-bound-to-vpn" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Set to true if bound to VPN"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service from ASDC. Does not strictly map to ASDC services. SOON TO BE DEPRECATED"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkRoleInstance" name="network-role-instance" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="network role instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailNetworkFqdn" name="contrail-network-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contrail FQDN for the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="physicalNetworkName" name="physical-network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name associated with the physical network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isProviderNetwork" name="is-provider-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is a provider network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isSharedNetwork" name="is-shared-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is a shared network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isExternalNetwork" name="is-external-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is an external network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnets" name="subnets" type="inventory.aai.onap.org.v4.Subnets"/>
+ <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.onap.org.v4.CtagAssignments"/>
+ <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.onap.org.v4.SegmentationAssignments"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList">
+ <xml-properties>
+ <xml-property name="description" value="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Generic network definition"/>
+ <xml-property name="nameProps" value="network-name"/>
+ <xml-property name="indexedProps" value="heat-stack-id,network-uuid,service-id,network-id,network-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-network-fqdn,network-role"/>
+ <xml-property name="searchable" value="network-id,network-name"/>
+ <xml-property name="uniqueProps" value="network-id"/>
+ <xml-property name="container" value="l3-networks"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/l3-networks/l3-network/{network-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="NetworkPolicies">
+ <xml-root-element name="network-policies"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkPolicy" name="network-policy" type="inventory.aai.onap.org.v4.NetworkPolicy"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="NetworkPolicy">
+ <xml-root-element name="network-policy"/>
+ <java-attributes>
+ <xml-element java-attribute="networkPolicyId" name="network-policy-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID representing unique key to this instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkPolicyFqdn" name="network-policy-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contrail FQDN for the policy"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID for the openStack Heat instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="nameProps" value="network-policy-fqdn"/>
+ <xml-property name="indexedProps" value="network-policy-id,network-policy-fqdn"/>
+ <xml-property name="searchable" value="network-policy-id,network-policy-fqdn"/>
+ <xml-property name="uniqueProps" value="network-policy-id"/>
+ <xml-property name="container" value="network-policies"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/network-policies/network-policy/{network-policy-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="CtagAssignments">
+ <xml-root-element name="ctag-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagAssignment" name="ctag-assignment" type="inventory.aai.onap.org.v4.CtagAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CtagAssignment">
+ <xml-root-element name="ctag-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="id."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vlan-id-inner"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="ctag-assignments"/>
+ <xml-property name="uriTemplate" value="/ctag-assignments/ctag-assignment/{vlan-id-inner}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Subnets">
+ <xml-root-element name="subnets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="subnet" name="subnet" type="inventory.aai.onap.org.v4.Subnet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Subnet">
+ <xml-root-element name="subnet"/>
+ <java-attributes>
+ <xml-element java-attribute="subnetId" name="subnet-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Subnet ID, should be UUID."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnetName" name="subnet-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name associated with the subnet."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of this subnet"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="gatewayAddress" name="gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="gateway ip address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkStartAddress" name="network-start-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="network start address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cidrMask" name="cidr-mask" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="cidr mask"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="dhcpEnabled" name="dhcp-enabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="dhcp enabled"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpStart" name="dhcp-start" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the start address reserved for use by dhcp"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpEnd" name="dhcp-end" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the last address reserved for use by dhcp"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="subnet-id,subnet-name"/>
+ <xml-property name="nameProps" value="subnet-name"/>
+ <xml-property name="uniqueProps" value="subnet-id"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="subnets"/>
+ <xml-property name="uriTemplate" value="/subnets/subnet/{subnet-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GenericVnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VNFs"/>
+ </xml-properties>
+ <xml-root-element name="generic-vnfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="genericVnf" name="generic-vnf" type="inventory.aai.onap.org.v4.GenericVnf"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GenericVnf">
+ <xml-root-element name="generic-vnf"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service, does not necessarily map to ASDC service models. SOON TO BE DEPRECATED"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ <xml-property name="suggestibleOnSearch" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational. Valid values are in-service-path and out-of-service-path."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, used by MSO."/>
+ <xml-property name="suggestibleOnSearch" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of managed by ATT or customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nmLanV6Address" name="nm-lan-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 Loopback address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementV6Address" name="management-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 management address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpu" name="vcpu" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpuUnits" name="vcpu-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemory" name="vmemory" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemoryUnits" name="vmemory-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdisk" name="vdisk" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdiskUnits" name="vdisk-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether generic-vnf access uses SSH"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementAssignmentGroupUuid" name="entitlement-assignment-group-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the Entitlement group used for licensing VNFs, OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the specific entitlement resource. OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseAssignmentGroupUuid" name="license-assignment-group-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the license assignment group. OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKeyUuid" name="license-key-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the actual license resource. OBSOLETE - See child relationships."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="as-number of the VNF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceSubzone" name="regional-resource-subzone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="represents sub zone of the rr plane"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfType" name="nf-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Generic description of the type of NF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfFunction" name="nf-function" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="English description of Network function that the specific VNF deployment is providing"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="role in the network that this model will be providing"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfNamingCode" name="nf-naming-code" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="string assigned to this model used for naming purposes"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v4.LInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v4.LagInterfaces"/>
+ <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.onap.org.v4.VfModules"/>
+ <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v4.Licenses"/>
+ <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v4.Entitlements"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="General purpose VNF"/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,nf-type,nf-function,nf-naming-code,nf-role"/>
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="container" value="generic-vnfs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="extends" value="vnf"/>
+ <xml-property name="containsSuggestibleProps" value="true"/>
+ <xml-property name="suggestionAliases" value="VNFs"/>
+ <xml-property name="uriTemplate" value="/network/generic-vnfs/generic-vnf/{vnf-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VfModules">
+ <xml-properties>
+ <xml-property name="description" value="Collection of vf-modules, a deployment unit of VNFCs"/>
+ </xml-properties>
+ <xml-root-element name="vf-modules"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vfModule" name="vf-module" type="inventory.aai.onap.org.v4.VfModule"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VfModule">
+ <xml-root-element name="vf-module"/>
+ <java-attributes>
+ <xml-element java-attribute="vfModuleId" name="vf-module-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vf-module."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfModuleName" name="vf-module-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of vf-module"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="orchestration status of this vf-module, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isBaseVfModule" name="is-base-vf-module" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is base vf module"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the Contrail unique ID for a service-instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="moduleIndex" name="module-index" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="the index will track the number of modules of a given type that have been deployed in a VNF, starting with 0, and always choosing the lowest available digit"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="a deployment unit of VNFCs"/>
+ <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-service-instance-fqdn"/>
+ <xml-property name="searchable" value="vf-module-id,vf-module-name"/>
+ <xml-property name="dependentOn" value="generic-vnf"/>
+ <xml-property name="container" value="vf-modules"/>
+ <xml-property name="uriTemplate" value="/vf-modules/vf-module/{vf-module-id}"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="LagLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregation connections"/>
+ </xml-properties>
+ <xml-root-element name="lag-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagLink" name="lag-link" type="inventory.aai.onap.org.v4.LagLink"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LagLink">
+ <xml-root-element name="lag-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Alphabetical concatenation of lag-interface names"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="LAG links can connect lag-interfaces"/>
+ <xml-property name="indexedProps" value="link-name"/>
+ <xml-property name="container" value="lag-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/lag-links/lag-link/{link-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Newvces">
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce."/>
+ </xml-properties>
+ <xml-root-element name="newvces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="newvce" name="newvce" type="inventory.aai.onap.org.v4.Newvce"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Newvce">
+ <xml-root-element name="newvce"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId2" name="vnf-id2" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF, can't use same attribute name right now until we promote this new object"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (v4-loopback0-ip-address)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v4.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce."/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2"/>
+ <xml-property name="searchable" value="vnf-id2,vnf-name,vnf-name2"/>
+ <xml-property name="uniqueProps" value="vnf-id2"/>
+ <xml-property name="container" value="newvces"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/newvces/newvce/{vnf-id2}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Physical Network Functions."/>
+ </xml-properties>
+ <xml-root-element name="pnfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pnf" name="pnf" type="inventory.aai.onap.org.v4.Pnf"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pnf">
+ <xml-root-element name="pnf"/>
+ <java-attributes>
+ <xml-element java-attribute="pnfName" name="pnf-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique name of Physical Network Function."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfName2" name="pnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="name of Physical Network Function."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfName2Source" name="pnf-name2-source" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="source of name2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfId" name="pnf-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="id of pnf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment type. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment vendor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment model. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of managed by ATT or customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Oam" name="ipaddress-v4-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ipv4-oam-address with new naming convention for IP addresses"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="swVersion" name="sw-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="sw-version is the version of SW for the hosted application on the PNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="frameId" name="frame-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of the physical frame (relay rack) where pnf is installed."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Serial number of the device"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 OAM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CANOPI's inventory status. Only set with values exactly as defined by CANOPI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Nf Role is the role performed by this instance in the network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v4.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v4.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE."/>
+ <xml-property name="indexedProps" value="pnf-name,orchestration-status,inv-status"/>
+ <xml-property name="searchable" value="pnf-name"/>
+ <xml-property name="uniqueProps" value="pnf-name"/>
+ <xml-property name="container" value="pnfs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/pnfs/pnf/{pnf-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PhysicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces"/>
+ </xml-properties>
+ <xml-root-element name="physical-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="physicalLink" name="physical-link" type="inventory.aai.onap.org.v4.PhysicalLink"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PhysicalLink">
+ <xml-root-element name="physical-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Circuit it"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dualMode" name="dual-mode" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Dual access mode (e.g., primary, secondary"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="To provide information on who manages this circuit. A&amp;AI or 3rd party transport provider"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderName" name="service-provider-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the service Provider on this link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces"/>
+ <xml-property name="indexedProps" value="circuit-id,link-name"/>
+ <xml-property name="alternateKeys1" value="circuit-id"/>
+ <xml-property name="container" value="physical-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="searchable" value="link-name,circuit-id"/>
+ <xml-property name="uriTemplate" value="/network/physical-links/physical-link/{link-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VigServers">
+ <xml-root-element name="vig-servers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vigServer" name="vig-server" type="inventory.aai.onap.org.v4.VigServer"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VigServer">
+ <xml-root-element name="vig-server"/>
+ <java-attributes>
+ <xml-element java-attribute="vigAddressType" name="vig-address-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether the VIG is for AVPN or INTERNET"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV4Vig" name="ipaddress-v4-vig" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 IP of the vig server"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV6Vig" name="ipaddress-v6-vig" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 IP of the vig server"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607"/>
+ <xml-property name="indexedProps" value="vig-address-type"/>
+ <xml-property name="dependentOn" value="ipsec-configuration"/>
+ <xml-property name="container" value="vig-servers"/>
+ <xml-property name="uriTemplate" value="/vig-servers/vig-server/{vig-address-type}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="IpsecConfigurations">
+ <xml-root-element name="ipsec-configurations"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipsecConfiguration" name="ipsec-configuration" type="inventory.aai.onap.org.v4.IpsecConfiguration"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IpsecConfiguration">
+ <xml-root-element name="ipsec-configuration"/>
+ <java-attributes>
+ <xml-element java-attribute="ipsecConfigurationId" name="ipsec-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of this configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedVigAddressType" name="requested-vig-address-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicate the type of VIG server like AVPN, INTERNET, BOTH"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedEncryptionStrength" name="requested-encryption-strength" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encryption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedDmzType" name="requested-dmz-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ATT can offer a shared DMZ or a DMZ specific to a customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sharedDmzNetworkAddress" name="shared-dmz-network-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network address of shared DMZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedCustomerName" name="requested-customer-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="If the DMZ is a custom DMZ, this field will indicate the customer information"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikeVersion" name="ike-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="can be 1 or 2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1Authentication" name="ikev1-authentication" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contains values like md5, sha1, sha256, sha384"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1Encryption" name="ikev1-encryption" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1DhGroup" name="ikev1-dh-group" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Diffie-Hellman group like DH-GROUP2, DH-GROUP5, DH-GROUP14"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1AmGroupId" name="ikev1-am-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group name defined in VIG for clients using aggressive mode"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1AmPassword" name="ikev1-am-password" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="pre-shared key for the above group name "/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1SaLifetime" name="ikev1-sa-lifetime" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Lifetime for IKEv1 SA"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecAuthentication" name="ipsec-authentication" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="md5, sha1, sha256, sha384"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecEncryption" name="ipsec-encryption" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecSaLifetime" name="ipsec-sa-lifetime" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Life time for IPSec SA"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecPfs" name="ipsec-pfs" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="enable PFS or not"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="xauthUserId" name="xauth-userid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="user ID for xAuth, sm-user,ucpeHostName,nmteHostName"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="xauthUserPassword" name="xauth-user-password" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encrypted using the Juniper $9$ algorithm"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dpdInterval" name="dpd-interval" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The time between DPD probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dpdFrequency" name="dpd-frequency" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Maximum number of DPD before claiming the tunnel is down"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.onap.org.v4.VigServers"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C"/>
+ <xml-property name="indexedProps" value="ipsec-configuration-id"/>
+ <xml-property name="uniqueProps" value="ipsec-configuration-id"/>
+ <xml-property name="container" value="ipsec-configurations"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="NotificationEvent">
+ <xml-root-element name="notification-event"/>
+ <java-attributes>
+ <xml-element java-attribute="cambriaPartition" name="cambria.partition" type="java.lang.String"/>
+ <xml-element java-attribute="eventHeader" name="event-header" type="inventory.aai.onap.org.v4.NotificationEventHeader"/>
+ <xml-any-element java-attribute="entity"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="NotificationEventHeader">
+ <xml-root-element name="notification-event-header"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" type="java.lang.String"/>
+ <xml-element java-attribute="timestamp" name="timestamp" type="java.lang.String"/>
+ <xml-element java-attribute="sourceName" name="source-name" type="java.lang.String"/>
+ <xml-element java-attribute="domain" name="domain" type="java.lang.String"/>
+ <xml-element java-attribute="sequenceNumber" name="sequence-number" type="java.lang.String"/>
+ <xml-element java-attribute="severity" name="severity" type="java.lang.String"/>
+ <xml-element java-attribute="eventType" name="event-type" type="java.lang.String"/>
+ <xml-element java-attribute="version" name="version" type="java.lang.String"/>
+ <xml-element java-attribute="action" name="action" type="java.lang.String"/>
+ <xml-element java-attribute="entityType" name="entity-type" type="java.lang.String"/>
+ <xml-element java-attribute="topEntityType" name="top-entity-type" type="java.lang.String"/>
+ <xml-element java-attribute="entityLink" name="entity-link" type="java.lang.String"/>
+ <xml-element java-attribute="status" name="status" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="AaiInternal">
+ <xml-root-element name="aai-internal"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="reservedPropNames" name="reserved-prop-names" type="inventory.aai.onap.org.v4.ReservedPropNames"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.onap.org.v4.EdgePropNames"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="ReservedPropNames">
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define some reserved properties of a vertex"/>
+ <xml-property name="uniqueProps" value="aai-unique-key"/>
+ <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type,aai-uri"/>
+ </xml-properties>
+ <xml-root-element name="reserved-prop-names"/>
+ <java-attributes>
+ <xml-element java-attribute="lastModSourceOfTruth" name="last-mod-source-of-truth" type="java.lang.String"/>
+ <xml-element java-attribute="aaiNodeType" name="aai-node-type" type="java.lang.String"/>
+ <xml-element java-attribute="aaiCreatedTs" name="aai-created-ts" type="java.lang.Long"/>
+ <xml-element java-attribute="aaiUniqueKey" name="aai-unique-key" type="java.lang.String"/>
+ <xml-element java-attribute="aaiLastModTs" name="aai-last-mod-ts" type="java.lang.Long"/>
+ <xml-element java-attribute="sourceOfTruth" name="source-of-truth" type="java.lang.String"/>
+ <xml-element java-attribute="aaiUri" name="aai-uri" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="EdgePropNames">
+ <!-- NOTE that the names of these properties are not consistent and are in mixed case and hyphen case for now -->
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define the properties of an edge and interpret the map EdgeRules"/>
+ <xml-property name="edgeInfo" value="edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV"/>
+ </xml-properties>
+ <xml-root-element name="edge-prop-names"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeLabel" name="edgeLabel" type="java.lang.String"/>
+ <xml-element java-attribute="direction" name="direction" type="java.lang.String"/>
+ <xml-element java-attribute="multiplicityRule" name="multiplicityRule" type="java.lang.String"/>
+ <xml-element java-attribute="containsOtherV" name="contains-other-v" type="java.lang.String"/>
+ <xml-element java-attribute="deleteOtherV" name="delete-other-v" type="java.lang.String"/>
+ <xml-element java-attribute="svcinfra" name="SVC-INFRA" type="java.lang.String"/>
+ <xml-element java-attribute="preventDelete" name="prevent-delete" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Models">
+ <xml-properties>
+ <xml-property name="description" value="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models"/>
+ </xml-properties>
+ <xml-root-element name="models"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="model" name="model" type="inventory.aai.onap.org.v4.Model"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Model">
+ <xml-root-element name="model"/>
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version"/>
+ <xml-property name="nameProps" value="model-type"/>
+ <xml-property name="indexedProps" value="model-invariant-id,model-type"/>
+ <xml-property name="uniqueProps" value="model-invariant-id"/>
+ <xml-property name="container" value="models"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/models/model/{model-invariant-id}"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.onap.org.v4.ModelVers"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+
+ <java-type name="ModelVers">
+ <xml-root-element name="model-vers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelVer" name="model-ver" type="inventory.aai.onap.org.v4.ModelVer"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelVer">
+ <xml-root-element name="model-ver"/>
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models"/>
+ <xml-property name="nameProps" value="model-name"/>
+ <xml-property name="indexedProps" value="model-version-id,model-name,model-version"/>
+ <xml-property name="uniqueProps" value="model-version-id"/>
+ <xml-property name="container" value="model-vers"/>
+ <xml-property name="uriTemplate" value="/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the model, which can change from version to version."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v4.ModelElements"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v4.Metadata"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelElements">
+ <xml-root-element name="model-elements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelElement" name="model-element" type="inventory.aai.onap.org.v4.ModelElement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelElement">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model."/>
+ <xml-property name="uniqueProps" value="model-element-uuid"/>
+ <xml-property name="indexedProps" value="model-element-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="model-elements"/>
+ <xml-property name="uriTemplate" value="/model-elements/model-element/{model-element-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="model-element"/>
+ <java-attributes>
+ <xml-element java-attribute="modelElementUuid" name="model-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="newDataDelFlag" name="new-data-del-flag" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates whether this element was created as part of instantiation from this model"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cardinality" name="cardinality" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="How many of this type of element are required/allowed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="linkagePoints" name="linkage-points" type="java.lang.String">
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v4.ModelElements">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelConstraints" name="model-constraints" type="inventory.aai.onap.org.v4.ModelConstraints">
+ <xml-properties>
+ <xml-property name="description" value="Describes new constraints on this model element that are not part of that model's definition"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelConstraints">
+ <xml-root-element name="model-constraints"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelConstraint" name="model-constraint" type="inventory.aai.onap.org.v4.ModelConstraint"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelConstraint">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="model-constraint-uuid"/>
+ <xml-property name="indexedProps" value="model-constraint-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="model-constraints"/>
+ <xml-property name="uriTemplate" value="/model-constraints/model-constraint/{model-constraint-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="model-constraint"/>
+ <java-attributes>
+ <xml-element java-attribute="modelConstraintUuid" name="model-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constrainedElementSetUuidToReplace" name="constrained-element-set-uuid-to-replace" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="constrainedElementSets" name="constrained-element-sets" type="inventory.aai.onap.org.v4.ConstrainedElementSets"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ConstrainedElementSets">
+ <xml-root-element name="constrained-element-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="constrainedElementSet" name="constrained-element-set" type="inventory.aai.onap.org.v4.ConstrainedElementSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ConstrainedElementSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="constrained-element-set-uuid"/>
+ <xml-property name="indexedProps" value="constrained-element-set-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="constrained-element-sets"/>
+ <xml-property name="uriTemplate" value="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="constrained-element-set"/>
+ <java-attributes>
+ <xml-element java-attribute="constrainedElementSetUuid" name="constrained-element-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="checkType" name="check-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="elementChoiceSets" name="element-choice-sets" type="inventory.aai.onap.org.v4.ElementChoiceSets"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ElementChoiceSets">
+ <xml-root-element name="element-choice-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="elementChoiceSet" name="element-choice-set" type="inventory.aai.onap.org.v4.ElementChoiceSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ElementChoiceSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="element-choice-set-uuid"/>
+ <xml-property name="indexedProps" value="element-choice-set-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="element-choice-sets"/>
+ <xml-property name="uriTemplate" value="/element-choice-sets/element-choice-set/{element-choice-set-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="element-choice-set"/>
+ <java-attributes>
+ <xml-element java-attribute="elementChoiceSetUuid" name="element-choice-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="elementChoiceSetName" name="element-choice-set-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="cardinality" name="cardinality" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v4.ModelElements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueries">
+ <xml-root-element name="named-queries"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQuery" name="named-query" type="inventory.aai.onap.org.v4.NamedQuery"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQuery">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="nameProps" value="named-query-name"/>
+ <xml-property name="uniqueProps" value="named-query-uuid"/>
+ <xml-property name="indexedProps" value="named-query-uuid,named-query-name"/>
+ <xml-property name="container" value="named-queries"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/named-queries/named-query/{named-query-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="named-query"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQueryUuid" name="named-query-uuid" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="namedQueryName" name="named-query-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryVersion" name="named-query-version" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="requiredInputParams" name="required-input-param" type="java.lang.String">
+ <xml-element-wrapper name="required-input-params"/>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.onap.org.v4.NamedQueryElements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueryElements">
+ <xml-root-element name="named-query-elements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQueryElement" name="named-query-element" type="inventory.aai.onap.org.v4.NamedQueryElement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueryElement">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="named-query-element-uuid"/>
+ <xml-property name="indexedProps" value="named-query-element-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="named-query-elements"/>
+ <xml-property name="uriTemplate" value="/named-query-elements/named-query-element/{named-query-element-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="named-query-element"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQueryElementUuid" name="named-query-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="propertyLimitDesc" name="property-limit-desc" type="java.lang.String"/>
+ <xml-element java-attribute="doNotOutput" name="do-not-output" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.onap.org.v4.NamedQueryElements"/>
+ <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.onap.org.v4.RelatedLookups"/>
+ <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.onap.org.v4.PropertyConstraints"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedLookups">
+ <xml-root-element name="related-lookups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedLookup" name="related-lookup" type="inventory.aai.onap.org.v4.RelatedLookup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedLookup">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="related-lookup-uuid"/>
+ <xml-property name="indexedProps" value="related-lookup-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="related-lookups"/>
+ <xml-property name="uriTemplate" value="/related-lookups/related-lookup/{related-lookup-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="related-lookup"/>
+ <java-attributes>
+ <xml-element java-attribute="relatedLookupUuid" name="related-lookup-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceNodeType" name="source-node-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="sourceNodeProperty" name="source-node-property" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="targetNodeType" name="target-node-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="targetNodeProperty" name="target-node-property" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PropertyConstraints">
+ <xml-root-element name="property-constraints"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyConstraint" name="property-constraint" type="inventory.aai.onap.org.v4.PropertyConstraint"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PropertyConstraint">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="property-constraint-uuid"/>
+ <xml-property name="indexedProps" value="property-constraint-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="property-constraints"/>
+ <xml-property name="uriTemplate" value="/property-constraints/property-constraint/{property-constraint-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="property-constraint"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyConstraintUuid" name="property-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="propertyName" name="property-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelAndNamedQuerySearch">
+ <xml-properties>
+ <xml-property name="description" value="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="model-and-named-query-search"/>
+ <java-attributes>
+ <xml-element java-attribute="queryParameters" name="query-parameters" type="inventory.aai.onap.org.v4.QueryParameters"/>
+ <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.onap.org.v4.InstanceFilters"/>
+ <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.onap.org.v4.SecondaryFilts"/>
+ <xml-element java-attribute="topNodeType" name="top-node-type" type="java.lang.String"/>
+ <xml-element java-attribute="secondaryFilterCutPoint" name="secondary-filter-cut-point" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="QueryParameters">
+ <xml-properties>
+ <xml-property name="description" value="QueryParameters for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="query-parameters"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQuery" name="named-query" type="inventory.aai.onap.org.v4.NamedQuery"/>
+ <xml-element java-attribute="model" name="model" type="inventory.aai.onap.org.v4.OverloadedModel"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OverloadedModel">
+ <xml-root-element name="overloaded-model"/>
+ <xml-properties>
+ <xml-property name="description" value="Allows for legacy POST of old-style and new-style models"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelNameVersionId" name="model-name-version-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the model, which can change from version to version."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelId" name="model-id" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Invariant unique ID which does not change from version to version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.onap.org.v4.ModelVers"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceFilters">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilters for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="instance-filters"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="instanceFilter" name="instance-filter" type="inventory.aai.onap.org.v4.InstanceFilter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceFilter">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilter for performing a named-query or model query"/>
+ <xml-property name="container" value="instance-filters"/>
+ </xml-properties>
+ <xml-root-element name="instance-filter"/>
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilts">
+ <xml-properties>
+ <xml-property name="description" value="SecondaryFilts for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="secondary-filts"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilt" name="secondary-filt" type="inventory.aai.onap.org.v4.SecondaryFilt"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilt">
+ <xml-properties>
+ <xml-property name="description" value="SecondaryFilt for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="secondary-filt"/>
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Properties">
+ <xml-properties>
+ <xml-property name="description" value="Property holder for query properties or instance properties"/>
+ </xml-properties>
+ <xml-root-element name="properties"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ResponseList">
+ <xml-properties>
+ <xml-property name="description" value="Response container for the results of a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="response-list"/>
+ <java-attributes>
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v4.InventoryResponseItems"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryResponseItems">
+ <xml-properties>
+ <xml-property name="description" value="Container for inventory items in response list"/>
+ <xml-property name="container" value="response-list"/>
+ </xml-properties>
+ <xml-root-element name="inventory-response-items"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryResponseItem" name="inventory-response-item" type="inventory.aai.onap.org.v4.InventoryResponseItem"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryResponseItem">
+ <xml-properties>
+ <xml-property name="description" value="Inventory item for response list"/>
+ <xml-property name="container" value="inventory-response-items"/>
+ </xml-properties>
+ <xml-root-element name="inventory-response-item"/>
+ <java-attributes>
+ <xml-element java-attribute="modelName" name="model-name" type="java.lang.String"/>
+ <xml-any-element java-attribute="item"/>
+ <xml-element java-attribute="extraProperties" name="extra-properties" type="inventory.aai.onap.org.v4.ExtraProperties"/>
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v4.InventoryResponseItems"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExtraProperties">
+ <xml-properties>
+ <xml-property name="description" value="Extra properties for inventory item for response list"/>
+ </xml-properties>
+ <xml-root-element name="extra-properties"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="extraProperty" name="extra-property" type="inventory.aai.onap.org.v4.ExtraProperty"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExtraProperty">
+ <xml-root-element name="extra-property"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RouteTableReferences">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack route table references"/>
+ </xml-properties>
+ <xml-root-element name="route-table-references"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routeTableReference" name="route-table-reference" type="inventory.aai.onap.org.v4.RouteTableReference"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RouteTableReference">
+ <xml-root-element name="route-table-reference"/>
+ <java-attributes>
+ <xml-element java-attribute="routeTableReferenceId" name="route-table-reference-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTableReferenceFqdn" name="route-table-reference-fqdn" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="FQDN entry in the route table."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Openstack route table reference."/>
+ <xml-property name="nameProps" value="route-table-reference-fqdn"/>
+ <xml-property name="uniqueProps" value="route-table-reference-id"/>
+ <xml-property name="indexedProps" value="route-table-reference-id,route-table-reference-fqdn"/>
+ <xml-property name="container" value="route-table-references"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/route-table-references/route-table-reference/{route-table-reference-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="InstanceGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack route table references"/>
+ </xml-properties>
+ <xml-root-element name="instance-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="instanceGroup" name="instance-group" type="inventory.aai.onap.org.v4.InstanceGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceGroup">
+ <xml-root-element name="instance-group"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Instance Group ID, UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Descriptive text to help identify the usage of this instance-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="type" name="type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Only valid value today is lower case ha for high availability"/>
+ <xml-property name="dbAlias" value="instance-group-type"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subType" name="sub-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Valid values for ha type are [geo-activeactive, geo-activestandby, local-activeactive, local-activestandby]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="General mechanism for grouping instances"/>
+ <xml-property name="nameProps" value="description"/>
+ <xml-property name="uniqueProps" value="id"/>
+ <xml-property name="searchable" value="id,description"/>
+ <xml-property name="indexedProps" value="id,description,type,sub-type"/>
+ <xml-property name="container" value="instance-groups"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/instance-groups/instance-group/{id}"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="SegmentationAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack segmentation assignments"/>
+ </xml-properties>
+ <xml-root-element name="segmentation-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.onap.org.v4.SegmentationAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SegmentationAssignment">
+ <xml-root-element name="segmentation-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack segmentation assignment."/>
+ <xml-property name="indexedProps" value="segmentation-id"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="segmentation-assignments"/>
+ <xml-property name="uriTemplate" value="/segmentation-assignments/segmentation-assignment/{segmentation-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="AllottedResources">
+ <xml-properties>
+ <xml-property name="description" value="This object is used to store slices of services being offered"/>
+ </xml-properties>
+ <xml-root-element name="allotted-resources"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="allottedResource" name="allotted-resource" type="inventory.aai.onap.org.v4.AllottedResource"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AllottedResource">
+ <xml-root-element name="allotted-resource"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Allotted Resource id UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The descriptive information assigned to this allotted resource instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Link back to more information in the controller"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-version-id"/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="model-invariant-id"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="type" name="type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Generic description of the type of allotted resource."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="role" name="role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="role in the network that this resource will be providing."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tunnelXconnects" name="tunnel-xconnects" type="inventory.aai.onap.org.v4.TunnelXconnects"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Represents a slice or partial piece of a resource that gets separately allotted"/>
+ <xml-property name="nameProps" value="description"/>
+ <xml-property name="uniqueProps" value="id"/>
+ <xml-property name="indexedProps" value="id,model-invariant-id,model-version-id,type,role"/>
+ <xml-property name="dependentOn" value="service-instance"/>
+ <xml-property name="container" value="allotted-resources"/>
+ <!-- <xml-property name="namespace" value="network" /> -->
+ <xml-property name="uriTemplate" value="/allotted-resources/allotted-resource/{id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="TunnelXconnects">
+ <xml-properties>
+ <xml-property name="description" value="This object is used to store the specific tunnel cross connect aspects of an allotted resource"/>
+ </xml-properties>
+ <xml-root-element name="tunnel-xconnects"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tunnelXconnect" name="tunnel-xconnect" type="inventory.aai.onap.org.v4.TunnelXconnect"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="TunnelXconnect">
+ <xml-root-element name="tunnel-xconnect"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Allotted Resource id UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN uplink bandwidth for WAN1"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN downlink bandwidth for WAN1"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN uplink bandwidth for WAN2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN downlink bandwidth for WAN2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted"/>
+ <xml-property name="uniqueProps" value="id"/>
+ <xml-property name="indexedProps" value="id"/>
+ <xml-property name="dependentOn" value="allotted-resource"/>
+ <xml-property name="container" value="tunnel-xconnects"/>
+ <!-- <xml-property name="namespace" value="network" /> -->
+ <xml-property name="uriTemplate" value="/tunnel-xconnects/tunnel-xconnect/{id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Entitlements">
+ <xml-properties>
+ <xml-property name="description" value="Entitlements, keyed by group-uuid and resource-uuid, related to license management"/>
+ </xml-properties>
+ <xml-root-element name="entitlements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="entitlement" name="entitlement" type="inventory.aai.onap.org.v4.Entitlement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Entitlement">
+ <xml-root-element name="entitlement"/>
+ <java-attributes>
+ <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for the entitlement group the resource comes from, should be uuid."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of an entitlement resource. "/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Metadata for entitlement group."/>
+ <xml-property name="indexedProps" value="group-uuid,resource-uuid"/>
+ <xml-property name="dependentOn" value="generic-vnf,vce"/>
+ <xml-property name="container" value="entitlements"/>
+ <xml-property name="uriTemplate" value="/entitlements/entitlement/{group-uuid}/{resource-uuid}"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="Licenses">
+ <xml-properties>
+ <xml-property name="description" value="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management"/>
+ </xml-properties>
+ <xml-root-element name="licenses"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="license" name="license" type="inventory.aai.onap.org.v4.License"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="License">
+ <xml-root-element name="license"/>
+ <java-attributes>
+ <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for the license group the resource belongs to, should be uuid."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of a license resource. "/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Metadata for license group."/>
+ <xml-property name="indexedProps" value="group-uuid,resource-uuid"/>
+ <xml-property name="dependentOn" value="generic-vnf,vce"/>
+ <xml-property name="container" value="licenses"/>
+ <xml-property name="uriTemplate" value="/licenses/license/{group-uuid}/{resource-uuid}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vnf">
+ <xml-root-element name="vnf"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Abstract vnf class"/>
+ <xml-property name="indexedProps" value="vnf-id"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="inheritors" value="vce,generic-vnf"/>
+ <xml-property name="abstract" value="true"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Zones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of zones"/>
+ </xml-properties>
+ <xml-root-element name="zones"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="zone" name="zone" type="inventory.aai.onap.org.v4.Zone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Zone">
+ <xml-root-element name="zone"/>
+ <java-attributes>
+ <xml-element java-attribute="zoneId" name="zone-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Code assigned by AIC to the zone"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="zoneName" name="zone-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="English name associated with the zone"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="designType" name="design-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Design of zone [Medium/Large…]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="zoneContext" name="zone-context" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Context of zone [production/test]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="status" name="status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Status of a zone."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="A zone is a grouping of assets in a location homing to the same connections into the CBB"/>
+ <xml-property name="nameProps" value="zone-name"/>
+ <xml-property name="indexedProps" value="zone-id,design-type,zone-context"/>
+ <xml-property name="uniqueProps" value="zone-id"/>
+ <xml-property name="container" value="zones"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/zones/zone/{zone-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="RouteTargets">
+ <xml-properties>
+ <xml-property name="description" value="Collection of route target information"/>
+ </xml-properties>
+ <xml-root-element name="route-targets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routeTarget" name="route-target" type="inventory.aai.onap.org.v4.RouteTarget"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="RouteTarget">
+ <xml-root-element name="route-target"/>
+ <java-attributes>
+ <xml-element java-attribute="globalRouteTarget" name="global-route-target" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Number used to identify an RT, globally unique in the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTargetRole" name="route-target-role" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this route target"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Route target information"/>
+ <xml-property name="container" value="route-targets"/>
+ <xml-property name="dependentOn" value="vpn-binding"/>
+ <xml-property name="canBeLinked" value="true"/>
+ <xml-property name="uriTemplate" value="/route-targets/route-target/{global-route-target}/{route-target-role}"/>
+ </xml-properties>
+ </java-type>
+</java-types>
+</xml-bindings> \ No newline at end of file
diff --git a/aai-core/src/test/resources/oxm/dbalias_oxm_one.xml b/aai-core/src/test/resources/oxm/dbalias_oxm_one.xml
new file mode 100644
index 00000000..74aca15d
--- /dev/null
+++ b/aai-core/src/test/resources/oxm/dbalias_oxm_one.xml
@@ -0,0 +1,4237 @@
+<!--
+ ============LICENSE_START=======================================================
+ org.onap.aai
+ ================================================================================
+ Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ============LICENSE_END=========================================================
+ -->
+<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v1" xml-mapping-metadata-complete="true">
+ <xml-schema element-form-default="QUALIFIED">
+ <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v1"/>
+ </xml-schema>
+ <java-types>
+ <java-type name="Inventory">
+ <xml-root-element name="inventory"/>
+ <java-attributes>
+ <xml-element java-attribute="search" name="search" type="inventory.aai.onap.org.v1.Search"/>
+ <xml-element java-attribute="actions" name="actions" type="inventory.aai.onap.org.v1.Actions"/>
+ <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.onap.org.v1.CloudInfrastructure"/>
+ <xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v1.Business"/>
+ <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.onap.org.v1.ServiceDesignAndCreation"/>
+ <xml-element java-attribute="network" name="network" type="inventory.aai.onap.org.v1.Network"/>
+ <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.onap.org.v1.AaiInternal"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Search">
+ <xml-root-element name="search"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeTagQueryResult" name="edge-tag-query-result" type="inventory.aai.onap.org.v1.EdgeTagQueryResult"/>
+ <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.onap.org.v1.EdgeTagQueryRequest"/>
+ <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.onap.org.v1.SearchResults"/>
+ <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.onap.org.v1.SdnZoneResponse"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EdgeTagQueryResult">
+ <xml-root-element name="edge-tag-query-result"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v1.TaggedInventoryItemList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="TaggedInventoryItemList">
+ <xml-root-element name="tagged-inventory-item-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItem" name="inventory-item" type="inventory.aai.onap.org.v1.InventoryItem"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryItem">
+ <xml-root-element name="inventory-item"/>
+ <java-attributes>
+ <xml-element java-attribute="inventoryItemType" name="inventory-item-type" type="java.lang.String"/>
+ <xml-element java-attribute="inventoryItemLink" name="inventory-item-link" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItemData" name="inventory-item-data" type="inventory.aai.onap.org.v1.InventoryItemData"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v1.TaggedInventoryItemList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryItemData">
+ <xml-root-element name="inventory-item-data"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EdgeTagQueryRequest">
+ <xml-root-element name="edge-tag-query-request"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeTag" name="edge-tag" type="java.lang.String"/>
+ <xml-element java-attribute="resultDetail" name="result-detail" type="java.lang.String"/>
+ <xml-element java-attribute="startNodeType" name="start-node-type" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="startNodeFilter" name="start-node-filter" type="inventory.aai.onap.org.v1.StartNodeFilter"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.onap.org.v1.IncludeNodeFilter"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.onap.org.v1.SecondaryFilter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="StartNodeFilter">
+ <xml-root-element name="start-node-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IncludeNodeFilter">
+ <xml-root-element name="include-node-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="includeNodeType" name="include-node-type" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilter">
+ <xml-root-element name="secondary-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="filterType" name="filter-type" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SearchResults">
+ <xml-root-element name="search-results"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="resultData" name="result-data" type="inventory.aai.onap.org.v1.ResultData"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ResultData">
+ <xml-root-element name="result-data"/>
+ <java-attributes>
+ <xml-element java-attribute="resourceType" name="resource-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The specific type of node in the A&amp;AI graph"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceLink" name="resource-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The URL to the specific resource"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SdnZoneResponse">
+ <xml-root-element name="sdn-zone-response"/>
+ <java-attributes>
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v1.OamNetworks"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.onap.org.v1.AzAndDvsSwitches"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AzAndDvsSwitches">
+ <xml-root-element name="az-and-dvs-switches"/>
+ <java-attributes>
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v1.DvsSwitches"/>
+ <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v1.AvailabilityZone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Actions">
+ <xml-properties>
+ <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)."/>
+ </xml-properties>
+ <xml-root-element name="actions"/>
+ <java-attributes>
+ <xml-element java-attribute="update" name="update" type="inventory.aai.onap.org.v1.Update"/>
+ <xml-element java-attribute="notify" name="notify" type="inventory.aai.onap.org.v1.Notify"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Update">
+ <xml-properties>
+ <xml-property name="description" value="Serves a PATCH like function. Does not enforce concurrency control. Clear each usage with AAI team."/>
+ </xml-properties>
+ <xml-root-element name="update"/>
+ <java-attributes>
+ <xml-element java-attribute="updateNodeType" name="update-node-type" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="updateNodeKey" name="update-node-key" type="inventory.aai.onap.org.v1.UpdateNodeKey"/>
+ <xml-element java-attribute="updateNodeUri" name="update-node-uri" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="action" name="action" type="inventory.aai.onap.org.v1.Action"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Action">
+ <xml-root-element name="action"/>
+ <java-attributes>
+ <xml-element java-attribute="actionType" name="action-type" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="actionData" name="action-data" type="inventory.aai.onap.org.v1.ActionData"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ActionData">
+ <xml-root-element name="action-data"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="UpdateNodeKey">
+ <xml-root-element name="update-node-key"/>
+ <java-attributes>
+ <xml-element java-attribute="keyName" name="key-name" type="java.lang.String"/>
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Notify">
+ <xml-root-element name="notify"/>
+ <java-attributes>
+ <xml-element java-attribute="eventId" name="event-id" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="nodeType" name="node-type" type="java.lang.String"/>
+ <xml-element java-attribute="eventTrigger" name="event-trigger" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="keyData" name="key-data" type="inventory.aai.onap.org.v1.KeyData"/>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="KeyData">
+ <xml-root-element name="key-data"/>
+ <java-attributes>
+ <xml-element java-attribute="keyName" name="key-name" type="java.lang.String"/>
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CloudInfrastructure">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for cloud infrastructure."/>
+ </xml-properties>
+ <xml-root-element name="cloud-infrastructure"/>
+ <java-attributes>
+ <xml-element java-attribute="complexes" name="complexes" type="inventory.aai.onap.org.v1.Complexes"/>
+ <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.onap.org.v1.CloudRegions"/>
+ <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.onap.org.v1.NetworkProfiles"/>
+ <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.onap.org.v1.Pservers"/>
+ <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.onap.org.v1.VirtualDataCenters"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CloudRegions">
+ <xml-root-element name="cloud-regions"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cloudRegion" name="cloud-region" type="inventory.aai.onap.org.v1.CloudRegion"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CloudRegion">
+ <xml-root-element name="cloud-region"/>
+ <java-attributes>
+ <xml-element java-attribute="cloudOwner" name="cloud-owner" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifies the vendor and cloud name, e.g., att-aic. First part of composite key should be formatted as vendor-cloudname"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudRegionId" name="cloud-region-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite key"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudType" name="cloud-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the cloud (e.g., openstack)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ownerDefinedType" name="owner-defined-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Cloud-owner defined type indicator (e.g., DCP, LCP)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudRegionVersion" name="cloud-region-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Software version employed at the site"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL of the keystone identity service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudZone" name="cloud-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Zone where the cloud is homed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="complex name for cloud-region instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeGroups" name="volume-groups" type="inventory.aai.onap.org.v1.VolumeGroups"/>
+ <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v1.Tenants"/>
+ <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v1.Flavors"/>
+ <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v1.Images"/>
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v1.DvsSwitches"/>
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v1.OamNetworks"/>
+ <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v1.AvailabilityZones"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation. In AT&amp;Ts AIC cloud, this could be an LCP or DCP. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname and we will use att-aic for AT&amp;T's AIC."/>
+ <xml-property name="indexedProps" value="identity-url,cloud-owner,cloud-region-id,cloud-type,owner-defined-type"/>
+ <xml-property name="nameProps" value="owner-defined-type"/>
+ <xml-property name="container" value="cloud-regions"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="VolumeGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of persistent block-level storage."/>
+ </xml-properties>
+ <xml-root-element name="volume-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volumeGroup" name="volume-group" type="inventory.aai.onap.org.v1.VolumeGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VolumeGroup">
+ <xml-root-element name="volume-group"/>
+ <java-attributes>
+ <xml-element java-attribute="volumeGroupId" name="volume-group-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of volume-group."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeGroupName" name="volume-group-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the volume group."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this volume-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded and clients should expect changes to occur in the future to this field as ASDC matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this volume-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persistent block-level storage."/>
+ <xml-property name="indexedProps" value="volume-group-name,vnf-type,heat-stack-id,volume-group-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="volume-groups"/>
+ <xml-property name="uriTemplate" value="/volume-groups/volume-group/{volume-group-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="RelationshipList">
+ <xml-root-element name="relationship-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.onap.org.v1.Relationship"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Relationship">
+ <xml-root-element name="relationship"/>
+ <java-attributes>
+ <xml-element java-attribute="relatedTo" name="related-to" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate type of node."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to the object in A&amp;AI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.onap.org.v1.RelationshipData"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.onap.org.v1.RelatedToProperty"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedToProperty">
+ <xml-root-element name="related-to-property"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyKey" name="property-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Key part of a key/value pair"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value part of a key/value pair"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelationshipData">
+ <xml-root-element name="relationship-data"/>
+ <java-attributes>
+ <xml-element java-attribute="relationshipKey" name="relationship-key" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate an attribute."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipValue" name="relationship-value" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value of the attribute."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Complexes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions."/>
+ </xml-properties>
+ <xml-root-element name="complexes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="complex" name="complex" type="inventory.aai.onap.org.v1.Complex"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Complex">
+ <xml-root-element name="complex"/>
+ <java-attributes>
+ <xml-element java-attribute="physicalLocationId" name="physical-location-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for physical location, e.g., CLLI"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dataCenterCode" name="data-center-code" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Data center code which can be an alternate way to identify a complex"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Gamma complex name for LCP instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL of the keystone identity service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="physicalLocationType" name="physical-location-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type, e.g., central office, data center."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="street1" name="street1" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="street2" name="street2" type="java.lang.String"/>
+ <xml-element java-attribute="city" name="city" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="state" name="state" type="java.lang.String"/>
+ <xml-element java-attribute="postalCode" name="postal-code" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="country" name="country" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="region" name="region" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="latitude" name="latitude" type="java.lang.String"/>
+ <xml-element java-attribute="longitude" name="longitude" type="java.lang.String"/>
+ <xml-element java-attribute="elevation" name="elevation" type="java.lang.String"/>
+ <xml-element java-attribute="lata" name="lata" type="java.lang.String"/>
+ <xml-element java-attribute="ctagPools" name="ctag-pools" type="inventory.aai.onap.org.v1.CtagPools"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions."/>
+ <xml-property name="indexedProps" value="identity-url,data-center-code,complex-name,physical-location-id"/>
+ <xml-property name="uniqueProps" value="physical-location-id"/>
+ <xml-property name="container" value="complexes"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/complexes/complex/{physical-location-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CtagPools">
+ <xml-root-element name="ctag-pools"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagPool" name="ctag-pool" type="inventory.aai.onap.org.v1.CtagPool"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CtagPool">
+ <xml-root-element name="ctag-pool"/>
+ <java-attributes>
+ <xml-element java-attribute="targetPe" name="target-pe" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="The Target provider edge router"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the availability zone"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ctagPoolPurpose" name="ctag-pool-purpose" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Describes what the intended purpose of this pool is."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ctagValues" name="ctag-values" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Comma separated list of ctags"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="A collection of C tags (vlan tags) grouped for a specific purpose."/>
+ <xml-property name="indexedProps" value="availability-zone-name"/>
+ <xml-property name="dependentOn" value="complex"/>
+ <xml-property name="container" value="ctag-pools"/>
+ <xml-property name="uriTemplate" value="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Tenants">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack tenants."/>
+ </xml-properties>
+ <xml-root-element name="tenants"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tenant" name="tenant" type="inventory.aai.onap.org.v1.Tenant"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Tenant">
+ <xml-root-element name="tenant"/>
+ <java-attributes>
+ <xml-element java-attribute="tenantId" name="tenant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id relative to the cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tenantName" name="tenant-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Readable name of tenant"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vservers" name="vservers" type="inventory.aai.onap.org.v1.Vservers"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack tenant"/>
+ <xml-property name="nameProps" value="tenant-name"/>
+ <xml-property name="indexedProps" value="tenant-name,tenant-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="tenants"/>
+ <xml-property name="uriTemplate" value="/tenants/tenant/{tenant-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of virtual Servers, aka virtual machines or VMs."/>
+ </xml-properties>
+ <xml-root-element name="vservers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vserver" name="vserver" type="inventory.aai.onap.org.v1.Vserver"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vserver">
+ <xml-root-element name="vserver"/>
+ <java-attributes>
+ <xml-element java-attribute="vserverId" name="vserver-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for this vserver relative to its tenant"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverName" name="vserver-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of vserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverName2" name="vserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternative name of vserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverSelflink" name="vserver-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumes" name="volumes" type="inventory.aai.onap.org.v1.Volumes"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v1.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Servers, aka virtual machine or VM."/>
+ <xml-property name="nameProps" value="vserver-name"/>
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2"/>
+ <xml-property name="dependentOn" value="tenant"/>
+ <xml-property name="container" value="vservers"/>
+ <xml-property name="uriTemplate" value="/vservers/vserver/{vserver-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical interfaces."/>
+ </xml-properties>
+ <xml-root-element name="l-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lInterface" name="l-interface" type="inventory.aai.onap.org.v1.LInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LInterface">
+ <xml-root-element name="l-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name given to the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="E.g., CUSTOMER, UPLINK, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v6WanLinkIp" name="v6-wan-link-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="macaddr" name="macaddr" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="MAC address for the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.onap.org.v1.Vlans"/>
+ <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v1.SriovVfs"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v1.L3InterfaceIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v1.L3InterfaceIpv6AddressList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical interfaces, e.g., a vnic."/>
+ <xml-property name="indexedProps" value="macaddr,interface-id,interface-name,network-name"/>
+ <xml-property name="dependentOn" value="generic-vnf,newvce,p-interface,vserver,lag-interface,l-interface"/>
+ <xml-property name="container" value="l-interfaces"/>
+ <xml-property name="uriTemplate" value="/l-interfaces/l-interface/{interface-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SriovVfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of SR-IOV Virtual Functions."/>
+ </xml-properties>
+ <xml-root-element name="sriov-vfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sriovVf" name="sriov-vf" type="inventory.aai.onap.org.v1.SriovVf"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="SriovVf">
+ <xml-root-element name="sriov-vf"/>
+ <java-attributes>
+ <xml-element java-attribute="pciId" name="pci-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="PCI ID used to identify the sriov-vf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanFilter" name="vf-vlan-filter" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This metadata provides option to specify list of VLAN filters applied on VF to pass the traffic to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMacFilter" name="vf-mac-filter" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="When MAC filters are specified, VF-agent service configures VFs to do MAC level filtering before the traffic is passed to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanStrip" name="vf-vlan-strip" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="When this field is set to true, VF will configured to strip the outer TAG before the traffic is passed to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanAntiSpoofCheck" name="vf-vlan-anti-spoof-check" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option ensures anti VLAN spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMacAntiSpoofCheck" name="vf-mac-anti-spoof-check" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option ensures anti MAC spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMirrors" name="vf-mirrors" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This option defines the set of Mirror objects which essentially mirrors the traffic from source to set of collector VNF Ports."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfBroadcastAllow" name="vf-broadcast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows all broadcast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfUnknownMulticastAllow" name="vf-unknown-multicast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown multicast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfUnknownUnicastAllow" name="vf-unknown-unicast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown unicast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfInsertStag" name="vf-insert-stag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, instructs to insert outer tag after traffic comes out of VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfLinkStatus" name="vf-link-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This option is used to set the link status. Valid values as of 1607 are on, off, and auto."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="SR-IOV Virtual Function (not to be confused with virtual network function)"/>
+ <xml-property name="indexedProps" value="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id"/>
+ <xml-property name="dependentOn" value="l-interface"/>
+ <xml-property name="container" value="sriov-vfs"/>
+ <xml-property name="uriTemplate" value="/sriov-vfs/sriov-vf/{pci-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv4AddressList">
+ <xml-root-element name="l3-interface-ipv4-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv4Address" name="l3-interface-ipv4-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv4PrefixLength" name="l3-interface-ipv4-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 32 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv4 Address Range"/>
+ <xml-property name="indexedProps" value="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="vlan,l-interface"/>
+ <xml-property name="uriTemplate" value="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vlans">
+ <xml-root-element name="vlans"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vlan" name="vlan" type="inventory.aai.onap.org.v1.Vlan"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vlan">
+ <xml-root-element name="vlan"/>
+ <java-attributes>
+ <xml-element java-attribute="vlanInterface" name="vlan-interface" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="String that identifies the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanDescription" name="vlan-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to describe (the service associated with) the vlan"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v1.L3InterfaceIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v1.L3InterfaceIpv6AddressList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Definition of vlan"/>
+ <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner"/>
+ <xml-property name="dependentOn" value="l-interface"/>
+ <xml-property name="container" value="vlans"/>
+ <xml-property name="uriTemplate" value="/vlans/vlan/{vlan-interface}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv6AddressList">
+ <xml-root-element name="l3-interface-ipv6-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv6Address" name="l3-interface-ipv6-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv6PrefixLength" name="l3-interface-ipv6-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 128 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv6 Address Range"/>
+ <xml-property name="indexedProps" value="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="vlan,l-interface"/>
+ <xml-property name="uriTemplate" value="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Volumes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of ephemeral Block storage volumes."/>
+ </xml-properties>
+ <xml-root-element name="volumes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volume" name="volume" type="inventory.aai.onap.org.v1.Volume"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Volume">
+ <xml-root-element name="volume"/>
+ <java-attributes>
+ <xml-element java-attribute="volumeId" name="volume-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of block storage volume relative to the vserver."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeSelflink" name="volume-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Ephemeral Block storage volume."/>
+ <xml-property name="indexedProps" value="volume-id"/>
+ <xml-property name="dependentOn" value="vserver"/>
+ <xml-property name="container" value="volumes"/>
+ <xml-property name="uriTemplate" value="/volumes/volume/{volume-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Flavors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack flavors."/>
+ </xml-properties>
+ <xml-root-element name="flavors"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="flavor" name="flavor" type="inventory.aai.onap.org.v1.Flavor"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Flavor">
+ <xml-root-element name="flavor"/>
+ <java-attributes>
+ <xml-element java-attribute="flavorId" name="flavor-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Flavor id, expected to be unique across cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorName" name="flavor-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Flavor name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorVcpus" name="flavor-vcpus" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Number of CPUs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorRam" name="flavor-ram" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Amount of memory"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorDisk" name="flavor-disk" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Disk space"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorEphemeral" name="flavor-ephemeral" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Amount of ephemeral disk space"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorSwap" name="flavor-swap" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="amount of swap space allocation"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorIsPublic" name="flavor-is-public" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="whether flavor is available to all users or private to the tenant it was created in."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorSelflink" name="flavor-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorDisabled" name="flavor-disabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Boolean as to whether this flavor is no longer enabled"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack flavor."/>
+ <xml-property name="nameProps" value="flavor-name"/>
+ <xml-property name="indexedProps" value="flavor-name,flavor-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="flavors"/>
+ <xml-property name="uriTemplate" value="/flavors/flavor/{flavor-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Images">
+ <xml-properties>
+ <xml-property name="description" value="Collectio of Openstack images."/>
+ </xml-properties>
+ <xml-root-element name="images"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="image" name="image" type="inventory.aai.onap.org.v1.Image"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Image">
+ <xml-root-element name="image"/>
+ <java-attributes>
+ <xml-element java-attribute="imageId" name="image-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Image id, expected to be unique across cloud region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageName" name="image-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Image name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageArchitecture" name="image-architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operating system architecture."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageOsDistro" name="image-os-distro" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The common name of the operating system distribution in lowercase"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageOsVersion" name="image-os-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The operating system version as specified by the distributor."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageSelflink" name="image-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v1.Metadata"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack image."/>
+ <xml-property name="nameProps" value="image-name"/>
+ <xml-property name="indexedProps" value="application,image-name,application-vendor,image-id,application-version"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="images"/>
+ <xml-property name="uriTemplate" value="/images/image/{image-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Metadata">
+ <xml-properties>
+ <xml-property name="description" value="Collection of metadatum (key/value pairs)"/>
+ </xml-properties>
+ <xml-root-element name="metadata"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="metadatum" name="metadatum" type="inventory.aai.onap.org.v1.Metadatum"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Metadatum">
+ <xml-root-element name="metadatum"/>
+ <java-attributes>
+ <xml-element java-attribute="metaname" name="metaname" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="metaval" name="metaval" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Key/value pairs"/>
+ <xml-property name="indexedProps" value="metaname"/>
+ <xml-property name="dependentOn" value="tenant,image,service-instance,connector,model"/>
+ <xml-property name="container" value="metadata"/>
+ <xml-property name="uriTemplate" value="/metadata/metadatum/{metaname}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="DvsSwitches">
+ <xml-properties>
+ <xml-property name="description" value="Collection of digital virtual switch metadata used for vmWare VCEs and GenericVnfs."/>
+ </xml-properties>
+ <xml-root-element name="dvs-switches"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="dvsSwitch" name="dvs-switch" type="inventory.aai.onap.org.v1.DvsSwitch"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="DvsSwitch">
+ <xml-root-element name="dvs-switch"/>
+ <java-attributes>
+ <xml-element java-attribute="switchName" name="switch-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="DVS switch name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcenterUrl" name="vcenter-url" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL used to reach the vcenter"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Digital virtual switch metadata, used by SDN-C to configure VCEs. A&amp;AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&amp;AI. "/>
+ <xml-property name="indexedProps" value="vcenter-url,switch-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="dvs-switches"/>
+ <xml-property name="uriTemplate" value="/dvs-switches/dvs-switch/{switch-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="NetworkProfiles">
+ <xml-properties>
+ <xml-property name="description" value="Collection of network profiles"/>
+ </xml-properties>
+ <xml-root-element name="network-profiles"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkProfile" name="network-profile" type="inventory.aai.onap.org.v1.NetworkProfile"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NetworkProfile">
+ <xml-root-element name="network-profile"/>
+ <java-attributes>
+ <xml-element java-attribute="nmProfileName" name="nm-profile-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique name of network profile."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="communityString" name="community-string" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encrypted SNMP community string"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Network profile populated by SDN-GP for SNMP"/>
+ <xml-property name="indexedProps" value="nm-profile-name"/>
+ <xml-property name="container" value="network-profiles"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of compute hosts."/>
+ </xml-properties>
+ <xml-root-element name="pservers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pserver" name="pserver" type="inventory.aai.onap.org.v1.Pserver"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Pserver">
+ <xml-root-element name="pserver"/>
+ <java-attributes>
+ <xml-element java-attribute="hostname" name="hostname" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value from executing hostname on the compute node."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ptniiEquipName" name="ptnii-equip-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="PTNII name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="numberOfCpus" name="number-of-cpus" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Number of cpus"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="diskInGigabytes" name="disk-in-gigabytes" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Disk size, in GBs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ramInMegabytes" name="ram-in-megabytes" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="RAM size, in MBs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment type. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment vendor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment model. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="fqdn" name="fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Fully-qualified domain name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverSelflink" name="pserver-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to configure device, also used for troubleshooting and is IP used for traps generated by device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Serial number, may be queried"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverId" name="pserver-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of Pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="internetTopology" name="internet-topology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="internet topology of Pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverName2" name="pserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="alternative pserver name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="purpose of pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v1.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v1.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver."/>
+ <xml-property name="nameProps" value="pserver-name2"/>
+ <xml-property name="indexedProps" value="hostname,in-maint,pserver-id,pserver-name2"/>
+ <xml-property name="uniqueProps" value="hostname"/>
+ <xml-property name="container" value="pservers"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/pservers/pserver/{hostname}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical interfaces."/>
+ </xml-properties>
+ <xml-root-element name="p-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pInterface" name="p-interface" type="inventory.aai.onap.org.v1.PInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PInterface">
+ <xml-root-element name="p-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the physical interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portDescription" name="port-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Nature of the services and connectivity on this port."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v1.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Physical interface (e.g., nic)"/>
+ <xml-property name="indexedProps" value="interface-name"/>
+ <xml-property name="dependentOn" value="vpls-pe,pserver,pnf"/>
+ <xml-property name="container" value="p-interfaces"/>
+ <xml-property name="uriTemplate" value="/p-interfaces/p-interface/{interface-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LagInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregate interfaces."/>
+ </xml-properties>
+ <xml-root-element name="lag-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagInterface" name="lag-interface" type="inventory.aai.onap.org.v1.LagInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LagInterface">
+ <xml-root-element name="lag-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the link aggregate interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v1.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Link aggregate interface"/>
+ <xml-property name="indexedProps" value="interface-name"/>
+ <xml-property name="dependentOn" value="generic-vnf,pserver,vpls-pe"/>
+ <xml-property name="container" value="lag-interfaces"/>
+ <xml-property name="uriTemplate" value="/lag-interfaces/lag-interface/{interface-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="OamNetworks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of OAM networks, to be deprecated shortly. Do not use for new purposes. "/>
+ </xml-properties>
+ <xml-root-element name="oam-networks"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="oamNetwork" name="oam-network" type="inventory.aai.onap.org.v1.OamNetwork"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OamNetwork">
+ <xml-root-element name="oam-network"/>
+ <java-attributes>
+ <xml-element java-attribute="networkUuid" name="network-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the network. Unique across a cloud-region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="cvlan-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="OAM network, to be deprecated shortly. Do not use for new purposes. "/>
+ <xml-property name="nameProps" value="network-name"/>
+ <xml-property name="indexedProps" value="cvlan-tag,network-uuid,network-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="oam-networks"/>
+ <xml-property name="uriTemplate" value="/oam-networks/oam-network/{network-uuid}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="AvailabilityZones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of availability zones"/>
+ </xml-properties>
+ <xml-root-element name="availability-zones"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v1.AvailabilityZone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AvailabilityZone">
+ <xml-root-element name="availability-zone"/>
+ <java-attributes>
+ <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the availability zone. Unique across a cloud region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hypervisorType" name="hypervisor-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of hypervisor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="State that indicates whether the availability zone should be used, etc. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Availability zone, a collection of compute hosts/pservers"/>
+ <xml-property name="indexedProps" value="availability-zone-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="availability-zones"/>
+ <xml-property name="uriTemplate" value="/availability-zones/availability-zone/{availability-zone-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VirtualDataCenters">
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context"/>
+ </xml-properties>
+ <xml-root-element name="virtual-data-centers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="virtualDataCenter" name="virtual-data-center" type="inventory.aai.onap.org.v1.VirtualDataCenter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VirtualDataCenter">
+ <xml-root-element name="virtual-data-center"/>
+ <java-attributes>
+ <xml-element java-attribute="vdcId" name="vdc-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the vdc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdcName" name="vdc-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the virtual data center"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context"/>
+ <xml-property name="nameProps" value="vdc-name"/>
+ <xml-property name="indexedProps" value="vdc-name,vdc-id"/>
+ <xml-property name="container" value="virtual-data-centers"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Business">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for business related constructs"/>
+ </xml-properties>
+ <xml-root-element name="business"/>
+ <java-attributes>
+ <xml-element java-attribute="connectors" name="connectors" type="inventory.aai.onap.org.v1.Connectors"/>
+ <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.org.v1.Customers"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Connectors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets"/>
+ </xml-properties>
+ <xml-root-element name="connectors"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="connector" name="connector" type="inventory.aai.onap.org.v1.Connector"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Connector">
+ <xml-root-element name="connector"/>
+ <java-attributes>
+ <xml-element java-attribute="resourceInstanceId" name="resource-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of resource instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v1.Metadata"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets"/>
+ <xml-property name="indexedProps" value="resource-instance-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version"/>
+ <xml-property name="container" value="connectors"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/connectors/connector/{resource-instance-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Customers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information."/>
+ </xml-properties>
+ <xml-root-element name="customers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.onap.org.v1.Customer"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Customer">
+ <xml-root-element name="customer"/>
+ <java-attributes>
+ <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Global customer id used across ECOMP to uniquely identify customer."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber name, an alternate way to retrieve a customer."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSubscriptions" name="service-subscriptions" type="inventory.aai.onap.org.v1.ServiceSubscriptions"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="customer identifiers to provide linkage back to BSS information."/>
+ <xml-property name="nameProps" value="subscriber-name"/>
+ <xml-property name="indexedProps" value="subscriber-name,global-customer-id"/>
+ <xml-property name="uniqueProps" value="global-customer-id"/>
+ <xml-property name="container" value="customers"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/customers/customer/{global-customer-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceSubscriptions">
+ <xml-properties>
+ <xml-property name="description" value="Collection of objects that group service instances."/>
+ </xml-properties>
+ <xml-root-element name="service-subscriptions"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceSubscription" name="service-subscription" type="inventory.aai.onap.org.v1.ServiceSubscription"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceSubscription">
+ <xml-root-element name="service-subscription"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value defined by orchestration to identify this service across ECOMP."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstances" name="service-instances" type="inventory.aai.onap.org.v1.ServiceInstances">
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Object that group service instances."/>
+ <xml-property name="indexedProps" value="service-type"/>
+ <xml-property name="dependentOn" value="customer"/>
+ <xml-property name="container" value="service-subscriptions"/>
+ <xml-property name="uriTemplate" value="/service-subscriptions/service-subscription/{service-type}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceInstances">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service instances"/>
+ </xml-properties>
+ <xml-root-element name="service-instances"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceInstance" name="service-instance" type="inventory.aai.onap.org.v1.ServiceInstance"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceInstance">
+ <xml-root-element name="service-instance"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceInstanceId" name="service-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Uniquely identifies this instance of a service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v1.Metadata"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Instance of a service"/>
+ <xml-property name="indexedProps" value="service-instance-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version"/>
+ <xml-property name="uniqueProps" value="service-instance-id"/>
+ <xml-property name="dependentOn" value="service-subscription"/>
+ <xml-property name="container" value="service-instances"/>
+ <xml-property name="uriTemplate" value="/service-instances/service-instance/{service-instance-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceDesignAndCreation">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for objects managed by ASDC"/>
+ </xml-properties>
+ <xml-root-element name="service-design-and-creation"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfImages" name="vnf-images" type="inventory.aai.onap.org.v1.VnfImages"/>
+ <xml-element java-attribute="services" name="services" type="inventory.aai.onap.org.v1.Services"/>
+ <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.onap.org.v1.ServiceCapabilities"/>
+ <xml-element java-attribute="models" name="models" type="inventory.aai.onap.org.v1.Models"/>
+ <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.onap.org.v1.NamedQueries"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VnfImages">
+ <xml-properties>
+ <xml-property name="description" value="Collection of image objects that pertain to a VNF that doesn't have associated vservers. This is a kludge."/>
+ </xml-properties>
+ <xml-root-element name="vnf-images"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfImage" name="vnf-image" type="inventory.aai.onap.org.v1.VnfImage"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VnfImage">
+ <xml-root-element name="vnf-image"/>
+ <java-attributes>
+ <xml-element java-attribute="attUuid" name="att-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of this asset"/>
+ <xml-property name="dbAlias" value="vnf-image-uuid"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Image object that pertain to a VNF that doesn't have associated vservers. This is a kludge."/>
+ <xml-property name="indexedProps" value="application,att-uuid,application-vendor,application-version"/>
+ <xml-property name="uniqueProps" value="att-uuid"/>
+ <xml-property name="container" value="vnf-images"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/vnf-images/vnf-image/{att-uuid}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Services">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service model definitions. Likely to be deprecated in favor of models from ASDC."/>
+ </xml-properties>
+ <xml-root-element name="services"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.onap.org.v1.Service"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Service">
+ <xml-root-element name="service"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description of the service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="service version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Stand-in for service model definitions. Likely to be deprecated in favor of models from ASDC."/>
+ <xml-property name="indexedProps" value="service-description,service-id"/>
+ <xml-property name="container" value="services"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/services/service/{service-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceCapabilities">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service capabilities."/>
+ </xml-properties>
+ <xml-root-element name="service-capabilities"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceCapability" name="service-capability" type="inventory.aai.onap.org.v1.ServiceCapability"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceCapability">
+ <xml-root-element name="service-capability"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded and clients should expect changes to occur in the future to this field as ASDC matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Early definition of server/resource pairings, likely to be replaced by models. No new use should be made of this."/>
+ <xml-property name="indexedProps" value="service-type,vnf-type"/>
+ <xml-property name="container" value="service-capabilities"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Network">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for network inventory resources."/>
+ </xml-properties>
+ <xml-root-element name="network"/>
+ <java-attributes>
+ <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.onap.org.v1.LogicalLinks"/>
+ <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.onap.org.v1.SitePairSets"/>
+ <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v1.VpnBindings"/>
+ <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.onap.org.v1.VplsPes"/>
+ <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.onap.org.v1.MulticastConfigurations"/>
+ <xml-element java-attribute="vces" name="vces" type="inventory.aai.onap.org.v1.Vces"/>
+ <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.onap.org.v1.Vnfcs"/>
+ <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.onap.org.v1.L3Networks"/>
+ <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v1.NetworkPolicies"/>
+ <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.onap.org.v1.GenericVnfs"/>
+ <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.onap.org.v1.LagLinks"/>
+ <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.onap.org.v1.Newvces"/>
+ <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v1.Pnfs"/>
+ <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.onap.org.v1.PhysicalLinks"/>
+ <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.onap.org.v1.IpsecConfigurations"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LogicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical connections"/>
+ </xml-properties>
+ <xml-root-element name="logical-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.onap.org.v1.LogicalLink"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LogicalLink">
+ <xml-root-element name="logical-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of logical link, e.g., evc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4, v6, or ds for dual stack (should be att-ip-version)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routingProtocol" name="routing-protocol" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="For example, static or BGP"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points"/>
+ <xml-property name="indexedProps" value="link-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version"/>
+ <xml-property name="container" value="logical-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/logical-links/logical-link/{link-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SitePairSets">
+ <xml-properties>
+ <xml-property name="description" value="Collection of sets of instances for probes related to generic-vnf"/>
+ </xml-properties>
+ <xml-root-element name="site-pair-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePairSet" name="site-pair-set" type="inventory.aai.onap.org.v1.SitePairSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SitePairSet">
+ <xml-root-element name="site-pair-set"/>
+ <java-attributes>
+ <xml-element java-attribute="sitePairSetId" name="site-pair-set-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of site pair set."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routingInstances" name="routing-instances" type="inventory.aai.onap.org.v1.RoutingInstances"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Set of instances for probes used to measure service level agreements"/>
+ <xml-property name="indexedProps" value="site-pair-set-id"/>
+ <xml-property name="uniqueProps" value="site-pair-set-id"/>
+ <xml-property name="container" value="site-pair-sets"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/site-pair-sets/site-pair-set/{site-pair-set-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="RoutingInstances">
+ <xml-properties>
+ <xml-property name="description" value="set of probes related to generic-vnf routing instance"/>
+ </xml-properties>
+ <xml-root-element name="routing-instances"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routingInstance" name="routing-instance" type="inventory.aai.onap.org.v1.RoutingInstance"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RoutingInstance">
+ <xml-root-element name="routing-instance"/>
+ <java-attributes>
+ <xml-element java-attribute="routingInstanceId" name="routing-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of routing instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="rpmOwner" name="rpm-owner" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="rpm owner"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sitePairs" name="site-pairs" type="inventory.aai.onap.org.v1.SitePairs"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="routing-instance-id"/>
+ <xml-property name="uniqueProps" value="routing-instance-id"/>
+ <xml-property name="dependentOn" value="site-pair-set"/>
+ <xml-property name="container" value="routing-instances"/>
+ <xml-property name="uriTemplate" value="/routing-instances/routing-instance/{routing-instance-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SitePairs">
+ <xml-properties>
+ <xml-property name="description" value="probe within a set"/>
+ </xml-properties>
+ <xml-root-element name="site-pairs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePair" name="site-pair" type="inventory.aai.onap.org.v1.SitePair"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SitePair">
+ <xml-root-element name="site-pair"/>
+ <java-attributes>
+ <xml-element java-attribute="sitePairId" name="site-pair-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceIp" name="source-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prefix address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationIp" name="destination-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prefix address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip version, v4, v6"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="classesOfService" name="classes-of-service" type="inventory.aai.onap.org.v1.ClassesOfService"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vpn-id,site-pair-id"/>
+ <xml-property name="uniqueProps" value="site-pair-id"/>
+ <xml-property name="dependentOn" value="routing-instance"/>
+ <xml-property name="container" value="site-pairs"/>
+ <xml-property name="uriTemplate" value="/site-pairs/site-pair/{site-pair-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ClassesOfService">
+ <xml-properties>
+ <xml-property name="description" value="class-of-service of probe"/>
+ </xml-properties>
+ <xml-root-element name="classes-of-service"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="classOfService" name="class-of-service" type="inventory.aai.onap.org.v1.ClassOfService"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ClassOfService">
+ <xml-root-element name="class-of-service"/>
+ <java-attributes>
+ <xml-element java-attribute="cos" name="cos" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="probeId" name="probe-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="probeType" name="probe-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="type of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="cos"/>
+ <xml-property name="dependentOn" value="site-pair"/>
+ <xml-property name="container" value="classes-of-service"/>
+ <xml-property name="uriTemplate" value="/classes-of-service/class-of-service/{cos}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VpnBindings">
+ <xml-root-element name="vpn-bindings"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vpnBinding" name="vpn-binding" type="inventory.aai.onap.org.v1.VpnBinding"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VpnBinding">
+ <xml-root-element name="vpn-binding"/>
+ <java-attributes>
+ <xml-element java-attribute="vpnId" name="vpn-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="VPN ID, globally unique within A&amp;AI"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnName" name="vpn-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="VPN Name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="globalRouteTarget" name="global-route-target" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Number used to identify a VPN, globally unique in the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnPlatform" name="vpn-platform" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the platform associated with the VPN example AVPN, Mobility"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList">
+ <xml-properties>
+ <xml-property name="description" value="l3-networks relate to vpn-bindings"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPN binding"/>
+ <xml-property name="nameProps" value="vpn-name"/>
+ <xml-property name="indexedProps" value="vpn-name,vpn-id,global-route-target"/>
+ <xml-property name="uniqueProps" value="vpn-id"/>
+ <xml-property name="container" value="vpn-bindings"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vpn-bindings/vpn-binding/{vpn-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VplsPes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VPLS Provider Edge routers"/>
+ </xml-properties>
+ <xml-root-element name="vpls-pes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vplsPe" name="vpls-pe" type="inventory.aai.onap.org.v1.VplsPe"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VplsPe">
+ <xml-root-element name="vpls-pe"/>
+ <java-attributes>
+ <xml-element java-attribute="equipmentName" name="equipment-name" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (v4-loopback0-ip-address)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value, e.g., VPLS-PE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Temporary location for stag to get to VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v1.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v1.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPLS Provider Edge routers."/>
+ <xml-property name="indexedProps" value="prov-status,equipment-name"/>
+ <xml-property name="container" value="vpls-pes"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vpls-pes/vpls-pe/{equipment-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="MulticastConfigurations">
+ <xml-properties>
+ <xml-property name="description" value="multicast configuration of generic-vnf ip-address"/>
+ </xml-properties>
+ <xml-root-element name="multicast-configurations"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="multicastConfiguration" name="multicast-configuration" type="inventory.aai.onap.org.v1.MulticastConfiguration"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="MulticastConfiguration">
+ <xml-root-element name="multicast-configuration"/>
+ <java-attributes>
+ <xml-element java-attribute="multicastConfigurationId" name="multicast-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of multicast configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="multicastProtocol" name="multicast-protocol" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="protocol of multicast configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="rpType" name="rp-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="rp type of multicast configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="multicast-configuration-id"/>
+ <xml-property name="uniqueProps" value="multicast-configuration-id"/>
+ <xml-property name="container" value="multicast-configurations"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Virtual Customer Edge Routers, used specifically for Gamma. This object is deprecated."/>
+ </xml-properties>
+ <xml-root-element name="vces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vce" name="vce" type="inventory.aai.onap.org.v1.Vce"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vce">
+ <xml-root-element name="vce"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded and clients should expect changes to occur in the future to this field as ASDC matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service from ASDC. Expect this to change as ASDC matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="License key"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network role being played by this VNF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpeId" name="vpe-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of VPE connected to this VCE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v6VceWanAddress" name="v6-vce-wan-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Valid v6 IP address for the WAN Link on this router. Implied length of /64."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure vce, also used for troubleshooting and is IP used for traps generated by VCE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroups" name="port-groups" type="inventory.aai.onap.org.v1.PortGroups"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Customer Edge Router, used specifically for Gamma. This object is deprecated."/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="container" value="vces"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="extends" value="vnf"/>
+ <xml-property name="uriTemplate" value="/network/vces/vce/{vnf-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PortGroups">
+ <xml-root-element name="port-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="portGroup" name="port-group" type="inventory.aai.onap.org.v1.PortGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PortGroup">
+ <xml-root-element name="port-group"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceId" name="interface-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkName" name="neutron-network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network name of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupId" name="port-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for port group in vmware"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupName" name="port-group-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Likely to duplicate value of neutron network name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="switchName" name="switch-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="DVS or standard switch name (should be non-null for port groups associated with DVS)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlanTags" name="cvlan-tags" type="inventory.aai.onap.org.v1.CvlanTags"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Used to capture the network interfaces of this VCE"/>
+ <xml-property name="nameProps" value="port-group-name"/>
+ <xml-property name="indexedProps" value="port-group-id,heat-stack-id,interface-id,interface-name,switch-name"/>
+ <xml-property name="dependentOn" value="vce"/>
+ <xml-property name="container" value="port-groups"/>
+ <xml-property name="uriTemplate" value="/port-groups/port-group/{interface-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CvlanTags">
+ <xml-root-element name="cvlan-tags"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cvlanTagEntry" name="cvlan-tag-entry" type="inventory.aai.onap.org.v1.CvlanTagEntry"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CvlanTagEntry">
+ <xml-root-element name="cvlan-tag-entry"/>
+ <java-attributes>
+ <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="See mis-na-virtualization-platform.yang"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="dependentOn" value="port-group"/>
+ <xml-property name="indexedProps" value="cvlan-tag"/>
+ <xml-property name="container" value="cvlan-tags"/>
+ <xml-property name="uriTemplate" value="/cvlan-tags/cvlan-tag/{cvlan-tag-cvlan-tag}"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="Vnfcs">
+ <xml-properties>
+ <xml-property name="description" value="virtual network components associated with a vserver from application controller."/>
+ </xml-properties>
+ <xml-root-element name="vnfcs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfc" name="vnfc" type="inventory.aai.onap.org.v1.Vnfc"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vnfc">
+ <xml-root-element name="vnfc"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfcName" name="vnfc-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vnfc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfcFunctionCode" name="vnfc-function-code" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="function code"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfcType" name="vnfc-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="type"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="prov status of this vnfc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by APP-C"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4OamVip" name="ipaddress-v4-oam-vip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Oam V4 vip address of this vnfc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vnfc-name,prov-status,vnfc-type,vnfc-function-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled"/>
+ <xml-property name="container" value="vnfcs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vnfcs/vnfc/{vnfc-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3Networks">
+ <xml-root-element name="l3-networks"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3Network" name="l3-network" type="inventory.aai.onap.org.v1.L3Network"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="L3Network">
+ <xml-root-element name="l3-network"/>
+ <java-attributes>
+ <xml-element java-attribute="networkId" name="network-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Network ID, should be uuid. Unique across A&amp;AI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network, governed by some naming convention.."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkType" name="network-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the network - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkRole" name="network-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role the network plans - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkTechnology" name="network-technology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network technology - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isBoundToVpn" name="is-bound-to-vpn" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Set to true if bound to VPN"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service from ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkRoleInstance" name="network-role-instance" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="network role instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailNetworkFqdn" name="contrail-network-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contrail FQDN for the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnets" name="subnets" type="inventory.aai.onap.org.v1.Subnets"/>
+ <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.onap.org.v1.CtagAssignments"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList">
+ <xml-properties>
+ <xml-property name="description" value="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Generic network definition"/>
+ <xml-property name="nameProps" value="network-name"/>
+ <xml-property name="indexedProps" value="heat-stack-id,service-id,network-id,network-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-network-fqdn,neutron-network-id"/>
+ <xml-property name="uniqueProps" value="network-id"/>
+ <xml-property name="container" value="l3-networks"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/l3-networks/l3-network/{network-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="NetworkPolicies">
+ <xml-root-element name="network-policies"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkPolicy" name="network-policy" type="inventory.aai.onap.org.v1.NetworkPolicy"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="NetworkPolicy">
+ <xml-root-element name="network-policy"/>
+ <java-attributes>
+ <xml-element java-attribute="networkPolicyId" name="network-policy-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID representing unique key to this instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkPolicyFqdn" name="network-policy-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contrail FQDN for the policy"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID for the openStack Heat instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="nameProps" value="network-policy-fqdn"/>
+ <xml-property name="indexedProps" value="network-policy-id,network-policy-fqdn"/>
+ <xml-property name="uniqueProps" value="network-policy-id"/>
+ <xml-property name="container" value="network-policies"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/network-policies/network-policy/{network-policy-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="CtagAssignments">
+ <xml-root-element name="ctag-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagAssignment" name="ctag-assignment" type="inventory.aai.onap.org.v1.CtagAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CtagAssignment">
+ <xml-root-element name="ctag-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="id."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vlan-id-inner"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="ctag-assignments"/>
+ <xml-property name="uriTemplate" value="/ctag-assignments/ctag-assignment/{vlan-id-inner}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Subnets">
+ <xml-root-element name="subnets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="subnet" name="subnet" type="inventory.aai.onap.org.v1.Subnet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Subnet">
+ <xml-root-element name="subnet"/>
+ <java-attributes>
+ <xml-element java-attribute="subnetId" name="subnet-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Subnet ID, should be UUID."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of this subnet"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="gatewayAddress" name="gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="gateway ip address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkStartAddress" name="network-start-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="network start address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cidrMask" name="cidr-mask" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="cidr mask"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="dhcpEnabled" name="dhcp-enabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="dhcp enabled"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpStart" name="dhcp-start" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the start address reserved for use by dhcp"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpEnd" name="dhcp-end" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the last address reserved for use by dhcp"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="subnet-id,neutron-subnet-id"/>
+ <xml-property name="uniqueProps" value="subnet-id"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="subnets"/>
+ <xml-property name="uriTemplate" value="/subnets/subnet/{subnet-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GenericVnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VNFs"/>
+ </xml-properties>
+ <xml-root-element name="generic-vnfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="genericVnf" name="generic-vnf" type="inventory.aai.onap.org.v1.GenericVnf"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="GenericVnf">
+ <xml-root-element name="generic-vnf"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded and clients should expect changes to occur in the future to this field as ASDC matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service from ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="License key"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, used by MSO."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of managed by ATT or customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nmLanV6Address" name="nm-lan-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 Loopback address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementV6Address" name="management-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 management address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpu" name="vcpu" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpuUnits" name="vcpu-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vcpu, used for VNFs with no vservers/flavors"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemory" name="vmemory" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemoryUnits" name="vmemory-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vmemory, used for VNFs with no vservers/flavors"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdisk" name="vdisk" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdiskUnits" name="vdisk-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vdisk, used for VNFs with no vservers/flavors"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="details regarding the generic-vnf operation"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether generic-vnf access uses SSH"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementAssignmentGroupUuid" name="entitlement-assignment-group-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the Entitlement group used for licensing VNFs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the specific entitlement resource"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseAssignmentGroupUuid" name="license-assignment-group-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the license assignment group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKeyUuid" name="license-key-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the actual license resource"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v1.LInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v1.LagInterfaces"/>
+ <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.onap.org.v1.VfModules"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="General purpose VNF"/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="container" value="generic-vnfs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="extends" value="vnf"/>
+ <xml-property name="uriTemplate" value="/network/generic-vnfs/generic-vnf/{vnf-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VfModules">
+ <xml-properties>
+ <xml-property name="description" value="Collection of vf-modules, a deployment unit of VNFCs"/>
+ </xml-properties>
+ <xml-root-element name="vf-modules"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vfModule" name="vf-module" type="inventory.aai.onap.org.v1.VfModule"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VfModule">
+ <xml-root-element name="vf-module"/>
+ <java-attributes>
+ <xml-element java-attribute="vfModuleId" name="vf-module-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vf-module."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfModuleName" name="vf-module-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of vf-module"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="orchestration status of this vf-module, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isBaseVfModule" name="is-base-vf-module" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is base vf module"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the Contrail unique ID for a service-instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="a deployment unit of VNFCs"/>
+ <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-service-instance-fqdn"/>
+ <xml-property name="dependentOn" value="generic-vnf"/>
+ <xml-property name="container" value="vf-modules"/>
+ <xml-property name="uriTemplate" value="/vf-modules/vf-module/{vf-module-id}"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="LagLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregation connections"/>
+ </xml-properties>
+ <xml-root-element name="lag-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagLink" name="lag-link" type="inventory.aai.onap.org.v1.LagLink"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LagLink">
+ <xml-root-element name="lag-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Alphabetical concatenation of lag-interface names"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="LAG links can connect lag-interfaces"/>
+ <xml-property name="indexedProps" value="link-name"/>
+ <xml-property name="container" value="lag-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/lag-links/lag-link/{link-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Newvces">
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce."/>
+ </xml-properties>
+ <xml-root-element name="newvces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="newvce" name="newvce" type="inventory.aai.onap.org.v1.Newvce"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Newvce">
+ <xml-root-element name="newvce"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId2" name="vnf-id2" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF, can't use same attribute name right now until we promote this new object"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded and clients should expect changes to occur in the future to this field as ASDC matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="License key"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (v4-loopback0-ip-address)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v1.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce."/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2"/>
+ <xml-property name="uniqueProps" value="vnf-id2"/>
+ <xml-property name="container" value="newvces"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/newvces/newvce/{vnf-id2}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Physical Network Functions."/>
+ </xml-properties>
+ <xml-root-element name="pnfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pnf" name="pnf" type="inventory.aai.onap.org.v1.Pnf"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Pnf">
+ <xml-root-element name="pnf"/>
+ <java-attributes>
+ <xml-element java-attribute="pnfName" name="pnf-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique name of Physical Network Function."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfName2" name="pnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="name of Physical Network Function."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfName2Source" name="pnf-name2-source" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="source of name2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfId" name="pnf-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="id of pnf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment type. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment vendor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment model. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of managed by ATT or customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Oam" name="ipaddress-v4-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ipv4-oam-address with new naming convention for IP addresses"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v1.PInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE."/>
+ <xml-property name="indexedProps" value="pnf-name"/>
+ <xml-property name="nameProps" value="pnf-name"/>
+ <xml-property name="uniqueProps" value="pnf-name"/>
+ <xml-property name="container" value="pnfs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/pnfs/pnf/{pnf-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PhysicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces"/>
+ </xml-properties>
+ <xml-root-element name="physical-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="physicalLink" name="physical-link" type="inventory.aai.onap.org.v1.PhysicalLink"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PhysicalLink">
+ <xml-root-element name="physical-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Circuit it"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dualMode" name="dual-mode" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Dual access mode (e.g., primary, secondary"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces"/>
+ <xml-property name="indexedProps" value="circuit-id,link-name"/>
+ <xml-property name="alternateKeys1" value="circuit-id"/>
+ <xml-property name="container" value="physical-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/physical-links/physical-link/{link-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VigServers">
+ <xml-root-element name="vig-servers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vigServer" name="vig-server" type="inventory.aai.onap.org.v1.VigServer"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VigServer">
+ <xml-root-element name="vig-server"/>
+ <java-attributes>
+ <xml-element java-attribute="vigAddressType" name="vig-address-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether the VIG is for AVPN or INTERNET"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV4Vig" name="ipaddress-v4-vig" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 IP of the vig server"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV6Vig" name="ipaddress-v6-vig" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 IP of the vig server"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607"/>
+ <xml-property name="indexedProps" value="vig-address-type"/>
+ <xml-property name="dependentOn" value="ipsec-configuration"/>
+ <xml-property name="container" value="vig-servers"/>
+ <xml-property name="uriTemplate" value="/vig-servers/vig-server/{vig-address-type}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="IpsecConfigurations">
+ <xml-root-element name="ipsec-configurations"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipsecConfiguration" name="ipsec-configuration" type="inventory.aai.onap.org.v1.IpsecConfiguration"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IpsecConfiguration">
+ <xml-root-element name="ipsec-configuration"/>
+ <java-attributes>
+ <xml-element java-attribute="ipsecConfigurationId" name="ipsec-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of this configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedVigAddressType" name="requested-vig-address-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicate the type of VIG server like AVPN, INTERNET, BOTH"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedEncryptionStrength" name="requested-encryption-strength" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encryption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedDmzType" name="requested-dmz-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ATT can offer a shared DMZ or a DMZ specific to a customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sharedDmzNetworkAddress" name="shared-dmz-network-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network address of shared DMZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedCustomerName" name="requested-customer-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="If the DMZ is a custom DMZ, this field will indicate the customer information"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikeVersion" name="ike-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="can be 1 or 2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1Authentication" name="ikev1-authentication" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contains values like md5, sha1, sha256, sha384"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1Encryption" name="ikev1-encryption" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1DhGroup" name="ikev1-dh-group" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Diffie-Hellman group like DH-GROUP2, DH-GROUP5, DH-GROUP14"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1AmGroupId" name="ikev1-am-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group name defined in VIG for clients using aggressive mode"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1AmPassword" name="ikev1-am-password" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="pre-shared key for the above group name "/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1SaLifetime" name="ikev1-sa-lifetime" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Lifetime for IKEv1 SA"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecAuthentication" name="ipsec-authentication" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="md5, sha1, sha256, sha384"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecEncryption" name="ipsec-encryption" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecSaLifetime" name="ipsec-sa-lifetime" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Life time for IPSec SA"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecPfs" name="ipsec-pfs" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="enable PFS or not"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="xauthUserId" name="xauth-userid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="user ID for xAuth, sm-user,ucpeHostName,nmteHostName"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="xauthUserPassword" name="xauth-user-password" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encrypted using the Juniper $9$ algorithm"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dpdInterval" name="dpd-interval" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The time between DPD probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dpdFrequency" name="dpd-frequency" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Maximum number of DPD before claiming the tunnel is down"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.onap.org.v1.VigServers"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C"/>
+ <xml-property name="indexedProps" value="ipsec-configuration-id"/>
+ <xml-property name="nameProps" value="ipsec-configuration-id"/>
+ <xml-property name="uniqueProps" value="ipsec-configuration-id"/>
+ <xml-property name="container" value="ipsec-configurations"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="NotificationEvent">
+ <xml-root-element name="notification-event"/>
+ <java-attributes>
+ <xml-element java-attribute="cambriaPartition" name="cambria.partition" type="java.lang.String"/>
+ <xml-element java-attribute="eventHeader" name="event-header" type="inventory.aai.onap.org.v1.NotificationEventHeader"/>
+ <xml-any-element java-attribute="entity"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="NotificationEventHeader">
+ <xml-root-element name="notification-event-header"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" type="java.lang.String"/>
+ <xml-element java-attribute="timestamp" name="timestamp" type="java.lang.String"/>
+ <xml-element java-attribute="sourceName" name="source-name" type="java.lang.String"/>
+ <xml-element java-attribute="domain" name="domain" type="java.lang.String"/>
+ <xml-element java-attribute="sequenceNumber" name="sequence-number" type="java.lang.String"/>
+ <xml-element java-attribute="severity" name="severity" type="java.lang.String"/>
+ <xml-element java-attribute="eventType" name="event-type" type="java.lang.String"/>
+ <xml-element java-attribute="version" name="version" type="java.lang.String"/>
+ <xml-element java-attribute="action" name="action" type="java.lang.String"/>
+ <xml-element java-attribute="entityType" name="entity-type" type="java.lang.String"/>
+ <xml-element java-attribute="topEntityType" name="top-entity-type" type="java.lang.String"/>
+ <xml-element java-attribute="entityLink" name="entity-link" type="java.lang.String"/>
+ <xml-element java-attribute="status" name="status" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="AaiInternal">
+ <xml-root-element name="aai-internal"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="reservedPropNames" name="reserved-prop-names" type="inventory.aai.onap.org.v1.ReservedPropNames"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.onap.org.v1.EdgePropNames"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="ReservedPropNames">
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define some reserved properties of a vertex"/>
+ <xml-property name="uniqueProps" value="aai-unique-key"/>
+ <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type,aai-uri"/>
+ </xml-properties>
+ <xml-root-element name="reserved-prop-names"/>
+ <java-attributes>
+ <xml-element java-attribute="lastModSourceOfTruth" name="last-mod-source-of-truth" type="java.lang.String"/>
+ <xml-element java-attribute="aaiNodeType" name="aai-node-type" type="java.lang.String"/>
+ <xml-element java-attribute="aaiCreatedTs" name="aai-created-ts" type="java.lang.Long"/>
+ <xml-element java-attribute="aaiUniqueKey" name="aai-unique-key" type="java.lang.String"/>
+ <xml-element java-attribute="aaiLastModTs" name="aai-last-mod-ts" type="java.lang.Long"/>
+ <xml-element java-attribute="sourceOfTruth" name="source-of-truth" type="java.lang.String"/>
+ <xml-element java-attribute="aaiUri" name="aai-uri" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="EdgePropNames">
+ <!-- NOTE that the names of these properties are not consistent and are in mixed case and hyphen case for now -->
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define the properties of an edge and interpret the map EdgeRules"/>
+ <xml-property name="edgeInfo" value="edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV"/>
+ </xml-properties>
+ <xml-root-element name="edge-prop-names"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeLabel" name="edgeLabel" type="java.lang.String"/>
+ <xml-element java-attribute="direction" name="direction" type="java.lang.String"/>
+ <xml-element java-attribute="multiplicityRule" name="multiplicityRule" type="java.lang.String"/>
+ <xml-element java-attribute="containsOtherV" name="contains-other-v" type="java.lang.String"/>
+ <xml-element java-attribute="deleteOtherV" name="delete-other-v" type="java.lang.String"/>
+ <xml-element java-attribute="svcinfra" name="SVC-INFRA" type="java.lang.String"/>
+ <xml-element java-attribute="preventDelete" name="prevent-delete" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Models">
+ <xml-properties>
+ <xml-property name="description" value="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models"/>
+ </xml-properties>
+ <xml-root-element name="models"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="model" name="model" type="inventory.aai.onap.org.v1.Model"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Model">
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models"/>
+ <xml-property name="nameProps" value="model-name,model-type"/>
+ <xml-property name="indexedProps" value="model-name-version-id,model-type,model-name,model-id,model-version"/>
+ <xml-property name="alternateKeys1" value="model-id,model-version"/>
+ <xml-property name="uniqueProps" value="model-name-version-id"/>
+ <xml-property name="container" value="models"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/models/model/{model-name-version-id}"/>
+ </xml-properties>
+ <xml-root-element name="model"/>
+ <java-attributes>
+ <xml-element java-attribute="modelNameVersionId" name="model-name-version-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the model, which can change from version to version."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelId" name="model-id" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Invariant unique ID which does not change from version to version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v1.ModelElements"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v1.Metadata"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelElements">
+ <xml-root-element name="model-elements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelElement" name="model-element" type="inventory.aai.onap.org.v1.ModelElement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelElement">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model."/>
+ <xml-property name="uniqueProps" value="model-element-uuid"/>
+ <xml-property name="indexedProps" value="model-element-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="model-elements"/>
+ <xml-property name="uriTemplate" value="/model-elements/model-element/{model-element-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="model-element"/>
+ <java-attributes>
+ <xml-element java-attribute="modelElementUuid" name="model-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="newDataDelFlag" name="new-data-del-flag" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates whether this element was created as part of instantiation from this model"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cardinality" name="cardinality" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="How many of this type of element are required/allowed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="linkagePoints" name="linkage-points" type="java.lang.String">
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v1.ModelElements">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelConstraints" name="model-constraints" type="inventory.aai.onap.org.v1.ModelConstraints">
+ <xml-properties>
+ <xml-property name="description" value="Describes new constraints on this model element that are not part of that model's definition"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelConstraints">
+ <xml-root-element name="model-constraints"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelConstraint" name="model-constraint" type="inventory.aai.onap.org.v1.ModelConstraint"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelConstraint">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="model-constraint-uuid"/>
+ <xml-property name="indexedProps" value="model-constraint-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="model-constraints"/>
+ <xml-property name="uriTemplate" value="/model-constraints/model-constraint/{model-constraint-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="model-constraint"/>
+ <java-attributes>
+ <xml-element java-attribute="modelConstraintUuid" name="model-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constrainedElementSetUuidToReplace" name="constrained-element-set-uuid-to-replace" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="constrainedElementSets" name="constrained-element-sets" type="inventory.aai.onap.org.v1.ConstrainedElementSets"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ConstrainedElementSets">
+ <xml-root-element name="constrained-element-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="constrainedElementSet" name="constrained-element-set" type="inventory.aai.onap.org.v1.ConstrainedElementSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ConstrainedElementSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="constrained-element-set-uuid"/>
+ <xml-property name="indexedProps" value="constrained-element-set-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="constrained-element-sets"/>
+ <xml-property name="uriTemplate" value="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="constrained-element-set"/>
+ <java-attributes>
+ <xml-element java-attribute="constrainedElementSetUuid" name="constrained-element-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="checkType" name="check-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="elementChoiceSets" name="element-choice-sets" type="inventory.aai.onap.org.v1.ElementChoiceSets"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ElementChoiceSets">
+ <xml-root-element name="element-choice-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="elementChoiceSet" name="element-choice-set" type="inventory.aai.onap.org.v1.ElementChoiceSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ElementChoiceSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="element-choice-set-uuid"/>
+ <xml-property name="indexedProps" value="element-choice-set-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="element-choice-sets"/>
+ <xml-property name="uriTemplate" value="/element-choice-sets/element-choice-set/{element-choice-set-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="element-choice-set"/>
+ <java-attributes>
+ <xml-element java-attribute="elementChoiceSetUuid" name="element-choice-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="elementChoiceSetName" name="element-choice-set-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="cardinality" name="cardinality" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v1.ModelElements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueries">
+ <xml-root-element name="named-queries"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQuery" name="named-query" type="inventory.aai.onap.org.v1.NamedQuery"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQuery">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="nameProps" value="named-query-name"/>
+ <xml-property name="uniqueProps" value="named-query-uuid"/>
+ <xml-property name="indexedProps" value="named-query-uuid,named-query-name"/>
+ <xml-property name="container" value="named-queries"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/named-queries/named-query/{named-query-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="named-query"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQueryUuid" name="named-query-uuid" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="namedQueryName" name="named-query-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryVersion" name="named-query-version" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="requiredInputParams" name="required-input-param" type="java.lang.String">
+ <xml-element-wrapper name="required-input-params"/>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.onap.org.v1.NamedQueryElements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueryElements">
+ <xml-root-element name="named-query-elements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQueryElement" name="named-query-element" type="inventory.aai.onap.org.v1.NamedQueryElement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueryElement">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="named-query-element-uuid"/>
+ <xml-property name="indexedProps" value="named-query-element-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="named-query-elements"/>
+ <xml-property name="uriTemplate" value="/named-query-elements/named-query-element/{named-query-element-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="named-query-element"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQueryElementUuid" name="named-query-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="propertyLimitDesc" name="property-limit-desc" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.onap.org.v1.NamedQueryElements"/>
+ <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.onap.org.v1.RelatedLookups"/>
+ <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.onap.org.v1.PropertyConstraints"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedLookups">
+ <xml-root-element name="related-lookups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedLookup" name="related-lookup" type="inventory.aai.onap.org.v1.RelatedLookup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedLookup">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="related-lookup-uuid"/>
+ <xml-property name="indexedProps" value="related-lookup-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="related-lookups"/>
+ <xml-property name="uriTemplate" value="/related-lookups/related-lookup/{related-lookup-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="related-lookup"/>
+ <java-attributes>
+ <xml-element java-attribute="relatedLookupUuid" name="related-lookup-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceNodeType" name="source-node-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="sourceNodeProperty" name="source-node-property" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="targetNodeType" name="target-node-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="targetNodeProperty" name="target-node-property" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PropertyConstraints">
+ <xml-root-element name="property-constraints"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyConstraint" name="property-constraint" type="inventory.aai.onap.org.v1.PropertyConstraint"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PropertyConstraint">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="property-constraint-uuid"/>
+ <xml-property name="indexedProps" value="property-constraint-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="property-constraints"/>
+ <xml-property name="uriTemplate" value="/property-constraints/property-constraint/{property-constraint-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="property-constraint"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyConstraintUuid" name="property-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="property-name" name="property-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="property-value" name="property-value" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelAndNamedQuerySearch">
+ <xml-properties>
+ <xml-property name="description" value="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="model-and-named-query-search"/>
+ <java-attributes>
+ <xml-element java-attribute="queryParameters" name="query-parameters" type="inventory.aai.onap.org.v1.QueryParameters"/>
+ <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.onap.org.v1.InstanceFilters"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="QueryParameters">
+ <xml-properties>
+ <xml-property name="description" value="QueryParameters for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="query-parameters"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQuery" name="named-query" type="inventory.aai.onap.org.v1.NamedQuery"/>
+ <xml-element java-attribute="model" name="model" type="inventory.aai.onap.org.v1.Model"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceFilters">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilters for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="instance-filters"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="instanceFilter" name="instance-filter" type="inventory.aai.onap.org.v1.InstanceFilter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceFilter">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilter for performing a named-query or model query"/>
+ <xml-property name="container" value="instance-filters"/>
+ </xml-properties>
+ <xml-root-element name="instance-filter"/>
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Properties">
+ <xml-properties>
+ <xml-property name="description" value="Property holder for query properties or instance properties"/>
+ </xml-properties>
+ <xml-root-element name="properties"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ResponseList">
+ <xml-properties>
+ <xml-property name="description" value="Response container for the results of a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="response-list"/>
+ <java-attributes>
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v1.InventoryResponseItems"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryResponseItems">
+ <xml-properties>
+ <xml-property name="description" value="Container for inventory items in response list"/>
+ <xml-property name="container" value="response-list"/>
+ </xml-properties>
+ <xml-root-element name="inventory-response-items"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryResponseItem" name="inventory-response-item" type="inventory.aai.onap.org.v1.InventoryResponseItem"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryResponseItem">
+ <xml-properties>
+ <xml-property name="description" value="Inventory item for response list"/>
+ <xml-property name="container" value="inventory-response-items"/>
+ </xml-properties>
+ <xml-root-element name="inventory-response-item"/>
+ <java-attributes>
+ <xml-element java-attribute="modelName" name="model-name" type="java.lang.String"/>
+ <xml-any-element java-attribute="item"/>
+ <xml-element java-attribute="extraProperties" name="extra-properties" type="inventory.aai.onap.org.v1.ExtraProperties"/>
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v1.InventoryResponseItems"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExtraProperties">
+ <xml-properties>
+ <xml-property name="description" value="Extra properties for inventory item for response list"/>
+ </xml-properties>
+ <xml-root-element name="extra-properties"/>
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="extraProperty" name="extra-property" type="inventory.aai.onap.org.v1.ExtraProperty"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExtraProperty">
+ <xml-root-element name="extra-property"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-any-element java-attribute="propertyValue" lax="true" name="property-value"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="Vnf">
+ <xml-root-element name="vnf"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Abstract vnf class"/>
+ <xml-property name="indexedProps" value="vnf-id"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="inheritors" value="vce,generic-vnf"/>
+ <xml-property name="abstract" value="true"/>
+ </xml-properties>
+ </java-type>
+ </java-types>
+</xml-bindings> \ No newline at end of file
diff --git a/aai-core/src/test/resources/oxm/dbalias_oxm_three.xml b/aai-core/src/test/resources/oxm/dbalias_oxm_three.xml
new file mode 100644
index 00000000..ec32bbca
--- /dev/null
+++ b/aai-core/src/test/resources/oxm/dbalias_oxm_three.xml
@@ -0,0 +1,5398 @@
+<!--
+
+ ============LICENSE_START=======================================================
+ org.onap.aai
+ ================================================================================
+ Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ============LICENSE_END=========================================================
+
+ ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ -->
+<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v3" xml-mapping-metadata-complete="true">
+ <xml-schema element-form-default="QUALIFIED">
+ <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v3"/>
+ </xml-schema>
+ <java-types>
+ <java-type name="Inventory">
+ <xml-root-element name="inventory"/>
+ <java-attributes>
+ <xml-element java-attribute="search" name="search" type="inventory.aai.onap.org.v3.Search"/>
+ <xml-element java-attribute="actions" name="actions" type="inventory.aai.onap.org.v3.Actions"/>
+ <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.onap.org.v3.CloudInfrastructure"/>
+ <xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v3.Business"/>
+ <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.onap.org.v3.ServiceDesignAndCreation"/>
+ <xml-element java-attribute="network" name="network" type="inventory.aai.onap.org.v3.Network"/>
+ <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.onap.org.v3.AaiInternal"/>
+ <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.onap.org.v3.Nodes"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Nodes">
+ <xml-root-element name="nodes"/>
+ </java-type>
+ <java-type name="Search">
+ <xml-root-element name="search"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeTagQueryResult" name="edge-tag-query-result" type="inventory.aai.onap.org.v3.EdgeTagQueryResult"/>
+ <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.onap.org.v3.EdgeTagQueryRequest"/>
+ <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.onap.org.v3.SearchResults"/>
+ <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.onap.org.v3.SdnZoneResponse"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EdgeTagQueryResult">
+ <xml-root-element name="edge-tag-query-result"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v3.TaggedInventoryItemList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="TaggedInventoryItemList">
+ <xml-root-element name="tagged-inventory-item-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItem" name="inventory-item" type="inventory.aai.onap.org.v3.InventoryItem"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryItem">
+ <xml-root-element name="inventory-item"/>
+ <java-attributes>
+ <xml-element java-attribute="inventoryItemType" name="inventory-item-type" type="java.lang.String"/>
+ <xml-element java-attribute="inventoryItemLink" name="inventory-item-link" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItemData" name="inventory-item-data" type="inventory.aai.onap.org.v3.InventoryItemData"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v3.TaggedInventoryItemList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryItemData">
+ <xml-root-element name="inventory-item-data"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EdgeTagQueryRequest">
+ <xml-root-element name="edge-tag-query-request"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeTag" name="edge-tag" type="java.lang.String"/>
+ <xml-element java-attribute="resultDetail" name="result-detail" type="java.lang.String"/>
+ <xml-element java-attribute="startNodeType" name="start-node-type" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="startNodeFilter" name="start-node-filter" type="inventory.aai.onap.org.v3.StartNodeFilter"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.onap.org.v3.IncludeNodeFilter"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.onap.org.v3.SecondaryFilter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="StartNodeFilter">
+ <xml-root-element name="start-node-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IncludeNodeFilter">
+ <xml-root-element name="include-node-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="includeNodeType" name="include-node-type" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilter">
+ <xml-root-element name="secondary-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="filterType" name="filter-type" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SearchResults">
+ <xml-root-element name="search-results"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="resultData" name="result-data" type="inventory.aai.onap.org.v3.ResultData"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ResultData">
+ <xml-root-element name="result-data"/>
+ <java-attributes>
+ <xml-element java-attribute="resourceType" name="resource-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The specific type of node in the A&amp;AI graph"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceLink" name="resource-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The URL to the specific resource"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SdnZoneResponse">
+ <xml-root-element name="sdn-zone-response"/>
+ <java-attributes>
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v3.OamNetworks"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.onap.org.v3.AzAndDvsSwitches"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AzAndDvsSwitches">
+ <xml-root-element name="az-and-dvs-switches"/>
+ <java-attributes>
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v3.DvsSwitches"/>
+ <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v3.AvailabilityZone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Actions">
+ <xml-properties>
+ <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)."/>
+ </xml-properties>
+ <xml-root-element name="actions"/>
+ <java-attributes>
+ <xml-element java-attribute="update" name="update" type="inventory.aai.onap.org.v3.Update"/>
+ <xml-element java-attribute="notify" name="notify" type="inventory.aai.onap.org.v3.Notify"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Update">
+ <xml-properties>
+ <xml-property name="description" value="Serves a PATCH like function. Does not enforce concurrency control. Clear each usage with AAI team."/>
+ </xml-properties>
+ <xml-root-element name="update"/>
+ <java-attributes>
+ <xml-element java-attribute="updateNodeType" name="update-node-type" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="updateNodeKey" name="update-node-key" type="inventory.aai.onap.org.v3.UpdateNodeKey"/>
+ <xml-element java-attribute="updateNodeUri" name="update-node-uri" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="action" name="action" type="inventory.aai.onap.org.v3.Action"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Action">
+ <xml-root-element name="action"/>
+ <java-attributes>
+ <xml-element java-attribute="actionType" name="action-type" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="actionData" name="action-data" type="inventory.aai.onap.org.v3.ActionData"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ActionData">
+ <xml-root-element name="action-data"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="UpdateNodeKey">
+ <xml-root-element name="update-node-key"/>
+ <java-attributes>
+ <xml-element java-attribute="keyName" name="key-name" type="java.lang.String"/>
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Notify">
+ <xml-root-element name="notify"/>
+ <java-attributes>
+ <xml-element java-attribute="eventId" name="event-id" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="nodeType" name="node-type" type="java.lang.String"/>
+ <xml-element java-attribute="eventTrigger" name="event-trigger" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="keyData" name="key-data" type="inventory.aai.onap.org.v3.KeyData"/>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="KeyData">
+ <xml-root-element name="key-data"/>
+ <java-attributes>
+ <xml-element java-attribute="keyName" name="key-name" type="java.lang.String"/>
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CloudInfrastructure">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for cloud infrastructure."/>
+ </xml-properties>
+ <xml-root-element name="cloud-infrastructure"/>
+ <java-attributes>
+ <xml-element java-attribute="complexes" name="complexes" type="inventory.aai.onap.org.v3.Complexes"/>
+ <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.onap.org.v3.CloudRegions"/>
+ <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.onap.org.v3.NetworkProfiles"/>
+ <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.onap.org.v3.Pservers"/>
+ <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.onap.org.v3.VirtualDataCenters"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CloudRegions">
+ <xml-root-element name="cloud-regions"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cloudRegion" name="cloud-region" type="inventory.aai.onap.org.v3.CloudRegion"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CloudRegion">
+ <xml-root-element name="cloud-region"/>
+ <java-attributes>
+ <xml-element java-attribute="cloudOwner" name="cloud-owner" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifies the vendor and cloud name, e.g., att-aic. First part of composite key should be formatted as vendor-cloudname"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudRegionId" name="cloud-region-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite key"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudType" name="cloud-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the cloud (e.g., openstack)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ownerDefinedType" name="owner-defined-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Cloud-owner defined type indicator (e.g., dcp, lcp)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudRegionVersion" name="cloud-region-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Software version employed at the site. NOTE - THIS FIELD IS NOT KEPT UP TO DATE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL of the keystone identity service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudZone" name="cloud-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Zone where the cloud is homed. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="complex name for cloud-region instance. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeGroups" name="volume-groups" type="inventory.aai.onap.org.v3.VolumeGroups"/>
+ <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v3.Tenants"/>
+ <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v3.Flavors"/>
+ <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.onap.org.v3.GroupAssignments"/>
+ <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v3.Snapshots"/>
+ <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v3.Images"/>
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v3.DvsSwitches"/>
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v3.OamNetworks"/>
+ <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v3.AvailabilityZones"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation. In AT&amp;Ts AIC cloud, this could be an LCP or DCP. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname and we will use att-aic for AT&amp;T's AIC."/>
+ <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type"/>
+ <xml-property name="nameProps" value="owner-defined-type"/>
+ <xml-property name="container" value="cloud-regions"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="VolumeGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of persistent block-level storage."/>
+ </xml-properties>
+ <xml-root-element name="volume-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volumeGroup" name="volume-group" type="inventory.aai.onap.org.v3.VolumeGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VolumeGroup">
+ <xml-root-element name="volume-group"/>
+ <java-attributes>
+ <xml-element java-attribute="volumeGroupId" name="volume-group-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of volume-group."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeGroupName" name="volume-group-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the volume group."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this volume-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this volume-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ <xml-property name="dbAlias" value="model-customization-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfModulePersonaModelCustomizationId" name="vf-module-persona-model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="helps relate the volume group to the vf-module whose components will require the volume group"/>
+ <xml-property name="dbAlias" value="vf-module-model-customization-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persistent block-level storage."/>
+ <xml-property name="indexedProps" value="volume-group-name,vnf-type,heat-stack-id,volume-group-id"/>
+ <xml-property name="searchable" value="volume-group-id,volume-group-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="volume-groups"/>
+ <xml-property name="uriTemplate" value="/volume-groups/volume-group/{volume-group-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="RelationshipList">
+ <xml-root-element name="relationship-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.onap.org.v3.Relationship"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Relationship">
+ <xml-root-element name="relationship"/>
+ <java-attributes>
+ <xml-element java-attribute="relatedTo" name="related-to" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate type of node."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to the object in A&amp;AI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.onap.org.v3.RelationshipData"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.onap.org.v3.RelatedToProperty"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedToProperty">
+ <xml-root-element name="related-to-property"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyKey" name="property-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Key part of a key/value pair"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value part of a key/value pair"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelationshipData">
+ <xml-root-element name="relationship-data"/>
+ <java-attributes>
+ <xml-element java-attribute="relationshipKey" name="relationship-key" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate an attribute."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipValue" name="relationship-value" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value of the attribute."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Complexes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions."/>
+ </xml-properties>
+ <xml-root-element name="complexes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="complex" name="complex" type="inventory.aai.onap.org.v3.Complex"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Complex">
+ <xml-root-element name="complex"/>
+ <java-attributes>
+ <xml-element java-attribute="physicalLocationId" name="physical-location-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for physical location, e.g., CLLI"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dataCenterCode" name="data-center-code" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Data center code which can be an alternate way to identify a complex"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Gamma complex name for LCP instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL of the keystone identity service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="physicalLocationType" name="physical-location-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type, e.g., central office, data center."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="street1" name="street1" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="street2" name="street2" type="java.lang.String"/>
+ <xml-element java-attribute="city" name="city" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="state" name="state" type="java.lang.String"/>
+ <xml-element java-attribute="postalCode" name="postal-code" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="country" name="country" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="region" name="region" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="latitude" name="latitude" type="java.lang.String"/>
+ <xml-element java-attribute="longitude" name="longitude" type="java.lang.String"/>
+ <xml-element java-attribute="elevation" name="elevation" type="java.lang.String"/>
+ <xml-element java-attribute="lata" name="lata" type="java.lang.String"/>
+ <xml-element java-attribute="ctagPools" name="ctag-pools" type="inventory.aai.onap.org.v3.CtagPools"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions."/>
+ <xml-property name="indexedProps" value="identity-url,data-center-code,complex-name,physical-location-id"/>
+ <xml-property name="searchable" value="physical-location-id,data-center-code,complex-name,street1,street2,postal-code"/>
+ <xml-property name="uniqueProps" value="physical-location-id"/>
+ <xml-property name="container" value="complexes"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/complexes/complex/{physical-location-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CtagPools">
+ <xml-root-element name="ctag-pools"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagPool" name="ctag-pool" type="inventory.aai.onap.org.v3.CtagPool"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CtagPool">
+ <xml-root-element name="ctag-pool"/>
+ <java-attributes>
+ <xml-element java-attribute="targetPe" name="target-pe" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="The Target provider edge router"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the availability zone"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ctagPoolPurpose" name="ctag-pool-purpose" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Describes what the intended purpose of this pool is."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ctagValues" name="ctag-values" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Comma separated list of ctags"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="A collection of C tags (vlan tags) grouped for a specific purpose."/>
+ <xml-property name="indexedProps" value="availability-zone-name"/>
+ <xml-property name="dependentOn" value="complex"/>
+ <xml-property name="container" value="ctag-pools"/>
+ <xml-property name="uriTemplate" value="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Tenants">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack tenants."/>
+ </xml-properties>
+ <xml-root-element name="tenants"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tenant" name="tenant" type="inventory.aai.onap.org.v3.Tenant"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Tenant">
+ <xml-root-element name="tenant"/>
+ <java-attributes>
+ <xml-element java-attribute="tenantId" name="tenant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id relative to the cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tenantName" name="tenant-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Readable name of tenant"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vservers" name="vservers" type="inventory.aai.onap.org.v3.Vservers"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack tenant"/>
+ <xml-property name="nameProps" value="tenant-name"/>
+ <xml-property name="indexedProps" value="tenant-name,tenant-id"/>
+ <xml-property name="searchable" value="tenant-id,tenant-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="tenants"/>
+ <xml-property name="uriTemplate" value="/tenants/tenant/{tenant-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of virtual Servers, aka virtual machines or VMs."/>
+ </xml-properties>
+ <xml-root-element name="vservers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vserver" name="vserver" type="inventory.aai.onap.org.v3.Vserver"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vserver">
+ <xml-root-element name="vserver"/>
+ <java-attributes>
+ <xml-element java-attribute="vserverId" name="vserver-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for this vserver relative to its tenant"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverName" name="vserver-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of vserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverName2" name="vserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternative name of vserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverSelflink" name="vserver-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumes" name="volumes" type="inventory.aai.onap.org.v3.Volumes"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v3.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Servers, aka virtual machine or VM."/>
+ <xml-property name="nameProps" value="vserver-name"/>
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2"/>
+ <xml-property name="searchable" value="vserver-id,vserver-name,vserver-name2"/>
+ <xml-property name="dependentOn" value="tenant"/>
+ <xml-property name="container" value="vservers"/>
+ <xml-property name="uriTemplate" value="/vservers/vserver/{vserver-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical interfaces."/>
+ </xml-properties>
+ <xml-root-element name="l-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lInterface" name="l-interface" type="inventory.aai.onap.org.v3.LInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LInterface">
+ <xml-root-element name="l-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name given to the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="E.g., CUSTOMER, UPLINK, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v6WanLinkIp" name="v6-wan-link-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="macaddr" name="macaddr" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="MAC address for the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether A&amp;AI should be managing this interface of not. Could have value like CUSTOMER"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Human friendly text regarding this interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.onap.org.v3.Vlans"/>
+ <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v3.SriovVfs"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v3.L3InterfaceIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v3.L3InterfaceIpv6AddressList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical interfaces, e.g., a vnic."/>
+ <xml-property name="indexedProps" value="macaddr,interface-id,interface-name,network-name"/>
+ <xml-property name="dependentOn" value="generic-vnf,newvce,p-interface,vserver,lag-interface,l-interface"/>
+ <xml-property name="container" value="l-interfaces"/>
+ <xml-property name="uriTemplate" value="/l-interfaces/l-interface/{interface-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SriovVfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of SR-IOV Virtual Functions."/>
+ </xml-properties>
+ <xml-root-element name="sriov-vfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sriovVf" name="sriov-vf" type="inventory.aai.onap.org.v3.SriovVf"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="SriovVf">
+ <xml-root-element name="sriov-vf"/>
+ <java-attributes>
+ <xml-element java-attribute="pciId" name="pci-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="PCI ID used to identify the sriov-vf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanFilter" name="vf-vlan-filter" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This metadata provides option to specify list of VLAN filters applied on VF to pass the traffic to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMacFilter" name="vf-mac-filter" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="When MAC filters are specified, VF-agent service configures VFs to do MAC level filtering before the traffic is passed to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanStrip" name="vf-vlan-strip" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="When this field is set to true, VF will configured to strip the outer TAG before the traffic is passed to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanAntiSpoofCheck" name="vf-vlan-anti-spoof-check" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option ensures anti VLAN spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMacAntiSpoofCheck" name="vf-mac-anti-spoof-check" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option ensures anti MAC spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMirrors" name="vf-mirrors" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This option defines the set of Mirror objects which essentially mirrors the traffic from source to set of collector VNF Ports."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfBroadcastAllow" name="vf-broadcast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows all broadcast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfUnknownMulticastAllow" name="vf-unknown-multicast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown multicast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfUnknownUnicastAllow" name="vf-unknown-unicast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown unicast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfInsertStag" name="vf-insert-stag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, instructs to insert outer tag after traffic comes out of VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfLinkStatus" name="vf-link-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This option is used to set the link status. Valid values as of 1607 are on, off, and auto."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="SR-IOV Virtual Function (not to be confused with virtual network function)"/>
+ <xml-property name="indexedProps" value="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id"/>
+ <xml-property name="dependentOn" value="l-interface"/>
+ <xml-property name="container" value="sriov-vfs"/>
+ <xml-property name="uriTemplate" value="/sriov-vfs/sriov-vf/{pci-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv4AddressList">
+ <xml-root-element name="l3-interface-ipv4-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv4Address" name="l3-interface-ipv4-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv4PrefixLength" name="l3-interface-ipv4-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 32 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv4 Address Range"/>
+ <xml-property name="indexedProps" value="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="vlan,l-interface"/>
+ <xml-property name="uriTemplate" value="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vlans">
+ <xml-root-element name="vlans"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vlan" name="vlan" type="inventory.aai.onap.org.v3.Vlan"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vlan">
+ <xml-root-element name="vlan"/>
+ <java-attributes>
+ <xml-element java-attribute="vlanInterface" name="vlan-interface" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="String that identifies the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanDescription" name="vlan-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to describe (the service associated with) the vlan"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="backdoorConnection" name="backdoor-connection" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether customer is going to use this VLAN for backdoor connection to another customer premise device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnKey" name="vpn-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v3.L3InterfaceIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v3.L3InterfaceIpv6AddressList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Definition of vlan"/>
+ <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-key"/>
+ <xml-property name="dependentOn" value="l-interface"/>
+ <xml-property name="container" value="vlans"/>
+ <xml-property name="uriTemplate" value="/vlans/vlan/{vlan-interface}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv6AddressList">
+ <xml-root-element name="l3-interface-ipv6-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv6Address" name="l3-interface-ipv6-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv6PrefixLength" name="l3-interface-ipv6-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 128 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv6 Address Range"/>
+ <xml-property name="indexedProps" value="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="vlan,l-interface"/>
+ <xml-property name="uriTemplate" value="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Volumes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of ephemeral Block storage volumes."/>
+ </xml-properties>
+ <xml-root-element name="volumes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volume" name="volume" type="inventory.aai.onap.org.v3.Volume"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Volume">
+ <xml-root-element name="volume"/>
+ <java-attributes>
+ <xml-element java-attribute="volumeId" name="volume-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of block storage volume relative to the vserver."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeSelflink" name="volume-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Ephemeral Block storage volume."/>
+ <xml-property name="indexedProps" value="volume-id"/>
+ <xml-property name="dependentOn" value="vserver"/>
+ <xml-property name="container" value="volumes"/>
+ <xml-property name="uriTemplate" value="/volumes/volume/{volume-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Flavors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack flavors."/>
+ </xml-properties>
+ <xml-root-element name="flavors"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="flavor" name="flavor" type="inventory.aai.onap.org.v3.Flavor"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Flavor">
+ <xml-root-element name="flavor"/>
+ <java-attributes>
+ <xml-element java-attribute="flavorId" name="flavor-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Flavor id, expected to be unique across cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorName" name="flavor-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Flavor name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorVcpus" name="flavor-vcpus" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Number of CPUs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorRam" name="flavor-ram" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Amount of memory"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorDisk" name="flavor-disk" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Disk space"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorEphemeral" name="flavor-ephemeral" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Amount of ephemeral disk space"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorSwap" name="flavor-swap" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="amount of swap space allocation"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorIsPublic" name="flavor-is-public" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="whether flavor is available to all users or private to the tenant it was created in."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorSelflink" name="flavor-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorDisabled" name="flavor-disabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Boolean as to whether this flavor is no longer enabled"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack flavor."/>
+ <xml-property name="nameProps" value="flavor-name"/>
+ <xml-property name="indexedProps" value="flavor-name,flavor-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="flavors"/>
+ <xml-property name="uriTemplate" value="/flavors/flavor/{flavor-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Snapshots">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack snapshots"/>
+ </xml-properties>
+ <xml-root-element name="snapshots"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="snapshot" name="snapshot" type="inventory.aai.onap.org.v3.Snapshot"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Snapshot">
+ <xml-root-element name="snapshot"/>
+ <java-attributes>
+ <xml-element java-attribute="snapshotId" name="snapshot-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Snapshot id, this is the key UUID assoc associated in glance with the snapshots."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotName" name="snapshot-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Snapshot name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotArchitecture" name="snapshot-architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operating system architecture"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotOsDistro" name="snapshot-os-distro" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The common name of the operating system distribution in lowercase"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotOsVersion" name="snapshot-os-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The operating system version as specified by the distributor."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotSelflink" name="snapshot-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="prevSnapshotId" name="prev-snapshot-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field contains the UUID of the previous snapshot (if any)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack snapshot"/>
+ <xml-property name="nameProps" value="snapshot-name"/>
+ <xml-property name="uniqueProps" value="snapshot-id"/>
+ <xml-property name="indexedProps" value="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="snapshots"/>
+ <xml-property name="uriTemplate" value="/snapshots/snapshot/{snapshot-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GroupAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack group assignments"/>
+ </xml-properties>
+ <xml-root-element name="group-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="groupAssignment" name="group-assignment" type="inventory.aai.onap.org.v3.GroupAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="GroupAssignment">
+ <xml-root-element name="group-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="groupId" name="group-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Group id, expected to be unique across cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupType" name="group-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group type - the type of group this instance refers to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupName" name="group-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group name - name assigned to the group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupDescription" name="group-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group description - description of the group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack group-assignment used to store exclusivity groups (EG)."/>
+ <xml-property name="nameProps" value="group-name"/>
+ <xml-property name="indexedProps" value="group-id,group-type,group-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="group-assignments"/>
+ <xml-property name="uriTemplate" value="/group-assignments/group-assignment/{group-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Images">
+ <xml-properties>
+ <xml-property name="description" value="Collectio of Openstack images."/>
+ </xml-properties>
+ <xml-root-element name="images"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="image" name="image" type="inventory.aai.onap.org.v3.Image"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Image">
+ <xml-root-element name="image"/>
+ <java-attributes>
+ <xml-element java-attribute="imageId" name="image-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Image id, expected to be unique across cloud region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageName" name="image-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Image name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageArchitecture" name="image-architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operating system architecture."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageOsDistro" name="image-os-distro" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The common name of the operating system distribution in lowercase"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageOsVersion" name="image-os-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The operating system version as specified by the distributor."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageSelflink" name="image-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v3.Metadata"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack image."/>
+ <xml-property name="nameProps" value="image-name"/>
+ <xml-property name="indexedProps" value="application,image-name,application-vendor,image-id,application-version"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="images"/>
+ <xml-property name="uriTemplate" value="/images/image/{image-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Metadata">
+ <xml-properties>
+ <xml-property name="description" value="Collection of metadatum (key/value pairs)"/>
+ </xml-properties>
+ <xml-root-element name="metadata"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="metadatum" name="metadatum" type="inventory.aai.onap.org.v3.Metadatum"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Metadatum">
+ <xml-root-element name="metadatum"/>
+ <java-attributes>
+ <xml-element java-attribute="metaname" name="metaname" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="metaval" name="metaval" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Key/value pairs"/>
+ <xml-property name="indexedProps" value="metaname"/>
+ <xml-property name="dependentOn" value="tenant,image,service-instance,connector,model"/>
+ <xml-property name="container" value="metadata"/>
+ <xml-property name="uriTemplate" value="/metadata/metadatum/{metaname}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="DvsSwitches">
+ <xml-properties>
+ <xml-property name="description" value="Collection of digital virtual switch metadata used for vmWare VCEs and GenericVnfs."/>
+ </xml-properties>
+ <xml-root-element name="dvs-switches"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="dvsSwitch" name="dvs-switch" type="inventory.aai.onap.org.v3.DvsSwitch"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="DvsSwitch">
+ <xml-root-element name="dvs-switch"/>
+ <java-attributes>
+ <xml-element java-attribute="switchName" name="switch-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="DVS switch name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcenterUrl" name="vcenter-url" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL used to reach the vcenter"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Digital virtual switch metadata, used by SDN-C to configure VCEs. A&amp;AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&amp;AI. "/>
+ <xml-property name="indexedProps" value="vcenter-url,switch-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="dvs-switches"/>
+ <xml-property name="uriTemplate" value="/dvs-switches/dvs-switch/{switch-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="NetworkProfiles">
+ <xml-properties>
+ <xml-property name="description" value="Collection of network profiles"/>
+ </xml-properties>
+ <xml-root-element name="network-profiles"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkProfile" name="network-profile" type="inventory.aai.onap.org.v3.NetworkProfile"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NetworkProfile">
+ <xml-root-element name="network-profile"/>
+ <java-attributes>
+ <xml-element java-attribute="nmProfileName" name="nm-profile-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique name of network profile."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="communityString" name="community-string" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encrypted SNMP community string"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Network profile populated by SDN-GP for SNMP"/>
+ <xml-property name="indexedProps" value="nm-profile-name"/>
+ <xml-property name="container" value="network-profiles"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of compute hosts."/>
+ </xml-properties>
+ <xml-root-element name="pservers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pserver" name="pserver" type="inventory.aai.onap.org.v3.Pserver"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pserver">
+ <xml-root-element name="pserver"/>
+ <java-attributes>
+ <xml-element java-attribute="hostname" name="hostname" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value from executing hostname on the compute node."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ptniiEquipName" name="ptnii-equip-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="PTNII name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="numberOfCpus" name="number-of-cpus" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Number of cpus"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="diskInGigabytes" name="disk-in-gigabytes" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Disk size, in GBs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ramInMegabytes" name="ram-in-megabytes" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="RAM size, in MBs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment type. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment vendor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment model. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="fqdn" name="fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Fully-qualified domain name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverSelflink" name="pserver-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to configure device, also used for troubleshooting and is IP used for traps generated by device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Serial number, may be queried"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 OAM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CANOPI's inventory status. Only set with values exactly as defined by CANOPI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverId" name="pserver-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of Pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="internetTopology" name="internet-topology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="internet topology of Pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverName2" name="pserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="alternative pserver name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="purpose of pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v3.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v3.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver."/>
+ <xml-property name="nameProps" value="pserver-name2"/>
+ <xml-property name="indexedProps" value="hostname,in-maint,pserver-id,pserver-name2,inv-status"/>
+ <xml-property name="searchable" value="hostname,pserver-name2,pserver-id,ipv4-oam-address"/>
+ <xml-property name="uniqueProps" value="hostname"/>
+ <xml-property name="container" value="pservers"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/pservers/pserver/{hostname}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical interfaces."/>
+ </xml-properties>
+ <xml-root-element name="p-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pInterface" name="p-interface" type="inventory.aai.onap.org.v3.PInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PInterface">
+ <xml-root-element name="p-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the physical interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portDescription" name="port-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Nature of the services and connectivity on this port."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentIdentifier" name="equipment-identifier" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CLEI or other specification for p-interface hardware."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role specification for p-interface hardware."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceType" name="interface-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the physical properties of the interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v3.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Physical interface (e.g., nic)"/>
+ <xml-property name="indexedProps" value="interface-name,prov-status"/>
+ <xml-property name="nameProps" value="prov-status"/>
+ <xml-property name="dependentOn" value="vpls-pe,pserver,pnf"/>
+ <xml-property name="container" value="p-interfaces"/>
+ <xml-property name="uriTemplate" value="/p-interfaces/p-interface/{interface-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LagInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregate interfaces."/>
+ </xml-properties>
+ <xml-root-element name="lag-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagInterface" name="lag-interface" type="inventory.aai.onap.org.v3.LagInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LagInterface">
+ <xml-root-element name="lag-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the link aggregate interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Human friendly text regarding this interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v3.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Link aggregate interface"/>
+ <xml-property name="indexedProps" value="interface-name,interface-id,interface-role"/>
+ <xml-property name="dependentOn" value="generic-vnf,pserver,vpls-pe,pnf"/>
+ <xml-property name="container" value="lag-interfaces"/>
+ <xml-property name="uriTemplate" value="/lag-interfaces/lag-interface/{interface-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="OamNetworks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of OAM networks, to be deprecated shortly. Do not use for new purposes. "/>
+ </xml-properties>
+ <xml-root-element name="oam-networks"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="oamNetwork" name="oam-network" type="inventory.aai.onap.org.v3.OamNetwork"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OamNetwork">
+ <xml-root-element name="oam-network"/>
+ <java-attributes>
+ <xml-element java-attribute="networkUuid" name="network-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the network. Unique across a cloud-region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="cvlan-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="OAM network, to be deprecated shortly. Do not use for new purposes. "/>
+ <xml-property name="nameProps" value="network-name"/>
+ <xml-property name="indexedProps" value="cvlan-tag,network-uuid,network-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="oam-networks"/>
+ <xml-property name="uriTemplate" value="/oam-networks/oam-network/{network-uuid}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="AvailabilityZones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of availability zones"/>
+ </xml-properties>
+ <xml-root-element name="availability-zones"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v3.AvailabilityZone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AvailabilityZone">
+ <xml-root-element name="availability-zone"/>
+ <java-attributes>
+ <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the availability zone. Unique across a cloud region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hypervisorType" name="hypervisor-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of hypervisor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="State that indicates whether the availability zone should be used, etc. Source of truth should define valid values."/>
+ <xml-property name="dbAlias" value="operational-status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Availability zone, a collection of compute hosts/pservers"/>
+ <xml-property name="indexedProps" value="availability-zone-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="availability-zones"/>
+ <xml-property name="uriTemplate" value="/availability-zones/availability-zone/{availability-zone-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VirtualDataCenters">
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context"/>
+ </xml-properties>
+ <xml-root-element name="virtual-data-centers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="virtualDataCenter" name="virtual-data-center" type="inventory.aai.onap.org.v3.VirtualDataCenter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VirtualDataCenter">
+ <xml-root-element name="virtual-data-center"/>
+ <java-attributes>
+ <xml-element java-attribute="vdcId" name="vdc-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the vdc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdcName" name="vdc-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the virtual data center"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context"/>
+ <xml-property name="nameProps" value="vdc-name"/>
+ <xml-property name="indexedProps" value="vdc-name,vdc-id"/>
+ <xml-property name="container" value="virtual-data-centers"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Business">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for business related constructs"/>
+ </xml-properties>
+ <xml-root-element name="business"/>
+ <java-attributes>
+ <xml-element java-attribute="connectors" name="connectors" type="inventory.aai.onap.org.v3.Connectors"/>
+ <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.org.v3.Customers"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Connectors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets"/>
+ </xml-properties>
+ <xml-root-element name="connectors"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="connector" name="connector" type="inventory.aai.onap.org.v3.Connector"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Connector">
+ <xml-root-element name="connector"/>
+ <java-attributes>
+ <xml-element java-attribute="resourceInstanceId" name="resource-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of resource instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ <xml-property name="requires" value="persona-model-version"/>
+ <xml-property name="visibility" value="deployment"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="persona-model-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v3.Metadata"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets"/>
+ <xml-property name="indexedProps" value="resource-instance-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version"/>
+ <xml-property name="container" value="connectors"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/connectors/connector/{resource-instance-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Customers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information."/>
+ </xml-properties>
+ <xml-root-element name="customers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.onap.org.v3.Customer"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Customer">
+ <xml-root-element name="customer"/>
+ <java-attributes>
+ <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Global customer id used across ECOMP to uniquely identify customer."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber name, an alternate way to retrieve a customer."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberType" name="subscriber-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber type, a way to provide VID with only the INFRA customers."/>
+ <xml-property name="defaultValue" value="CUST"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSubscriptions" name="service-subscriptions" type="inventory.aai.onap.org.v3.ServiceSubscriptions"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="customer identifiers to provide linkage back to BSS information."/>
+ <xml-property name="nameProps" value="subscriber-name"/>
+ <xml-property name="indexedProps" value="subscriber-name,global-customer-id,subscriber-type"/>
+ <xml-property name="searchable" value="global-customer-id,subscriber-name"/>
+ <xml-property name="uniqueProps" value="global-customer-id"/>
+ <xml-property name="container" value="customers"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/customers/customer/{global-customer-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceSubscriptions">
+ <xml-properties>
+ <xml-property name="description" value="Collection of objects that group service instances."/>
+ </xml-properties>
+ <xml-root-element name="service-subscriptions"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceSubscription" name="service-subscription" type="inventory.aai.onap.org.v3.ServiceSubscription"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceSubscription">
+ <xml-root-element name="service-subscription"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value defined by orchestration to identify this service across ECOMP."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tempUbSubAccountId" name="temp-ub-sub-account-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This property will be deleted from A&amp;AI in the near future. Only stop gap solution."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstances" name="service-instances" type="inventory.aai.onap.org.v3.ServiceInstances">
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Object that group service instances."/>
+ <xml-property name="indexedProps" value="service-type"/>
+ <xml-property name="dependentOn" value="customer"/>
+ <xml-property name="container" value="service-subscriptions"/>
+ <xml-property name="crossEntityReference" value="service-instance,service-type"/>
+ <xml-property name="uriTemplate" value="/service-subscriptions/service-subscription/{service-type}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceInstances">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service instances"/>
+ </xml-properties>
+ <xml-root-element name="service-instances"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceInstance" name="service-instance" type="inventory.aai.onap.org.v3.ServiceInstance"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceInstance">
+ <xml-root-element name="service-instance"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceInstanceId" name="service-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Uniquely identifies this instance of a service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstanceName" name="service-instance-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field will store a name assigned to the service-instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ <xml-property name="requires" value="persona-model-version"/>
+ <xml-property name="visibility" value="deployment"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="persona-model-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthTotal" name="bandwidth-total" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the total bandwidth to be used for this service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN1 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN1 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN2 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN2 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vhnPortalUrl" name="vhn-portal-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL customers will use to access the vHN Portal."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstanceLocationId" name="service-instance-location-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="An identifier that customers assign to the location where this service is being used."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v3.Metadata"/>
+ <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.onap.org.v3.AllottedResources"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Instance of a service"/>
+ <xml-property name="indexedProps" value="service-instance-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status"/>
+ <xml-property name="nameProps" value="service-instance-name"/>
+ <xml-property name="searchable" value="service-instance-id,service-instance-name"/>
+ <xml-property name="uniqueProps" value="service-instance-id"/>
+ <xml-property name="dependentOn" value="service-subscription"/>
+ <xml-property name="container" value="service-instances"/>
+ <xml-property name="uriTemplate" value="/service-instances/service-instance/{service-instance-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceDesignAndCreation">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for objects managed by ASDC"/>
+ </xml-properties>
+ <xml-root-element name="service-design-and-creation"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfImages" name="vnf-images" type="inventory.aai.onap.org.v3.VnfImages"/>
+ <xml-element java-attribute="services" name="services" type="inventory.aai.onap.org.v3.Services"/>
+ <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.onap.org.v3.ServiceCapabilities"/>
+ <xml-element java-attribute="models" name="models" type="inventory.aai.onap.org.v3.Models"/>
+ <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.onap.org.v3.NamedQueries"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VnfImages">
+ <xml-properties>
+ <xml-property name="description" value="Collection of image objects that pertain to a VNF that doesn't have associated vservers. This is a kludge."/>
+ </xml-properties>
+ <xml-root-element name="vnf-images"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfImage" name="vnf-image" type="inventory.aai.onap.org.v3.VnfImage"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VnfImage">
+ <xml-root-element name="vnf-image"/>
+ <java-attributes>
+ <xml-element java-attribute="attUuid" name="att-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of this asset"/>
+ <xml-property name="dbAlias" value="vnf-image-uuid"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Image object that pertain to a VNF that doesn't have associated vservers. This is a kludge."/>
+ <xml-property name="indexedProps" value="application,att-uuid,application-vendor,application-version"/>
+ <xml-property name="uniqueProps" value="att-uuid"/>
+ <xml-property name="container" value="vnf-images"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/vnf-images/vnf-image/{att-uuid}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Services">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service model definitions. Likely to be deprecated in favor of models from ASDC."/>
+ </xml-properties>
+ <xml-root-element name="services"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.onap.org.v3.Service"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Service">
+ <xml-root-element name="service"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description of the service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="service version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Stand-in for service model definitions. Likely to be deprecated in favor of models from ASDC. Does not strictly map to ASDC services."/>
+ <xml-property name="indexedProps" value="service-description,service-id"/>
+ <xml-property name="container" value="services"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/services/service/{service-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceCapabilities">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service capabilities."/>
+ </xml-properties>
+ <xml-root-element name="service-capabilities"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceCapability" name="service-capability" type="inventory.aai.onap.org.v3.ServiceCapability"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceCapability">
+ <xml-root-element name="service-capability"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Early definition of server/resource pairings, likely to be replaced by models. No new use should be made of this."/>
+ <xml-property name="indexedProps" value="service-type,vnf-type"/>
+ <xml-property name="container" value="service-capabilities"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Network">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for network inventory resources."/>
+ </xml-properties>
+ <xml-root-element name="network"/>
+ <java-attributes>
+ <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.onap.org.v3.LogicalLinks"/>
+ <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.onap.org.v3.SitePairSets"/>
+ <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v3.VpnBindings"/>
+ <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.onap.org.v3.VplsPes"/>
+ <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.onap.org.v3.MulticastConfigurations"/>
+ <xml-element java-attribute="vces" name="vces" type="inventory.aai.onap.org.v3.Vces"/>
+ <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.onap.org.v3.Vnfcs"/>
+ <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.onap.org.v3.L3Networks"/>
+ <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v3.NetworkPolicies"/>
+ <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.onap.org.v3.GenericVnfs"/>
+ <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.onap.org.v3.LagLinks"/>
+ <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.onap.org.v3.Newvces"/>
+ <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v3.Pnfs"/>
+ <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.onap.org.v3.PhysicalLinks"/>
+ <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.onap.org.v3.IpsecConfigurations"/>
+ <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.onap.org.v3.RouteTableReferences"/>
+ <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.onap.org.v3.InstanceGroups"/>
+ <xml-element java-attribute="zones" name="zones" type="inventory.aai.onap.org.v3.Zones"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LogicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical connections"/>
+ </xml-properties>
+ <xml-root-element name="logical-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.onap.org.v3.LogicalLink"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LogicalLink">
+ <xml-root-element name="logical-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of logical link, e.g., evc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4, v6, or ds for dual stack (should be att-ip-version)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routingProtocol" name="routing-protocol" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="For example, static or BGP"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ <xml-property name="requires" value="persona-model-version"/>
+ <xml-property name="visibility" value="deployment"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="persona-model-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of operational status of the logical link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkRole" name="link-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of the network use of the logical link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkName2" name="link-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alias or alternate name (CLCI or D1 name)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkId" name="link-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the logical-link, SDNC generates this."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Circuit id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Reason for this entity, role it is playing"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points"/>
+ <xml-property name="indexedProps" value="link-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose"/>
+ <xml-property name="uniqueProps" value="link-id"/>
+ <xml-property name="container" value="logical-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="searchable" value="link-name"/>
+ <xml-property name="uriTemplate" value="/network/logical-links/logical-link/{link-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SitePairSets">
+ <xml-properties>
+ <xml-property name="description" value="Collection of sets of instances for probes related to generic-vnf"/>
+ </xml-properties>
+ <xml-root-element name="site-pair-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePairSet" name="site-pair-set" type="inventory.aai.onap.org.v3.SitePairSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SitePairSet">
+ <xml-root-element name="site-pair-set"/>
+ <java-attributes>
+ <xml-element java-attribute="sitePairSetId" name="site-pair-set-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of site pair set."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routingInstances" name="routing-instances" type="inventory.aai.onap.org.v3.RoutingInstances"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Set of instances for probes used to measure service level agreements"/>
+ <xml-property name="indexedProps" value="site-pair-set-id"/>
+ <xml-property name="uniqueProps" value="site-pair-set-id"/>
+ <xml-property name="container" value="site-pair-sets"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/site-pair-sets/site-pair-set/{site-pair-set-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="RoutingInstances">
+ <xml-properties>
+ <xml-property name="description" value="set of probes related to generic-vnf routing instance"/>
+ </xml-properties>
+ <xml-root-element name="routing-instances"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routingInstance" name="routing-instance" type="inventory.aai.onap.org.v3.RoutingInstance"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RoutingInstance">
+ <xml-root-element name="routing-instance"/>
+ <java-attributes>
+ <xml-element java-attribute="routingInstanceId" name="routing-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of routing instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="rpmOwner" name="rpm-owner" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="rpm owner"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sitePairs" name="site-pairs" type="inventory.aai.onap.org.v3.SitePairs"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="routing-instance-id"/>
+ <xml-property name="uniqueProps" value="routing-instance-id"/>
+ <xml-property name="dependentOn" value="site-pair-set"/>
+ <xml-property name="container" value="routing-instances"/>
+ <xml-property name="uriTemplate" value="/routing-instances/routing-instance/{routing-instance-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SitePairs">
+ <xml-properties>
+ <xml-property name="description" value="probe within a set"/>
+ </xml-properties>
+ <xml-root-element name="site-pairs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePair" name="site-pair" type="inventory.aai.onap.org.v3.SitePair"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SitePair">
+ <xml-root-element name="site-pair"/>
+ <java-attributes>
+ <xml-element java-attribute="sitePairId" name="site-pair-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceIp" name="source-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prefix address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationIp" name="destination-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prefix address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip version, v4, v6"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationHostname" name="destination-hostname" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Hostname of the destination equipment to which SLAs are measured against."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationEquipType" name="destination-equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The type of destinatination equipment. Could be Router, UCPE, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="classesOfService" name="classes-of-service" type="inventory.aai.onap.org.v3.ClassesOfService"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="site-pair-id"/>
+ <xml-property name="uniqueProps" value="site-pair-id"/>
+ <xml-property name="dependentOn" value="routing-instance"/>
+ <xml-property name="container" value="site-pairs"/>
+ <xml-property name="uriTemplate" value="/site-pairs/site-pair/{site-pair-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ClassesOfService">
+ <xml-properties>
+ <xml-property name="description" value="class-of-service of probe"/>
+ </xml-properties>
+ <xml-root-element name="classes-of-service"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="classOfService" name="class-of-service" type="inventory.aai.onap.org.v3.ClassOfService"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ClassOfService">
+ <xml-root-element name="class-of-service"/>
+ <java-attributes>
+ <xml-element java-attribute="cos" name="cos" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="probeId" name="probe-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="probeType" name="probe-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="type of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="cos"/>
+ <xml-property name="dependentOn" value="site-pair"/>
+ <xml-property name="container" value="classes-of-service"/>
+ <xml-property name="uriTemplate" value="/classes-of-service/class-of-service/{cos}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VpnBindings">
+ <xml-root-element name="vpn-bindings"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vpnBinding" name="vpn-binding" type="inventory.aai.onap.org.v3.VpnBinding"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VpnBinding">
+ <xml-root-element name="vpn-binding"/>
+ <java-attributes>
+ <xml-element java-attribute="vpnId" name="vpn-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="VPN ID, globally unique within A&amp;AI"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnName" name="vpn-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="VPN Name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="globalRouteTarget" name="global-route-target" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Number used to identify a VPN, globally unique in the network"/>
+ <xml-property name="dataLink" value="./route-targets/route-target/{global-route-target}/{route-target-role}"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnPlatform" name="vpn-platform" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the platform associated with the VPN example AVPN, Mobility"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnType" name="vpn-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the vpn, should be taken from enumerated/valid values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeDistinguisher" name="route-distinguisher" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTargetRole" name="route-target-role" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this route target"/>
+ <xml-property name="dataLink" value="./route-targets/route-target/{global-route-target}/{route-target-role}"/>
+ <xml-property name="defaultValue" value="BOTH"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList">
+ <xml-properties>
+ <xml-property name="description" value="l3-networks relate to vpn-bindings"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPN binding"/>
+ <xml-property name="nameProps" value="vpn-name,vpn-type"/>
+ <xml-property name="indexedProps" value="vpn-name,vpn-id,global-route-target,vpn-type"/>
+ <xml-property name="searchable" value="vpn-id,vpn-name"/>
+ <xml-property name="uniqueProps" value="vpn-id"/>
+ <xml-property name="container" value="vpn-bindings"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vpn-bindings/vpn-binding/{vpn-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VplsPes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VPLS Provider Edge routers"/>
+ </xml-properties>
+ <xml-root-element name="vpls-pes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vplsPe" name="vpls-pe" type="inventory.aai.onap.org.v3.VplsPe"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VplsPe">
+ <xml-root-element name="vpls-pe"/>
+ <java-attributes>
+ <xml-element java-attribute="equipmentName" name="equipment-name" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (v4-loopback0-ip-address)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value, e.g., VPLS-PE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Temporary location for stag to get to VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v3.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v3.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPLS Provider Edge routers."/>
+ <xml-property name="indexedProps" value="prov-status,equipment-name"/>
+ <xml-property name="container" value="vpls-pes"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vpls-pes/vpls-pe/{equipment-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="MulticastConfigurations">
+ <xml-properties>
+ <xml-property name="description" value="multicast configuration of generic-vnf ip-address"/>
+ </xml-properties>
+ <xml-root-element name="multicast-configurations"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="multicastConfiguration" name="multicast-configuration" type="inventory.aai.onap.org.v3.MulticastConfiguration"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="MulticastConfiguration">
+ <xml-root-element name="multicast-configuration"/>
+ <java-attributes>
+ <xml-element java-attribute="multicastConfigurationId" name="multicast-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of multicast configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="multicastProtocol" name="multicast-protocol" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="protocol of multicast configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="rpType" name="rp-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="rp type of multicast configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="multicast-configuration-id"/>
+ <xml-property name="uniqueProps" value="multicast-configuration-id"/>
+ <xml-property name="container" value="multicast-configurations"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Virtual Customer Edge Routers, used specifically for Gamma. This object is deprecated."/>
+ </xml-properties>
+ <xml-root-element name="vces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vce" name="vce" type="inventory.aai.onap.org.v3.Vce"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vce">
+ <xml-root-element name="vce"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ <xml-property name="dbAlias" value="operational-status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network role being played by this VNF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpeId" name="vpe-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of VPE connected to this VCE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v6VceWanAddress" name="v6-vce-wan-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Valid v6 IP address for the WAN Link on this router. Implied length of /64."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure vce, also used for troubleshooting and is IP used for traps generated by VCE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - see child relationships"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroups" name="port-groups" type="inventory.aai.onap.org.v3.PortGroups"/>
+ <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v3.Licenses"/>
+ <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v3.Entitlements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Customer Edge Router, used specifically for Gamma. This object is deprecated."/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id"/>
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="container" value="vces"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="extends" value="vnf"/>
+ <xml-property name="uriTemplate" value="/network/vces/vce/{vnf-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PortGroups">
+ <xml-root-element name="port-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="portGroup" name="port-group" type="inventory.aai.onap.org.v3.PortGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PortGroup">
+ <xml-root-element name="port-group"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceId" name="interface-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkName" name="neutron-network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network name of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupId" name="port-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for port group in vmware"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupName" name="port-group-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Likely to duplicate value of neutron network name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="switchName" name="switch-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="DVS or standard switch name (should be non-null for port groups associated with DVS)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlanTags" name="cvlan-tags" type="inventory.aai.onap.org.v3.CvlanTags"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Used to capture the network interfaces of this VCE"/>
+ <xml-property name="nameProps" value="port-group-name"/>
+ <xml-property name="indexedProps" value="port-group-id,heat-stack-id,interface-id,interface-name,switch-name"/>
+ <xml-property name="dependentOn" value="vce"/>
+ <xml-property name="container" value="port-groups"/>
+ <xml-property name="uriTemplate" value="/port-groups/port-group/{interface-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CvlanTags">
+ <xml-root-element name="cvlan-tags"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cvlanTagEntry" name="cvlan-tag-entry" type="inventory.aai.onap.org.v3.CvlanTagEntry"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CvlanTagEntry">
+ <xml-root-element name="cvlan-tag-entry"/>
+ <java-attributes>
+ <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="See mis-na-virtualization-platform.yang"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="dependentOn" value="port-group"/>
+ <xml-property name="indexedProps" value="cvlan-tag"/>
+ <xml-property name="container" value="cvlan-tags"/>
+ <xml-property name="uriTemplate" value="/cvlan-tags/cvlan-tag/{cvlan-tag-cvlan-tag}"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="Vnfcs">
+ <xml-properties>
+ <xml-property name="description" value="virtual network components associated with a vserver from application controller."/>
+ </xml-properties>
+ <xml-root-element name="vnfcs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfc" name="vnfc" type="inventory.aai.onap.org.v3.Vnfc"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vnfc">
+ <xml-root-element name="vnfc"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfcName" name="vnfc-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vnfc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfcFunctionCode" name="vnfc-function-code" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="function code"/>
+ <xml-property name="dbAlias" value="nfc-naming-code"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfcType" name="vnfc-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="type"/>
+ <xml-property name="dbAlias" value="nfc-function"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="prov status of this vnfc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by APP-C"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4OamVip" name="ipaddress-v4-oam-vip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Oam V4 vip address of this vnfc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupNotation" name="group-notation" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group notation of VNFC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vnfc-name,prov-status,vnfc-type,vnfc-function-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation"/>
+ <xml-property name="searchable" value="vnfc-name"/>
+ <xml-property name="container" value="vnfcs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vnfcs/vnfc/{vnfc-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3Networks">
+ <xml-root-element name="l3-networks"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3Network" name="l3-network" type="inventory.aai.onap.org.v3.L3Network"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="L3Network">
+ <xml-root-element name="l3-network"/>
+ <java-attributes>
+ <xml-element java-attribute="networkId" name="network-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Network ID, should be uuid. Unique across A&amp;AI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network, governed by some naming convention.."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkType" name="network-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the network - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkRole" name="network-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role the network plans - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkTechnology" name="network-technology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network technology - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isBoundToVpn" name="is-bound-to-vpn" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Set to true if bound to VPN"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service from ASDC. Does not strictly map to ASDC services. SOON TO BE DEPRECATED"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkRoleInstance" name="network-role-instance" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="network role instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailNetworkFqdn" name="contrail-network-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contrail FQDN for the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ <xml-property name="requires" value="persona-model-version"/>
+ <xml-property name="visibility" value="deployment"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="persona-model-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ <xml-property name="dbAlias" value="model-customization-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="physicalNetworkName" name="physical-network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name associated with the physical network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isProviderNetwork" name="is-provider-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is a provider network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isSharedNetwork" name="is-shared-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is a shared network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isExternalNetwork" name="is-external-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is an external network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnets" name="subnets" type="inventory.aai.onap.org.v3.Subnets"/>
+ <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.onap.org.v3.CtagAssignments"/>
+ <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.onap.org.v3.SegmentationAssignments"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList">
+ <xml-properties>
+ <xml-property name="description" value="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Generic network definition"/>
+ <xml-property name="nameProps" value="network-name"/>
+ <xml-property name="indexedProps" value="heat-stack-id,network-uuid,service-id,network-id,network-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-network-fqdn,network-role"/>
+ <xml-property name="searchable" value="network-id,network-name"/>
+ <xml-property name="uniqueProps" value="network-id"/>
+ <xml-property name="container" value="l3-networks"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/l3-networks/l3-network/{network-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="NetworkPolicies">
+ <xml-root-element name="network-policies"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkPolicy" name="network-policy" type="inventory.aai.onap.org.v3.NetworkPolicy"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="NetworkPolicy">
+ <xml-root-element name="network-policy"/>
+ <java-attributes>
+ <xml-element java-attribute="networkPolicyId" name="network-policy-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID representing unique key to this instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkPolicyFqdn" name="network-policy-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contrail FQDN for the policy"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID for the openStack Heat instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="nameProps" value="network-policy-fqdn"/>
+ <xml-property name="indexedProps" value="network-policy-id,network-policy-fqdn"/>
+ <xml-property name="searchable" value="network-policy-id,network-policy-fqdn"/>
+ <xml-property name="uniqueProps" value="network-policy-id"/>
+ <xml-property name="container" value="network-policies"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/network-policies/network-policy/{network-policy-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="CtagAssignments">
+ <xml-root-element name="ctag-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagAssignment" name="ctag-assignment" type="inventory.aai.onap.org.v3.CtagAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CtagAssignment">
+ <xml-root-element name="ctag-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="id."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vlan-id-inner"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="ctag-assignments"/>
+ <xml-property name="uriTemplate" value="/ctag-assignments/ctag-assignment/{vlan-id-inner}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Subnets">
+ <xml-root-element name="subnets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="subnet" name="subnet" type="inventory.aai.onap.org.v3.Subnet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Subnet">
+ <xml-root-element name="subnet"/>
+ <java-attributes>
+ <xml-element java-attribute="subnetId" name="subnet-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Subnet ID, should be UUID."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnetName" name="subnet-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name associated with the subnet."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of this subnet"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="gatewayAddress" name="gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="gateway ip address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkStartAddress" name="network-start-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="network start address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cidrMask" name="cidr-mask" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="cidr mask"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="dhcpEnabled" name="dhcp-enabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="dhcp enabled"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpStart" name="dhcp-start" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the start address reserved for use by dhcp"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpEnd" name="dhcp-end" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the last address reserved for use by dhcp"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="subnet-id,subnet-name"/>
+ <xml-property name="nameProps" value="subnet-name"/>
+ <xml-property name="uniqueProps" value="subnet-id"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="subnets"/>
+ <xml-property name="uriTemplate" value="/subnets/subnet/{subnet-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GenericVnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VNFs"/>
+ </xml-properties>
+ <xml-root-element name="generic-vnfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="genericVnf" name="generic-vnf" type="inventory.aai.onap.org.v3.GenericVnf"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GenericVnf">
+ <xml-root-element name="generic-vnf"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service, does not necessarily map to ASDC service models. SOON TO BE DEPRECATED"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational. Valid values are in-service-path and out-of-service-path."/>
+ <xml-property name="dbAlias" value="operational-status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, used by MSO."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of managed by ATT or customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nmLanV6Address" name="nm-lan-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 Loopback address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementV6Address" name="management-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 management address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpu" name="vcpu" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpuUnits" name="vcpu-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemory" name="vmemory" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemoryUnits" name="vmemory-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdisk" name="vdisk" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdiskUnits" name="vdisk-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only by uCPE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether generic-vnf access uses SSH"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ <xml-property name="requires" value="persona-model-version"/>
+ <xml-property name="visibility" value="deployment"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="persona-model-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ <xml-property name="dbAlias" value="model-customization-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="as-number of the VNF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceSubzone" name="regional-resource-subzone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="represents sub zone of the rr plane"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v3.LInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v3.LagInterfaces"/>
+ <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.onap.org.v3.VfModules"/>
+ <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v3.Licenses"/>
+ <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v3.Entitlements"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="General purpose VNF"/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version"/>
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="container" value="generic-vnfs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="extends" value="vnf"/>
+ <xml-property name="uriTemplate" value="/network/generic-vnfs/generic-vnf/{vnf-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VfModules">
+ <xml-properties>
+ <xml-property name="description" value="Collection of vf-modules, a deployment unit of VNFCs"/>
+ </xml-properties>
+ <xml-root-element name="vf-modules"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vfModule" name="vf-module" type="inventory.aai.onap.org.v3.VfModule"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VfModule">
+ <xml-root-element name="vf-module"/>
+ <java-attributes>
+ <xml-element java-attribute="vfModuleId" name="vf-module-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vf-module."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfModuleName" name="vf-module-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of vf-module"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="orchestration status of this vf-module, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isBaseVfModule" name="is-base-vf-module" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is base vf module"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ <xml-property name="requires" value="persona-model-version"/>
+ <xml-property name="visibility" value="deployment"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="persona-model-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ <xml-property name="dbAlias" value="model-customization-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the Contrail unique ID for a service-instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="moduleIndex" name="module-index" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="the index will track the number of modules of a given type that have been deployed in a VNF, starting with 0, and always choosing the lowest available digit"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Path to the controller object."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="a deployment unit of VNFCs"/>
+ <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-service-instance-fqdn"/>
+ <xml-property name="searchable" value="vf-module-id,vf-module-name"/>
+ <xml-property name="dependentOn" value="generic-vnf"/>
+ <xml-property name="container" value="vf-modules"/>
+ <xml-property name="uriTemplate" value="/vf-modules/vf-module/{vf-module-id}"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="LagLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregation connections"/>
+ </xml-properties>
+ <xml-root-element name="lag-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagLink" name="lag-link" type="inventory.aai.onap.org.v3.LagLink"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LagLink">
+ <xml-root-element name="lag-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Alphabetical concatenation of lag-interface names"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="LAG links can connect lag-interfaces"/>
+ <xml-property name="indexedProps" value="link-name"/>
+ <xml-property name="container" value="lag-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/lag-links/lag-link/{link-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Newvces">
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce."/>
+ </xml-properties>
+ <xml-root-element name="newvces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="newvce" name="newvce" type="inventory.aai.onap.org.v3.Newvce"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Newvce">
+ <xml-root-element name="newvce"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId2" name="vnf-id2" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF, can't use same attribute name right now until we promote this new object"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ <xml-property name="dbAlias" value="operational-status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="OBSOLETE - do not use"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (v4-loopback0-ip-address)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v3.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce."/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2"/>
+ <xml-property name="searchable" value="vnf-id2,vnf-name,vnf-name2"/>
+ <xml-property name="uniqueProps" value="vnf-id2"/>
+ <xml-property name="container" value="newvces"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/newvces/newvce/{vnf-id2}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Physical Network Functions."/>
+ </xml-properties>
+ <xml-root-element name="pnfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pnf" name="pnf" type="inventory.aai.onap.org.v3.Pnf"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pnf">
+ <xml-root-element name="pnf"/>
+ <java-attributes>
+ <xml-element java-attribute="pnfName" name="pnf-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique name of Physical Network Function."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfName2" name="pnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="name of Physical Network Function."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfName2Source" name="pnf-name2-source" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="source of name2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfId" name="pnf-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="id of pnf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment type. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment vendor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment model. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of managed by ATT or customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Oam" name="ipaddress-v4-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ipv4-oam-address with new naming convention for IP addresses"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="swVersion" name="sw-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="sw-version is the version of SW for the hosted application on the PNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="frameId" name="frame-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of the physical frame (relay rack) where pnf is installed."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Serial number of the device"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 Loopback 0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV4 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 AIM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="IPV6 OAM address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CANOPI's inventory status. Only set with values exactly as defined by CANOPI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Nf Role is the role performed by this instance in the network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v3.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v3.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE."/>
+ <xml-property name="indexedProps" value="pnf-name,orchestration-status,inv-status"/>
+ <xml-property name="searchable" value="pnf-name"/>
+ <xml-property name="uniqueProps" value="pnf-name"/>
+ <xml-property name="container" value="pnfs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/pnfs/pnf/{pnf-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PhysicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces"/>
+ </xml-properties>
+ <xml-root-element name="physical-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="physicalLink" name="physical-link" type="inventory.aai.onap.org.v3.PhysicalLink"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PhysicalLink">
+ <xml-root-element name="physical-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Circuit it"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dualMode" name="dual-mode" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Dual access mode (e.g., primary, secondary"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="To provide information on who manages this circuit. A&amp;AI or 3rd party transport provider"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderName" name="service-provider-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the service Provider on this link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces"/>
+ <xml-property name="indexedProps" value="circuit-id,link-name"/>
+ <xml-property name="alternateKeys1" value="circuit-id"/>
+ <xml-property name="container" value="physical-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="searchable" value="link-name,circuit-id"/>
+ <xml-property name="uriTemplate" value="/network/physical-links/physical-link/{link-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VigServers">
+ <xml-root-element name="vig-servers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vigServer" name="vig-server" type="inventory.aai.onap.org.v3.VigServer"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VigServer">
+ <xml-root-element name="vig-server"/>
+ <java-attributes>
+ <xml-element java-attribute="vigAddressType" name="vig-address-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether the VIG is for AVPN or INTERNET"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV4Vig" name="ipaddress-v4-vig" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 IP of the vig server"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV6Vig" name="ipaddress-v6-vig" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 IP of the vig server"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607"/>
+ <xml-property name="indexedProps" value="vig-address-type"/>
+ <xml-property name="dependentOn" value="ipsec-configuration"/>
+ <xml-property name="container" value="vig-servers"/>
+ <xml-property name="uriTemplate" value="/vig-servers/vig-server/{vig-address-type}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="IpsecConfigurations">
+ <xml-root-element name="ipsec-configurations"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipsecConfiguration" name="ipsec-configuration" type="inventory.aai.onap.org.v3.IpsecConfiguration"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IpsecConfiguration">
+ <xml-root-element name="ipsec-configuration"/>
+ <java-attributes>
+ <xml-element java-attribute="ipsecConfigurationId" name="ipsec-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of this configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedVigAddressType" name="requested-vig-address-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicate the type of VIG server like AVPN, INTERNET, BOTH"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedEncryptionStrength" name="requested-encryption-strength" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encryption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedDmzType" name="requested-dmz-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ATT can offer a shared DMZ or a DMZ specific to a customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sharedDmzNetworkAddress" name="shared-dmz-network-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network address of shared DMZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedCustomerName" name="requested-customer-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="If the DMZ is a custom DMZ, this field will indicate the customer information"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikeVersion" name="ike-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="can be 1 or 2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1Authentication" name="ikev1-authentication" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contains values like md5, sha1, sha256, sha384"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1Encryption" name="ikev1-encryption" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1DhGroup" name="ikev1-dh-group" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Diffie-Hellman group like DH-GROUP2, DH-GROUP5, DH-GROUP14"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1AmGroupId" name="ikev1-am-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group name defined in VIG for clients using aggressive mode"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1AmPassword" name="ikev1-am-password" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="pre-shared key for the above group name "/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1SaLifetime" name="ikev1-sa-lifetime" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Lifetime for IKEv1 SA"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecAuthentication" name="ipsec-authentication" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="md5, sha1, sha256, sha384"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecEncryption" name="ipsec-encryption" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecSaLifetime" name="ipsec-sa-lifetime" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Life time for IPSec SA"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecPfs" name="ipsec-pfs" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="enable PFS or not"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="xauthUserId" name="xauth-userid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="user ID for xAuth, sm-user,ucpeHostName,nmteHostName"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="xauthUserPassword" name="xauth-user-password" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encrypted using the Juniper $9$ algorithm"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dpdInterval" name="dpd-interval" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The time between DPD probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dpdFrequency" name="dpd-frequency" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Maximum number of DPD before claiming the tunnel is down"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.onap.org.v3.VigServers"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C"/>
+ <xml-property name="indexedProps" value="ipsec-configuration-id"/>
+ <xml-property name="uniqueProps" value="ipsec-configuration-id"/>
+ <xml-property name="container" value="ipsec-configurations"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="NotificationEvent">
+ <xml-root-element name="notification-event"/>
+ <java-attributes>
+ <xml-element java-attribute="cambriaPartition" name="cambria.partition" type="java.lang.String"/>
+ <xml-element java-attribute="eventHeader" name="event-header" type="inventory.aai.onap.org.v3.NotificationEventHeader"/>
+ <xml-any-element java-attribute="entity"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="NotificationEventHeader">
+ <xml-root-element name="notification-event-header"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" type="java.lang.String"/>
+ <xml-element java-attribute="timestamp" name="timestamp" type="java.lang.String"/>
+ <xml-element java-attribute="sourceName" name="source-name" type="java.lang.String"/>
+ <xml-element java-attribute="domain" name="domain" type="java.lang.String"/>
+ <xml-element java-attribute="sequenceNumber" name="sequence-number" type="java.lang.String"/>
+ <xml-element java-attribute="severity" name="severity" type="java.lang.String"/>
+ <xml-element java-attribute="eventType" name="event-type" type="java.lang.String"/>
+ <xml-element java-attribute="version" name="version" type="java.lang.String"/>
+ <xml-element java-attribute="action" name="action" type="java.lang.String"/>
+ <xml-element java-attribute="entityType" name="entity-type" type="java.lang.String"/>
+ <xml-element java-attribute="topEntityType" name="top-entity-type" type="java.lang.String"/>
+ <xml-element java-attribute="entityLink" name="entity-link" type="java.lang.String"/>
+ <xml-element java-attribute="status" name="status" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="AaiInternal">
+ <xml-root-element name="aai-internal"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="reservedPropNames" name="reserved-prop-names" type="inventory.aai.onap.org.v3.ReservedPropNames"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.onap.org.v3.EdgePropNames"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="ReservedPropNames">
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define some reserved properties of a vertex"/>
+ <xml-property name="uniqueProps" value="aai-unique-key"/>
+ <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type,aai-uri"/>
+ </xml-properties>
+ <xml-root-element name="reserved-prop-names"/>
+ <java-attributes>
+ <xml-element java-attribute="lastModSourceOfTruth" name="last-mod-source-of-truth" type="java.lang.String"/>
+ <xml-element java-attribute="aaiNodeType" name="aai-node-type" type="java.lang.String"/>
+ <xml-element java-attribute="aaiCreatedTs" name="aai-created-ts" type="java.lang.Long"/>
+ <xml-element java-attribute="aaiUniqueKey" name="aai-unique-key" type="java.lang.String"/>
+ <xml-element java-attribute="aaiLastModTs" name="aai-last-mod-ts" type="java.lang.Long"/>
+ <xml-element java-attribute="sourceOfTruth" name="source-of-truth" type="java.lang.String"/>
+ <xml-element java-attribute="aaiUri" name="aai-uri" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="EdgePropNames">
+ <!-- NOTE that the names of these properties are not consistent and are in mixed case and hyphen case for now -->
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define the properties of an edge and interpret the map EdgeRules"/>
+ <xml-property name="edgeInfo" value="edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV"/>
+ </xml-properties>
+ <xml-root-element name="edge-prop-names"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeLabel" name="edgeLabel" type="java.lang.String"/>
+ <xml-element java-attribute="direction" name="direction" type="java.lang.String"/>
+ <xml-element java-attribute="multiplicityRule" name="multiplicityRule" type="java.lang.String"/>
+ <xml-element java-attribute="containsOtherV" name="contains-other-v" type="java.lang.String"/>
+ <xml-element java-attribute="deleteOtherV" name="delete-other-v" type="java.lang.String"/>
+ <xml-element java-attribute="svcinfra" name="SVC-INFRA" type="java.lang.String"/>
+ <xml-element java-attribute="preventDelete" name="prevent-delete" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Models">
+ <xml-properties>
+ <xml-property name="description" value="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models"/>
+ </xml-properties>
+ <xml-root-element name="models"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="model" name="model" type="inventory.aai.onap.org.v3.Model"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Model">
+ <xml-root-element name="model"/>
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version"/>
+ <xml-property name="nameProps" value="model-type"/>
+ <xml-property name="indexedProps" value="model-invariant-id,model-type"/>
+ <xml-property name="uniqueProps" value="model-invariant-id"/>
+ <xml-property name="container" value="models"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/models/model/{model-invariant-id}"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.onap.org.v3.ModelVers"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+
+ <java-type name="ModelVers">
+ <xml-root-element name="model-vers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelVer" name="model-ver" type="inventory.aai.onap.org.v3.ModelVer"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelVer">
+ <xml-root-element name="model-ver"/>
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models"/>
+ <xml-property name="nameProps" value="model-name"/>
+ <xml-property name="indexedProps" value="model-version-id,model-name,model-version"/>
+ <xml-property name="uniqueProps" value="model-version-id"/>
+ <xml-property name="container" value="model-vers"/>
+ <xml-property name="uriTemplate" value="/model-vers/model-ver/{model-version-id}"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the model, which can change from version to version."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v3.ModelElements"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v3.Metadata"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelElements">
+ <xml-root-element name="model-elements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelElement" name="model-element" type="inventory.aai.onap.org.v3.ModelElement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelElement">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model."/>
+ <xml-property name="uniqueProps" value="model-element-uuid"/>
+ <xml-property name="indexedProps" value="model-element-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="model-elements"/>
+ <xml-property name="uriTemplate" value="/model-elements/model-element/{model-element-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="model-element"/>
+ <java-attributes>
+ <xml-element java-attribute="modelElementUuid" name="model-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="newDataDelFlag" name="new-data-del-flag" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates whether this element was created as part of instantiation from this model"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cardinality" name="cardinality" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="How many of this type of element are required/allowed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="linkagePoints" name="linkage-points" type="java.lang.String">
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v3.ModelElements">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelConstraints" name="model-constraints" type="inventory.aai.onap.org.v3.ModelConstraints">
+ <xml-properties>
+ <xml-property name="description" value="Describes new constraints on this model element that are not part of that model's definition"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelConstraints">
+ <xml-root-element name="model-constraints"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelConstraint" name="model-constraint" type="inventory.aai.onap.org.v3.ModelConstraint"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelConstraint">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="model-constraint-uuid"/>
+ <xml-property name="indexedProps" value="model-constraint-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="model-constraints"/>
+ <xml-property name="uriTemplate" value="/model-constraints/model-constraint/{model-constraint-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="model-constraint"/>
+ <java-attributes>
+ <xml-element java-attribute="modelConstraintUuid" name="model-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constrainedElementSetUuidToReplace" name="constrained-element-set-uuid-to-replace" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="constrainedElementSets" name="constrained-element-sets" type="inventory.aai.onap.org.v3.ConstrainedElementSets"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ConstrainedElementSets">
+ <xml-root-element name="constrained-element-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="constrainedElementSet" name="constrained-element-set" type="inventory.aai.onap.org.v3.ConstrainedElementSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ConstrainedElementSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="constrained-element-set-uuid"/>
+ <xml-property name="indexedProps" value="constrained-element-set-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="constrained-element-sets"/>
+ <xml-property name="uriTemplate" value="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="constrained-element-set"/>
+ <java-attributes>
+ <xml-element java-attribute="constrainedElementSetUuid" name="constrained-element-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="checkType" name="check-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="elementChoiceSets" name="element-choice-sets" type="inventory.aai.onap.org.v3.ElementChoiceSets"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ElementChoiceSets">
+ <xml-root-element name="element-choice-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="elementChoiceSet" name="element-choice-set" type="inventory.aai.onap.org.v3.ElementChoiceSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ElementChoiceSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="element-choice-set-uuid"/>
+ <xml-property name="indexedProps" value="element-choice-set-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="element-choice-sets"/>
+ <xml-property name="uriTemplate" value="/element-choice-sets/element-choice-set/{element-choice-set-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="element-choice-set"/>
+ <java-attributes>
+ <xml-element java-attribute="elementChoiceSetUuid" name="element-choice-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="elementChoiceSetName" name="element-choice-set-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="cardinality" name="cardinality" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v3.ModelElements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueries">
+ <xml-root-element name="named-queries"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQuery" name="named-query" type="inventory.aai.onap.org.v3.NamedQuery"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQuery">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="nameProps" value="named-query-name"/>
+ <xml-property name="uniqueProps" value="named-query-uuid"/>
+ <xml-property name="indexedProps" value="named-query-uuid,named-query-name"/>
+ <xml-property name="container" value="named-queries"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/named-queries/named-query/{named-query-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="named-query"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQueryUuid" name="named-query-uuid" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="namedQueryName" name="named-query-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryVersion" name="named-query-version" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="requiredInputParams" name="required-input-param" type="java.lang.String">
+ <xml-element-wrapper name="required-input-params"/>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.onap.org.v3.NamedQueryElements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueryElements">
+ <xml-root-element name="named-query-elements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQueryElement" name="named-query-element" type="inventory.aai.onap.org.v3.NamedQueryElement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueryElement">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="named-query-element-uuid"/>
+ <xml-property name="indexedProps" value="named-query-element-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="named-query-elements"/>
+ <xml-property name="uriTemplate" value="/named-query-elements/named-query-element/{named-query-element-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="named-query-element"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQueryElementUuid" name="named-query-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="propertyLimitDesc" name="property-limit-desc" type="java.lang.String"/>
+ <xml-element java-attribute="doNotOutput" name="do-not-output" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.onap.org.v3.NamedQueryElements"/>
+ <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.onap.org.v3.RelatedLookups"/>
+ <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.onap.org.v3.PropertyConstraints"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedLookups">
+ <xml-root-element name="related-lookups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedLookup" name="related-lookup" type="inventory.aai.onap.org.v3.RelatedLookup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedLookup">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="related-lookup-uuid"/>
+ <xml-property name="indexedProps" value="related-lookup-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="related-lookups"/>
+ <xml-property name="uriTemplate" value="/related-lookups/related-lookup/{related-lookup-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="related-lookup"/>
+ <java-attributes>
+ <xml-element java-attribute="relatedLookupUuid" name="related-lookup-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceNodeType" name="source-node-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="sourceNodeProperty" name="source-node-property" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="targetNodeType" name="target-node-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="targetNodeProperty" name="target-node-property" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PropertyConstraints">
+ <xml-root-element name="property-constraints"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyConstraint" name="property-constraint" type="inventory.aai.onap.org.v3.PropertyConstraint"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PropertyConstraint">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="property-constraint-uuid"/>
+ <xml-property name="indexedProps" value="property-constraint-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="property-constraints"/>
+ <xml-property name="uriTemplate" value="/property-constraints/property-constraint/{property-constraint-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="property-constraint"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyConstraintUuid" name="property-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="propertyName" name="property-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelAndNamedQuerySearch">
+ <xml-properties>
+ <xml-property name="description" value="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="model-and-named-query-search"/>
+ <java-attributes>
+ <xml-element java-attribute="queryParameters" name="query-parameters" type="inventory.aai.onap.org.v3.QueryParameters"/>
+ <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.onap.org.v3.InstanceFilters"/>
+ <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.onap.org.v3.SecondaryFilts"/>
+ <xml-element java-attribute="topNodeType" name="top-node-type" type="java.lang.String"/>
+ <xml-element java-attribute="secondaryFilterCutPoint" name="secondary-filter-cut-point" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="QueryParameters">
+ <xml-properties>
+ <xml-property name="description" value="QueryParameters for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="query-parameters"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQuery" name="named-query" type="inventory.aai.onap.org.v3.NamedQuery"/>
+ <xml-element java-attribute="model" name="model" type="inventory.aai.onap.org.v3.OverloadedModel"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OverloadedModel">
+ <xml-root-element name="overloaded-model"/>
+ <xml-properties>
+ <xml-property name="description" value="Allows for legacy POST of old-style and new-style models"/>
+ </xml-properties>
+ <java-attributes>
+ <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelNameVersionId" name="model-name-version-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the model, which can change from version to version."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelId" name="model-id" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Invariant unique ID which does not change from version to version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.onap.org.v3.ModelVers"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceFilters">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilters for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="instance-filters"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="instanceFilter" name="instance-filter" type="inventory.aai.onap.org.v3.InstanceFilter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceFilter">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilter for performing a named-query or model query"/>
+ <xml-property name="container" value="instance-filters"/>
+ </xml-properties>
+ <xml-root-element name="instance-filter"/>
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilts">
+ <xml-properties>
+ <xml-property name="description" value="SecondaryFilts for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="secondary-filts"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilt" name="secondary-filt" type="inventory.aai.onap.org.v3.SecondaryFilt"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilt">
+ <xml-properties>
+ <xml-property name="description" value="SecondaryFilt for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="secondary-filt"/>
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Properties">
+ <xml-properties>
+ <xml-property name="description" value="Property holder for query properties or instance properties"/>
+ </xml-properties>
+ <xml-root-element name="properties"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ResponseList">
+ <xml-properties>
+ <xml-property name="description" value="Response container for the results of a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="response-list"/>
+ <java-attributes>
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v3.InventoryResponseItems"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryResponseItems">
+ <xml-properties>
+ <xml-property name="description" value="Container for inventory items in response list"/>
+ <xml-property name="container" value="response-list"/>
+ </xml-properties>
+ <xml-root-element name="inventory-response-items"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryResponseItem" name="inventory-response-item" type="inventory.aai.onap.org.v3.InventoryResponseItem"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryResponseItem">
+ <xml-properties>
+ <xml-property name="description" value="Inventory item for response list"/>
+ <xml-property name="container" value="inventory-response-items"/>
+ </xml-properties>
+ <xml-root-element name="inventory-response-item"/>
+ <java-attributes>
+ <xml-element java-attribute="modelName" name="model-name" type="java.lang.String"/>
+ <xml-any-element java-attribute="item"/>
+ <xml-element java-attribute="extraProperties" name="extra-properties" type="inventory.aai.onap.org.v3.ExtraProperties"/>
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v3.InventoryResponseItems"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExtraProperties">
+ <xml-properties>
+ <xml-property name="description" value="Extra properties for inventory item for response list"/>
+ </xml-properties>
+ <xml-root-element name="extra-properties"/>
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="extraProperty" name="extra-property" type="inventory.aai.onap.org.v3.ExtraProperty"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExtraProperty">
+ <xml-root-element name="extra-property"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-any-element java-attribute="propertyValue" lax="true" name="property-value"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RouteTableReferences">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack route table references"/>
+ </xml-properties>
+ <xml-root-element name="route-table-references"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routeTableReference" name="route-table-reference" type="inventory.aai.onap.org.v3.RouteTableReference"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RouteTableReference">
+ <xml-root-element name="route-table-reference"/>
+ <java-attributes>
+ <xml-element java-attribute="routeTableReferenceId" name="route-table-reference-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTableReferenceFqdn" name="route-table-reference-fqdn" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="FQDN entry in the route table."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Openstack route table reference."/>
+ <xml-property name="nameProps" value="route-table-reference-fqdn"/>
+ <xml-property name="uniqueProps" value="route-table-reference-id"/>
+ <xml-property name="indexedProps" value="route-table-reference-id,route-table-reference-fqdn"/>
+ <xml-property name="container" value="route-table-references"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/route-table-references/route-table-reference/{route-table-reference-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="InstanceGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack route table references"/>
+ </xml-properties>
+ <xml-root-element name="instance-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="instanceGroup" name="instance-group" type="inventory.aai.onap.org.v3.InstanceGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceGroup">
+ <xml-root-element name="instance-group"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Instance Group ID, UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Descriptive text to help identify the usage of this instance-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="type" name="type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Only valid value today is lower case ha for high availability"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subType" name="sub-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Valid values for ha type are [geo-activeactive, geo-activestandby, local-activeactive, local-activestandby]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="General mechanism for grouping instances"/>
+ <xml-property name="nameProps" value="description"/>
+ <xml-property name="uniqueProps" value="id"/>
+ <xml-property name="indexedProps" value="id,description,type,sub-type"/>
+ <xml-property name="container" value="instance-groups"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/instance-groups/instance-group/{id}"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="SegmentationAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack segmentation assignments"/>
+ </xml-properties>
+ <xml-root-element name="segmentation-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.onap.org.v3.SegmentationAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SegmentationAssignment">
+ <xml-root-element name="segmentation-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack segmentation assignment."/>
+ <xml-property name="indexedProps" value="segmentation-id"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="segmentation-assignments"/>
+ <xml-property name="uriTemplate" value="/segmentation-assignments/segmentation-assignment/{segmentation-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="AllottedResources">
+ <xml-properties>
+ <xml-property name="description" value="This object is used to store slices of services being offered"/>
+ </xml-properties>
+ <xml-root-element name="allotted-resources"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="allottedResource" name="allotted-resource" type="inventory.aai.onap.org.v3.AllottedResource"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AllottedResource">
+ <xml-root-element name="allotted-resource"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Allotted Resource id UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The descriptive information assigned to this allotted resource instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Link back to more information in the controller"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ <xml-property name="requires" value="persona-model-version"/>
+ <xml-property name="visibility" value="deployment"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="persona-model-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service."/>
+ <xml-property name="dbAlias" value="model-customization-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tunnelXconnects" name="tunnel-xconnects" type="inventory.aai.onap.org.v3.TunnelXconnects"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Represents a slice or partial piece of a resource that gets separately allotted"/>
+ <xml-property name="nameProps" value="description"/>
+ <xml-property name="uniqueProps" value="id"/>
+ <xml-property name="indexedProps" value="id,persona-model-id,persona-model-version"/>
+ <xml-property name="dependentOn" value="service-instance"/>
+ <xml-property name="container" value="allotted-resources"/>
+ <!-- <xml-property name="namespace" value="network" /> -->
+ <xml-property name="uriTemplate" value="/allotted-resources/allotted-resource/{id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="TunnelXconnects">
+ <xml-properties>
+ <xml-property name="description" value="This object is used to store the specific tunnel cross connect aspects of an allotted resource"/>
+ </xml-properties>
+ <xml-root-element name="tunnel-xconnects"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tunnelXconnect" name="tunnel-xconnect" type="inventory.aai.onap.org.v3.TunnelXconnect"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="TunnelXconnect">
+ <xml-root-element name="tunnel-xconnect"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Allotted Resource id UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN uplink bandwidth for WAN1"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN downlink bandwidth for WAN1"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN uplink bandwidth for WAN2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The WAN downlink bandwidth for WAN2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted"/>
+ <xml-property name="uniqueProps" value="id"/>
+ <xml-property name="indexedProps" value="id"/>
+ <xml-property name="dependentOn" value="allotted-resource"/>
+ <xml-property name="container" value="tunnel-xconnects"/>
+ <!-- <xml-property name="namespace" value="network" /> -->
+ <xml-property name="uriTemplate" value="/tunnel-xconnects/tunnel-xconnect/{id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Entitlements">
+ <xml-properties>
+ <xml-property name="description" value="Entitlements, keyed by group-uuid and resource-uuid, related to license management"/>
+ </xml-properties>
+ <xml-root-element name="entitlements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="entitlement" name="entitlement" type="inventory.aai.onap.org.v3.Entitlement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Entitlement">
+ <xml-root-element name="entitlement"/>
+ <java-attributes>
+ <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for the entitlement group the resource comes from, should be uuid."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of an entitlement resource. "/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Metadata for entitlement group."/>
+ <xml-property name="indexedProps" value="group-uuid,resource-uuid"/>
+ <xml-property name="dependentOn" value="generic-vnf,vce"/>
+ <xml-property name="container" value="entitlements"/>
+ <xml-property name="uriTemplate" value="/entitlements/entitlement/{group-uuid}/{resource-uuid}"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="Licenses">
+ <xml-properties>
+ <xml-property name="description" value="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management"/>
+ </xml-properties>
+ <xml-root-element name="licenses"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="license" name="license" type="inventory.aai.onap.org.v3.License"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="License">
+ <xml-root-element name="license"/>
+ <java-attributes>
+ <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for the license group the resource belongs to, should be uuid."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of a license resource. "/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Metadata for license group."/>
+ <xml-property name="indexedProps" value="group-uuid,resource-uuid"/>
+ <xml-property name="dependentOn" value="generic-vnf,vce"/>
+ <xml-property name="container" value="licenses"/>
+ <xml-property name="uriTemplate" value="/licenses/license/{group-uuid}/{resource-uuid}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vnf">
+ <xml-root-element name="vnf"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Abstract vnf class"/>
+ <xml-property name="indexedProps" value="vnf-id"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="inheritors" value="vce,generic-vnf"/>
+ <xml-property name="abstract" value="true"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Zones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of zones"/>
+ </xml-properties>
+ <xml-root-element name="zones"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="zone" name="zone" type="inventory.aai.onap.org.v3.Zone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Zone">
+ <xml-root-element name="zone"/>
+ <java-attributes>
+ <xml-element java-attribute="zoneId" name="zone-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Code assigned by AIC to the zone"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="zoneName" name="zone-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="English name associated with the zone"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="designType" name="design-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Design of zone [Medium/Large…]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="zoneContext" name="zone-context" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Context of zone [production/test]"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="status" name="status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Status of a zone."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="A zone is a grouping of assets in a location homing to the same connections into the CBB"/>
+ <xml-property name="nameProps" value="zone-name"/>
+ <xml-property name="indexedProps" value="zone-id,design-type,zone-context"/>
+ <xml-property name="uniqueProps" value="zone-id"/>
+ <xml-property name="container" value="zones"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/zones/zone/{zone-id}"/>
+ </xml-properties>
+ </java-type>
+
+ </java-types>
+</xml-bindings> \ No newline at end of file
diff --git a/aai-core/src/test/resources/oxm/dbalias_oxm_two.xml b/aai-core/src/test/resources/oxm/dbalias_oxm_two.xml
new file mode 100644
index 00000000..9f5b9dc8
--- /dev/null
+++ b/aai-core/src/test/resources/oxm/dbalias_oxm_two.xml
@@ -0,0 +1,4716 @@
+<!--
+
+ ============LICENSE_START=======================================================
+ org.onap.aai
+ ================================================================================
+ Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ============LICENSE_END=========================================================
+
+ ECOMP is a trademark and service mark of AT&T Intellectual Property.
+
+-->
+<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v2" xml-mapping-metadata-complete="true">
+ <xml-schema element-form-default="QUALIFIED">
+ <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v2"/>
+ </xml-schema>
+ <java-types>
+ <java-type name="Inventory">
+ <xml-root-element name="inventory"/>
+ <java-attributes>
+ <xml-element java-attribute="search" name="search" type="inventory.aai.onap.org.v2.Search"/>
+ <xml-element java-attribute="actions" name="actions" type="inventory.aai.onap.org.v2.Actions"/>
+ <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.onap.org.v2.CloudInfrastructure"/>
+ <xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v2.Business"/>
+ <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.onap.org.v2.ServiceDesignAndCreation"/>
+ <xml-element java-attribute="network" name="network" type="inventory.aai.onap.org.v2.Network"/>
+ <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.onap.org.v2.AaiInternal"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Search">
+ <xml-root-element name="search"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeTagQueryResult" name="edge-tag-query-result" type="inventory.aai.onap.org.v2.EdgeTagQueryResult"/>
+ <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.onap.org.v2.EdgeTagQueryRequest"/>
+ <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.onap.org.v2.SearchResults"/>
+ <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.onap.org.v2.SdnZoneResponse"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EdgeTagQueryResult">
+ <xml-root-element name="edge-tag-query-result"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v2.TaggedInventoryItemList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="TaggedInventoryItemList">
+ <xml-root-element name="tagged-inventory-item-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItem" name="inventory-item" type="inventory.aai.onap.org.v2.InventoryItem"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryItem">
+ <xml-root-element name="inventory-item"/>
+ <java-attributes>
+ <xml-element java-attribute="inventoryItemType" name="inventory-item-type" type="java.lang.String"/>
+ <xml-element java-attribute="inventoryItemLink" name="inventory-item-link" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItemData" name="inventory-item-data" type="inventory.aai.onap.org.v2.InventoryItemData"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v2.TaggedInventoryItemList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryItemData">
+ <xml-root-element name="inventory-item-data"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="EdgeTagQueryRequest">
+ <xml-root-element name="edge-tag-query-request"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeTag" name="edge-tag" type="java.lang.String"/>
+ <xml-element java-attribute="resultDetail" name="result-detail" type="java.lang.String"/>
+ <xml-element java-attribute="startNodeType" name="start-node-type" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="startNodeFilter" name="start-node-filter" type="inventory.aai.onap.org.v2.StartNodeFilter"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.onap.org.v2.IncludeNodeFilter"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.onap.org.v2.SecondaryFilter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="StartNodeFilter">
+ <xml-root-element name="start-node-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IncludeNodeFilter">
+ <xml-root-element name="include-node-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="includeNodeType" name="include-node-type" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SecondaryFilter">
+ <xml-root-element name="secondary-filter"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="filterType" name="filter-type" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SearchResults">
+ <xml-root-element name="search-results"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="resultData" name="result-data" type="inventory.aai.onap.org.v2.ResultData"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ResultData">
+ <xml-root-element name="result-data"/>
+ <java-attributes>
+ <xml-element java-attribute="resourceType" name="resource-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The specific type of node in the A&amp;AI graph"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceLink" name="resource-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The URL to the specific resource"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SdnZoneResponse">
+ <xml-root-element name="sdn-zone-response"/>
+ <java-attributes>
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v2.OamNetworks"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.onap.org.v2.AzAndDvsSwitches"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AzAndDvsSwitches">
+ <xml-root-element name="az-and-dvs-switches"/>
+ <java-attributes>
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v2.DvsSwitches"/>
+ <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v2.AvailabilityZone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Actions">
+ <xml-properties>
+ <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)."/>
+ </xml-properties>
+ <xml-root-element name="actions"/>
+ <java-attributes>
+ <xml-element java-attribute="update" name="update" type="inventory.aai.onap.org.v2.Update"/>
+ <xml-element java-attribute="notify" name="notify" type="inventory.aai.onap.org.v2.Notify"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Update">
+ <xml-properties>
+ <xml-property name="description" value="Serves a PATCH like function. Does not enforce concurrency control. Clear each usage with AAI team."/>
+ </xml-properties>
+ <xml-root-element name="update"/>
+ <java-attributes>
+ <xml-element java-attribute="updateNodeType" name="update-node-type" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="updateNodeKey" name="update-node-key" type="inventory.aai.onap.org.v2.UpdateNodeKey"/>
+ <xml-element java-attribute="updateNodeUri" name="update-node-uri" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="action" name="action" type="inventory.aai.onap.org.v2.Action"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Action">
+ <xml-root-element name="action"/>
+ <java-attributes>
+ <xml-element java-attribute="actionType" name="action-type" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="actionData" name="action-data" type="inventory.aai.onap.org.v2.ActionData"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ActionData">
+ <xml-root-element name="action-data"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="UpdateNodeKey">
+ <xml-root-element name="update-node-key"/>
+ <java-attributes>
+ <xml-element java-attribute="keyName" name="key-name" type="java.lang.String"/>
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Notify">
+ <xml-root-element name="notify"/>
+ <java-attributes>
+ <xml-element java-attribute="eventId" name="event-id" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="nodeType" name="node-type" type="java.lang.String"/>
+ <xml-element java-attribute="eventTrigger" name="event-trigger" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="keyData" name="key-data" type="inventory.aai.onap.org.v2.KeyData"/>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="KeyData">
+ <xml-root-element name="key-data"/>
+ <java-attributes>
+ <xml-element java-attribute="keyName" name="key-name" type="java.lang.String"/>
+ <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CloudInfrastructure">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for cloud infrastructure."/>
+ </xml-properties>
+ <xml-root-element name="cloud-infrastructure"/>
+ <java-attributes>
+ <xml-element java-attribute="complexes" name="complexes" type="inventory.aai.onap.org.v2.Complexes"/>
+ <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.onap.org.v2.CloudRegions"/>
+ <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.onap.org.v2.NetworkProfiles"/>
+ <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.onap.org.v2.Pservers"/>
+ <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.onap.org.v2.VirtualDataCenters"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CloudRegions">
+ <xml-root-element name="cloud-regions"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cloudRegion" name="cloud-region" type="inventory.aai.onap.org.v2.CloudRegion"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CloudRegion">
+ <xml-root-element name="cloud-region"/>
+ <java-attributes>
+ <xml-element java-attribute="cloudOwner" name="cloud-owner" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifies the vendor and cloud name. First part of composite key should be formatted as vendor-cloudname"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudRegionId" name="cloud-region-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite key"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudType" name="cloud-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the cloud (e.g., openstack)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ownerDefinedType" name="owner-defined-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Cloud-owner defined type indicator (e.g., DCP, LCP)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudRegionVersion" name="cloud-region-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Software version employed at the site"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL of the keystone identity service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cloudZone" name="cloud-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Zone where the cloud is homed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="complex name for cloud-region instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeGroups" name="volume-groups" type="inventory.aai.onap.org.v2.VolumeGroups"/>
+ <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v2.Tenants"/>
+ <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v2.Flavors"/>
+ <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.onap.org.v2.GroupAssignments"/>
+ <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v2.Snapshots"/>
+ <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v2.Images"/>
+ <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v2.DvsSwitches"/>
+ <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v2.OamNetworks"/>
+ <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v2.AvailabilityZones"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation."/>
+ <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type"/>
+ <xml-property name="nameProps" value="owner-defined-type"/>
+ <xml-property name="container" value="cloud-regions"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="VolumeGroups">
+ <xml-properties>
+ <xml-property name="description" value="Collection of persistent block-level storage."/>
+ </xml-properties>
+ <xml-root-element name="volume-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volumeGroup" name="volume-group" type="inventory.aai.onap.org.v2.VolumeGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VolumeGroup">
+ <xml-root-element name="volume-group"/>
+ <java-attributes>
+ <xml-element java-attribute="volumeGroupId" name="volume-group-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of volume-group."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeGroupName" name="volume-group-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the volume group."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this volume-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded and clients should expect changes to occur in the future to this field as ASDC matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this volume-group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persistent block-level storage."/>
+ <xml-property name="indexedProps" value="volume-group-name,vnf-type,heat-stack-id,volume-group-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="volume-groups"/>
+ <xml-property name="uriTemplate" value="/volume-groups/volume-group/{volume-group-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="RelationshipList">
+ <xml-root-element name="relationship-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.onap.org.v2.Relationship"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Relationship">
+ <xml-root-element name="relationship"/>
+ <java-attributes>
+ <xml-element java-attribute="relatedTo" name="related-to" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate type of node."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to the object in A&amp;AI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.onap.org.v2.RelationshipData"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.onap.org.v2.RelatedToProperty"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedToProperty">
+ <xml-root-element name="related-to-property"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyKey" name="property-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Key part of a key/value pair"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value part of a key/value pair"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelationshipData">
+ <xml-root-element name="relationship-data"/>
+ <java-attributes>
+ <xml-element java-attribute="relationshipKey" name="relationship-key" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="A keyword provided by A&amp;AI to indicate an attribute."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipValue" name="relationship-value" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Value of the attribute."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Complexes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions."/>
+ </xml-properties>
+ <xml-root-element name="complexes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="complex" name="complex" type="inventory.aai.onap.org.v2.Complex"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Complex">
+ <xml-root-element name="complex"/>
+ <java-attributes>
+ <xml-element java-attribute="physicalLocationId" name="physical-location-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for physical location, e.g., CLLI"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dataCenterCode" name="data-center-code" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Data center code which can be an alternate way to identify a complex"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Gamma complex name for LCP instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL of the keystone identity service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="physicalLocationType" name="physical-location-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type, e.g., central office, data center."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="street1" name="street1" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="street2" name="street2" type="java.lang.String"/>
+ <xml-element java-attribute="city" name="city" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="state" name="state" type="java.lang.String"/>
+ <xml-element java-attribute="postalCode" name="postal-code" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="country" name="country" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="region" name="region" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="latitude" name="latitude" type="java.lang.String"/>
+ <xml-element java-attribute="longitude" name="longitude" type="java.lang.String"/>
+ <xml-element java-attribute="elevation" name="elevation" type="java.lang.String"/>
+ <xml-element java-attribute="lata" name="lata" type="java.lang.String"/>
+ <xml-element java-attribute="ctagPools" name="ctag-pools" type="inventory.aai.onap.org.v2.CtagPools"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical locations that can house cloud-regions."/>
+ <xml-property name="indexedProps" value="identity-url,data-center-code,complex-name,physical-location-id"/>
+ <xml-property name="searchable" value="physical-location-id,data-center-code,complex-name,street1,street2,postal-code"/>
+ <xml-property name="uniqueProps" value="physical-location-id"/>
+ <xml-property name="container" value="complexes"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/complexes/complex/{physical-location-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CtagPools">
+ <xml-root-element name="ctag-pools"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagPool" name="ctag-pool" type="inventory.aai.onap.org.v2.CtagPool"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CtagPool">
+ <xml-root-element name="ctag-pool"/>
+ <java-attributes>
+ <xml-element java-attribute="targetPe" name="target-pe" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="The Target provider edge router"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the availability zone"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ctagPoolPurpose" name="ctag-pool-purpose" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Describes what the intended purpose of this pool is."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ctagValues" name="ctag-values" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Comma separated list of ctags"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="A collection of C tags (vlan tags) grouped for a specific purpose."/>
+ <xml-property name="indexedProps" value="availability-zone-name"/>
+ <xml-property name="dependentOn" value="complex"/>
+ <xml-property name="container" value="ctag-pools"/>
+ <xml-property name="uriTemplate" value="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Tenants">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack tenants."/>
+ </xml-properties>
+ <xml-root-element name="tenants"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="tenant" name="tenant" type="inventory.aai.onap.org.v2.Tenant"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Tenant">
+ <xml-root-element name="tenant"/>
+ <java-attributes>
+ <xml-element java-attribute="tenantId" name="tenant-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id relative to the cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tenantName" name="tenant-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Readable name of tenant"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vservers" name="vservers" type="inventory.aai.onap.org.v2.Vservers"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack tenant"/>
+ <xml-property name="nameProps" value="tenant-name"/>
+ <xml-property name="indexedProps" value="tenant-name,tenant-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="tenants"/>
+ <xml-property name="uriTemplate" value="/tenants/tenant/{tenant-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of virtual Servers, aka virtual machines or VMs."/>
+ </xml-properties>
+ <xml-root-element name="vservers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vserver" name="vserver" type="inventory.aai.onap.org.v2.Vserver"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vserver">
+ <xml-root-element name="vserver"/>
+ <java-attributes>
+ <xml-element java-attribute="vserverId" name="vserver-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier for this vserver relative to its tenant"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverName" name="vserver-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of vserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverName2" name="vserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternative name of vserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vserverSelflink" name="vserver-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumes" name="volumes" type="inventory.aai.onap.org.v2.Volumes"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v2.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Servers, aka virtual machine or VM."/>
+ <xml-property name="nameProps" value="vserver-name"/>
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2"/>
+ <xml-property name="searchable" value="vserver-name,vserver-id,vserver-name2"/>
+ <xml-property name="dependentOn" value="tenant"/>
+ <xml-property name="container" value="vservers"/>
+ <xml-property name="uriTemplate" value="/vservers/vserver/{vserver-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical interfaces."/>
+ </xml-properties>
+ <xml-root-element name="l-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lInterface" name="l-interface" type="inventory.aai.onap.org.v2.LInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LInterface">
+ <xml-root-element name="l-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name given to the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="E.g., CUSTOMER, UPLINK, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v6WanLinkIp" name="v6-wan-link-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="macaddr" name="macaddr" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="MAC address for the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether A&amp;AI should be managing this interface of not. Could have value like CUSTOMER"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.onap.org.v2.Vlans"/>
+ <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v2.SriovVfs"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v2.L3InterfaceIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v2.L3InterfaceIpv6AddressList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical interfaces, e.g., a vnic."/>
+ <xml-property name="indexedProps" value="macaddr,interface-id,interface-name,network-name"/>
+ <xml-property name="dependentOn" value="generic-vnf,newvce,p-interface,vserver,lag-interface,l-interface"/>
+ <xml-property name="container" value="l-interfaces"/>
+ <xml-property name="uriTemplate" value="/l-interfaces/l-interface/{interface-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SriovVfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of SR-IOV Virtual Functions."/>
+ </xml-properties>
+ <xml-root-element name="sriov-vfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sriovVf" name="sriov-vf" type="inventory.aai.onap.org.v2.SriovVf"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="SriovVf">
+ <xml-root-element name="sriov-vf"/>
+ <java-attributes>
+ <xml-element java-attribute="pciId" name="pci-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="PCI ID used to identify the sriov-vf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanFilter" name="vf-vlan-filter" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This metadata provides option to specify list of VLAN filters applied on VF to pass the traffic to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMacFilter" name="vf-mac-filter" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="When MAC filters are specified, VF-agent service configures VFs to do MAC level filtering before the traffic is passed to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanStrip" name="vf-vlan-strip" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="When this field is set to true, VF will configured to strip the outer TAG before the traffic is passed to VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfVlanAntiSpoofCheck" name="vf-vlan-anti-spoof-check" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option ensures anti VLAN spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMacAntiSpoofCheck" name="vf-mac-anti-spoof-check" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option ensures anti MAC spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfMirrors" name="vf-mirrors" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This option defines the set of Mirror objects which essentially mirrors the traffic from source to set of collector VNF Ports."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfBroadcastAllow" name="vf-broadcast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows all broadcast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfUnknownMulticastAllow" name="vf-unknown-multicast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown multicast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfUnknownUnicastAllow" name="vf-unknown-unicast-allow" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown unicast traffic to reach the VM"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfInsertStag" name="vf-insert-stag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="This option, if set to true, instructs to insert outer tag after traffic comes out of VM."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfLinkStatus" name="vf-link-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This option is used to set the link status. Valid values as of 1607 are on, off, and auto."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="SR-IOV Virtual Function (not to be confused with virtual network function)"/>
+ <xml-property name="indexedProps" value="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id"/>
+ <xml-property name="dependentOn" value="l-interface"/>
+ <xml-property name="container" value="sriov-vfs"/>
+ <xml-property name="uriTemplate" value="/sriov-vfs/sriov-vf/{pci-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv4AddressList">
+ <xml-root-element name="l3-interface-ipv4-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv4Address" name="l3-interface-ipv4-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv4PrefixLength" name="l3-interface-ipv4-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 32 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv4 Address Range"/>
+ <xml-property name="indexedProps" value="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="vlan,l-interface"/>
+ <xml-property name="uriTemplate" value="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vlans">
+ <xml-root-element name="vlans"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vlan" name="vlan" type="inventory.aai.onap.org.v2.Vlan"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vlan">
+ <xml-root-element name="vlan"/>
+ <java-attributes>
+ <xml-element java-attribute="vlanInterface" name="vlan-interface" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="String that identifies the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanDescription" name="vlan-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to describe (the service associated with) the vlan"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="backdoorConnection" name="backdoor-connection" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Whether customer is going to use this VLAN for backdoor connection to another customer premise device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnKey" name="vpn-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v2.L3InterfaceIpv4AddressList"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v2.L3InterfaceIpv6AddressList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Definition of vlan"/>
+ <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-key"/>
+ <xml-property name="dependentOn" value="l-interface"/>
+ <xml-property name="container" value="vlans"/>
+ <xml-property name="uriTemplate" value="/vlans/vlan/{vlan-interface}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3InterfaceIpv6AddressList">
+ <xml-root-element name="l3-interface-ipv6-address-list"/>
+ <java-attributes>
+ <xml-element java-attribute="l3InterfaceIpv6Address" name="l3-interface-ipv6-address" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="IP address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="l3InterfaceIpv6PrefixLength" name="l3-interface-ipv6-prefix-length" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Prefix length, 128 for single address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Inner VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Outer VLAN tag"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Indicator of fixed or floating address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of the interface that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of subnet that address belongs to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPv6 Address Range"/>
+ <xml-property name="indexedProps" value="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+ <xml-property name="dependentOn" value="vlan,l-interface"/>
+ <xml-property name="uriTemplate" value="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Volumes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of ephemeral Block storage volumes."/>
+ </xml-properties>
+ <xml-root-element name="volumes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="volume" name="volume" type="inventory.aai.onap.org.v2.Volume"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Volume">
+ <xml-root-element name="volume"/>
+ <java-attributes>
+ <xml-element java-attribute="volumeId" name="volume-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of block storage volume relative to the vserver."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="volumeSelflink" name="volume-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Ephemeral Block storage volume."/>
+ <xml-property name="indexedProps" value="volume-id"/>
+ <xml-property name="dependentOn" value="vserver"/>
+ <xml-property name="container" value="volumes"/>
+ <xml-property name="uriTemplate" value="/volumes/volume/{volume-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Flavors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack flavors."/>
+ </xml-properties>
+ <xml-root-element name="flavors"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="flavor" name="flavor" type="inventory.aai.onap.org.v2.Flavor"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Flavor">
+ <xml-root-element name="flavor"/>
+ <java-attributes>
+ <xml-element java-attribute="flavorId" name="flavor-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Flavor id, expected to be unique across cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorName" name="flavor-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Flavor name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorVcpus" name="flavor-vcpus" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Number of CPUs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorRam" name="flavor-ram" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Amount of memory"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorDisk" name="flavor-disk" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Disk space"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorEphemeral" name="flavor-ephemeral" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Amount of ephemeral disk space"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorSwap" name="flavor-swap" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="amount of swap space allocation"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorIsPublic" name="flavor-is-public" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="whether flavor is available to all users or private to the tenant it was created in."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorSelflink" name="flavor-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="flavorDisabled" name="flavor-disabled" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="Boolean as to whether this flavor is no longer enabled"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack flavor."/>
+ <xml-property name="nameProps" value="flavor-name"/>
+ <xml-property name="indexedProps" value="flavor-name,flavor-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="flavors"/>
+ <xml-property name="uriTemplate" value="/flavors/flavor/{flavor-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Snapshots">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack snapshots"/>
+ </xml-properties>
+ <xml-root-element name="snapshots"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="snapshot" name="snapshot" type="inventory.aai.onap.org.v2.Snapshot"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Snapshot">
+ <xml-root-element name="snapshot"/>
+ <java-attributes>
+ <xml-element java-attribute="snapshotId" name="snapshot-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Snapshot id, this is the key UUID assoc associated in glance with the snapshots."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotName" name="snapshot-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Snapshot name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotArchitecture" name="snapshot-architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operating system architecture"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotOsDistro" name="snapshot-os-distro" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The common name of the operating system distribution in lowercase"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotOsVersion" name="snapshot-os-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The operating system version as specified by the distributor."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="snapshotSelflink" name="snapshot-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="prevSnapshotId" name="prev-snapshot-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field contains the UUID of the previous snapshot (if any)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack snapshot"/>
+ <xml-property name="nameProps" value="snapshot-name"/>
+ <xml-property name="uniqueProps" value="snapshot-id"/>
+ <xml-property name="indexedProps" value="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="snapshots"/>
+ <xml-property name="uriTemplate" value="/snapshots/snapshot/{snapshot-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GroupAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack group assignments"/>
+ </xml-properties>
+ <xml-root-element name="group-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="groupAssignment" name="group-assignment" type="inventory.aai.onap.org.v2.GroupAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="GroupAssignment">
+ <xml-root-element name="group-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="groupId" name="group-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Group id, expected to be unique across cloud-region."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupType" name="group-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group type - the type of group this instance refers to"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupName" name="group-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group name - name assigned to the group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupDescription" name="group-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group description - description of the group"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack group-assignment used to store exclusivity groups (EG)."/>
+ <xml-property name="nameProps" value="group-name"/>
+ <xml-property name="indexedProps" value="group-id,group-type,group-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="group-assignments"/>
+ <xml-property name="uriTemplate" value="/group-assignments/group-assignment/{group-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Images">
+ <xml-properties>
+ <xml-property name="description" value="Collectio of Openstack images."/>
+ </xml-properties>
+ <xml-root-element name="images"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="image" name="image" type="inventory.aai.onap.org.v2.Image"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Image">
+ <xml-root-element name="image"/>
+ <java-attributes>
+ <xml-element java-attribute="imageId" name="image-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Image id, expected to be unique across cloud region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageName" name="image-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Image name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageArchitecture" name="image-architecture" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Operating system architecture."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageOsDistro" name="image-os-distro" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The common name of the operating system distribution in lowercase"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageOsVersion" name="image-os-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The operating system version as specified by the distributor."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="imageSelflink" name="image-selflink" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v2.Metadata"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack image."/>
+ <xml-property name="nameProps" value="image-name"/>
+ <xml-property name="indexedProps" value="application,image-name,application-vendor,image-id,application-version"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="images"/>
+ <xml-property name="uriTemplate" value="/images/image/{image-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Metadata">
+ <xml-properties>
+ <xml-property name="description" value="Collection of metadatum (key/value pairs)"/>
+ </xml-properties>
+ <xml-root-element name="metadata"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="metadatum" name="metadatum" type="inventory.aai.onap.org.v2.Metadatum"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Metadatum">
+ <xml-root-element name="metadatum"/>
+ <java-attributes>
+ <xml-element java-attribute="metaname" name="metaname" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="metaval" name="metaval" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Key/value pairs"/>
+ <xml-property name="indexedProps" value="metaname"/>
+ <xml-property name="dependentOn" value="tenant,image,service-instance,connector,model"/>
+ <xml-property name="container" value="metadata"/>
+ <xml-property name="uriTemplate" value="/metadata/metadatum/{metaname}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="DvsSwitches">
+ <xml-properties>
+ <xml-property name="description" value="Collection of digital virtual switch metadata used for vmWare VCEs and GenericVnfs."/>
+ </xml-properties>
+ <xml-root-element name="dvs-switches"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="dvsSwitch" name="dvs-switch" type="inventory.aai.onap.org.v2.DvsSwitch"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="DvsSwitch">
+ <xml-root-element name="dvs-switch"/>
+ <java-attributes>
+ <xml-element java-attribute="switchName" name="switch-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="DVS switch name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcenterUrl" name="vcenter-url" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL used to reach the vcenter"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Digital virtual switch metadata, used by SDN-C to configure VCEs. A&amp;AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&amp;AI. "/>
+ <xml-property name="indexedProps" value="vcenter-url,switch-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="dvs-switches"/>
+ <xml-property name="uriTemplate" value="/dvs-switches/dvs-switch/{switch-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="NetworkProfiles">
+ <xml-properties>
+ <xml-property name="description" value="Collection of network profiles"/>
+ </xml-properties>
+ <xml-root-element name="network-profiles"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkProfile" name="network-profile" type="inventory.aai.onap.org.v2.NetworkProfile"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NetworkProfile">
+ <xml-root-element name="network-profile"/>
+ <java-attributes>
+ <xml-element java-attribute="nmProfileName" name="nm-profile-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique name of network profile."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="communityString" name="community-string" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encrypted SNMP community string"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Network profile populated by SDN-GP for SNMP"/>
+ <xml-property name="indexedProps" value="nm-profile-name"/>
+ <xml-property name="container" value="network-profiles"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pservers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of compute hosts."/>
+ </xml-properties>
+ <xml-root-element name="pservers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pserver" name="pserver" type="inventory.aai.onap.org.v2.Pserver"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Pserver">
+ <xml-root-element name="pserver"/>
+ <java-attributes>
+ <xml-element java-attribute="hostname" name="hostname" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value from executing hostname on the compute node."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ptniiEquipName" name="ptnii-equip-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="PTNII name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="numberOfCpus" name="number-of-cpus" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Number of cpus"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="diskInGigabytes" name="disk-in-gigabytes" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Disk size, in GBs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ramInMegabytes" name="ram-in-megabytes" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="RAM size, in MBs"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment type. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment vendor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment model. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="fqdn" name="fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Fully-qualified domain name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverSelflink" name="pserver-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used to configure device, also used for troubleshooting and is IP used for traps generated by device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Serial number, may be queried"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverId" name="pserver-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of Pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="internetTopology" name="internet-topology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="internet topology of Pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pserverName2" name="pserver-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="alternative pserver name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="purpose of pserver"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v2.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v2.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver."/>
+ <xml-property name="nameProps" value="pserver-name2"/>
+ <xml-property name="indexedProps" value="hostname,in-maint,pserver-id,pserver-name2"/>
+ <xml-property name="searchable" value="hostname,pserver-name2,pserver-id,ipv4-oam-address"/>
+ <xml-property name="uniqueProps" value="hostname"/>
+ <xml-property name="container" value="pservers"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/pservers/pserver/{hostname}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical interfaces."/>
+ </xml-properties>
+ <xml-root-element name="p-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pInterface" name="p-interface" type="inventory.aai.onap.org.v2.PInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PInterface">
+ <xml-root-element name="p-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the physical interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portDescription" name="port-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Nature of the services and connectivity on this port."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentIdentifier" name="equipment-identifier" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="CLEI or other specification for p-interface hardware."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role specification for p-interface hardware."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceType" name="interface-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the physical properties of the interface."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v2.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Physical interface (e.g., nic)"/>
+ <xml-property name="indexedProps" value="interface-name"/>
+ <xml-property name="dependentOn" value="vpls-pe,pserver,pnf"/>
+ <xml-property name="container" value="p-interfaces"/>
+ <xml-property name="uriTemplate" value="/p-interfaces/p-interface/{interface-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="LagInterfaces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregate interfaces."/>
+ </xml-properties>
+ <xml-root-element name="lag-interfaces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagInterface" name="lag-interface" type="inventory.aai.onap.org.v2.LagInterface"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LagInterface">
+ <xml-root-element name="lag-interface"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name that identifies the link aggregate interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v2.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Link aggregate interface"/>
+ <xml-property name="indexedProps" value="interface-name"/>
+ <xml-property name="dependentOn" value="generic-vnf,pserver,vpls-pe,pnf"/>
+ <xml-property name="container" value="lag-interfaces"/>
+ <xml-property name="uriTemplate" value="/lag-interfaces/lag-interface/{interface-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="OamNetworks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of OAM networks, to be deprecated shortly. Do not use for new purposes. "/>
+ </xml-properties>
+ <xml-root-element name="oam-networks"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="oamNetwork" name="oam-network" type="inventory.aai.onap.org.v2.OamNetwork"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="OamNetwork">
+ <xml-root-element name="oam-network"/>
+ <java-attributes>
+ <xml-element java-attribute="networkUuid" name="network-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the network. Unique across a cloud-region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="cvlan-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="OAM network, to be deprecated shortly. Do not use for new purposes. "/>
+ <xml-property name="nameProps" value="network-name"/>
+ <xml-property name="indexedProps" value="cvlan-tag,network-uuid,network-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="oam-networks"/>
+ <xml-property name="uriTemplate" value="/oam-networks/oam-network/{network-uuid}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="AvailabilityZones">
+ <xml-properties>
+ <xml-property name="description" value="Collection of availability zones"/>
+ </xml-properties>
+ <xml-root-element name="availability-zones"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v2.AvailabilityZone"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="AvailabilityZone">
+ <xml-root-element name="availability-zone"/>
+ <java-attributes>
+ <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Name of the availability zone. Unique across a cloud region"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="hypervisorType" name="hypervisor-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of hypervisor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="State that indicates whether the availability zone should be used, etc. Source of truth should define valid values."/>
+ <xml-property name="dbAlias" value="operational-status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Availability zone, a collection of compute hosts/pservers"/>
+ <xml-property name="indexedProps" value="availability-zone-name"/>
+ <xml-property name="dependentOn" value="cloud-region"/>
+ <xml-property name="container" value="availability-zones"/>
+ <xml-property name="uriTemplate" value="/availability-zones/availability-zone/{availability-zone-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VirtualDataCenters">
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context"/>
+ </xml-properties>
+ <xml-root-element name="virtual-data-centers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="virtualDataCenter" name="virtual-data-center" type="inventory.aai.onap.org.v2.VirtualDataCenter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VirtualDataCenter">
+ <xml-root-element name="virtual-data-center"/>
+ <java-attributes>
+ <xml-element java-attribute="vdcId" name="vdc-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the vdc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdcName" name="vdc-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the virtual data center"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context"/>
+ <xml-property name="nameProps" value="vdc-name"/>
+ <xml-property name="indexedProps" value="vdc-name,vdc-id"/>
+ <xml-property name="container" value="virtual-data-centers"/>
+ <xml-property name="namespace" value="cloud-infrastructure"/>
+ <xml-property name="uriTemplate" value="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Business">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for business related constructs"/>
+ </xml-properties>
+ <xml-root-element name="business"/>
+ <java-attributes>
+ <xml-element java-attribute="connectors" name="connectors" type="inventory.aai.onap.org.v2.Connectors"/>
+ <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.org.v2.Customers"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Connectors">
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets"/>
+ </xml-properties>
+ <xml-root-element name="connectors"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="connector" name="connector" type="inventory.aai.onap.org.v2.Connector"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Connector">
+ <xml-root-element name="connector"/>
+ <java-attributes>
+ <xml-element java-attribute="resourceInstanceId" name="resource-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of resource instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ <xml-property name="requires" value="persona-model-version"/>
+ <xml-property name="visibility" value="deployment"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="persona-model-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v2.Metadata"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets"/>
+ <xml-property name="indexedProps" value="resource-instance-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version"/>
+ <xml-property name="container" value="connectors"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/connectors/connector/{resource-instance-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Customers">
+ <xml-properties>
+ <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information."/>
+ </xml-properties>
+ <xml-root-element name="customers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.onap.org.v2.Customer"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Customer">
+ <xml-root-element name="customer"/>
+ <java-attributes>
+ <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Global customer id used across ECOMP to uniquely identify customer."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber name, an alternate way to retrieve a customer."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subscriberType" name="subscriber-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Subscriber type, a way to provide VID with only the INFRA customers."/>
+ <xml-property name="defaultValue" value="CUST"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSubscriptions" name="service-subscriptions" type="inventory.aai.onap.org.v2.ServiceSubscriptions"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="customer identifiers to provide linkage back to BSS information."/>
+ <xml-property name="nameProps" value="subscriber-name"/>
+ <xml-property name="indexedProps" value="subscriber-name,global-customer-id,subscriber-type"/>
+ <xml-property name="searchable" value="subscriber-name,global-customer-id"/>
+ <xml-property name="uniqueProps" value="global-customer-id"/>
+ <xml-property name="container" value="customers"/>
+ <xml-property name="namespace" value="business"/>
+ <xml-property name="uriTemplate" value="/business/customers/customer/{global-customer-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceSubscriptions">
+ <xml-properties>
+ <xml-property name="description" value="Collection of objects that group service instances."/>
+ </xml-properties>
+ <xml-root-element name="service-subscriptions"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceSubscription" name="service-subscription" type="inventory.aai.onap.org.v2.ServiceSubscription"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceSubscription">
+ <xml-root-element name="service-subscription"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Value defined by orchestration to identify this service across ECOMP."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="tempUbSubAccountId" name="temp-ub-sub-account-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This property will be deleted from A&amp;AI in the near future. Only stop gap solution."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstances" name="service-instances" type="inventory.aai.onap.org.v2.ServiceInstances">
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Object that group service instances."/>
+ <xml-property name="indexedProps" value="service-type"/>
+ <xml-property name="dependentOn" value="customer"/>
+ <xml-property name="container" value="service-subscriptions"/>
+ <xml-property name="uriTemplate" value="/service-subscriptions/service-subscription/{service-type}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceInstances">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service instances"/>
+ </xml-properties>
+ <xml-root-element name="service-instances"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceInstance" name="service-instance" type="inventory.aai.onap.org.v2.ServiceInstance"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceInstance">
+ <xml-root-element name="service-instance"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceInstanceId" name="service-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Uniquely identifies this instance of a service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstanceName" name="service-instance-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="This field will store a name assigned to the service-instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ <xml-property name="requires" value="persona-model-version"/>
+ <xml-property name="visibility" value="deployment"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="persona-model-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthTotal" name="bandwidth-total" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates the total bandwidth to be used for this service."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN1 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN1 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN2 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN2 port of the physical device."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vhnPortalUrl" name="vhn-portal-url" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL customers will use to access the vHN Portal."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceInstanceLocationId" name="service-instance-location-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="An identifier that customers assign to the location where this service is being used."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v2.Metadata"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Instance of a service"/>
+ <xml-property name="indexedProps" value="service-instance-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id"/>
+ <xml-property name="nameProps" value="service-instance-name"/>
+ <xml-property name="searchable" value="service-instance-id"/>
+ <xml-property name="uniqueProps" value="service-instance-id"/>
+ <xml-property name="dependentOn" value="service-subscription"/>
+ <xml-property name="container" value="service-instances"/>
+ <xml-property name="uriTemplate" value="/service-instances/service-instance/{service-instance-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceDesignAndCreation">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for objects managed by ASDC"/>
+ </xml-properties>
+ <xml-root-element name="service-design-and-creation"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfImages" name="vnf-images" type="inventory.aai.onap.org.v2.VnfImages"/>
+ <xml-element java-attribute="services" name="services" type="inventory.aai.onap.org.v2.Services"/>
+ <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.onap.org.v2.ServiceCapabilities"/>
+ <xml-element java-attribute="models" name="models" type="inventory.aai.onap.org.v2.Models"/>
+ <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.onap.org.v2.NamedQueries"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VnfImages">
+ <xml-properties>
+ <xml-property name="description" value="Collection of image objects that pertain to a VNF that doesn't have associated vservers. This is a kludge."/>
+ </xml-properties>
+ <xml-root-element name="vnf-images"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfImage" name="vnf-image" type="inventory.aai.onap.org.v2.VnfImage"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VnfImage">
+ <xml-root-element name="vnf-image"/>
+ <java-attributes>
+ <xml-element java-attribute="attUuid" name="att-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of this asset"/>
+ <xml-property name="dbAlias" value="vnf-image-uuid"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="application" name="application" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The application that the image instantiates."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVendor" name="application-vendor" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The vendor of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The version of the application."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Image object that pertain to a VNF that doesn't have associated vservers. This is a kludge."/>
+ <xml-property name="indexedProps" value="application,att-uuid,application-vendor,application-version"/>
+ <xml-property name="uniqueProps" value="att-uuid"/>
+ <xml-property name="container" value="vnf-images"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/vnf-images/vnf-image/{att-uuid}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Services">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service model definitions. Likely to be deprecated in favor of models from ASDC."/>
+ </xml-properties>
+ <xml-root-element name="services"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.onap.org.v2.Service"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Service">
+ <xml-root-element name="service"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description of the service"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="URL to endpoint where AAI can get more details"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="service version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Stand-in for service model definitions. Likely to be deprecated in favor of models from ASDC."/>
+ <xml-property name="indexedProps" value="service-description,service-id"/>
+ <xml-property name="container" value="services"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/services/service/{service-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ServiceCapabilities">
+ <xml-properties>
+ <xml-property name="description" value="Collection of service capabilities."/>
+ </xml-properties>
+ <xml-root-element name="service-capabilities"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="serviceCapability" name="service-capability" type="inventory.aai.onap.org.v2.ServiceCapability"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ServiceCapability">
+ <xml-root-element name="service-capability"/>
+ <java-attributes>
+ <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded and clients should expect changes to occur in the future to this field as ASDC matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Early definition of server/resource pairings, likely to be replaced by models. No new use should be made of this."/>
+ <xml-property name="indexedProps" value="service-type,vnf-type"/>
+ <xml-property name="container" value="service-capabilities"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Network">
+ <xml-properties>
+ <xml-property name="description" value="Namespace for network inventory resources."/>
+ </xml-properties>
+ <xml-root-element name="network"/>
+ <java-attributes>
+ <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.onap.org.v2.LogicalLinks"/>
+ <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.onap.org.v2.SitePairSets"/>
+ <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v2.VpnBindings"/>
+ <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.onap.org.v2.VplsPes"/>
+ <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.onap.org.v2.MulticastConfigurations"/>
+ <xml-element java-attribute="vces" name="vces" type="inventory.aai.onap.org.v2.Vces"/>
+ <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.onap.org.v2.Vnfcs"/>
+ <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.onap.org.v2.L3Networks"/>
+ <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v2.NetworkPolicies"/>
+ <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.onap.org.v2.GenericVnfs"/>
+ <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.onap.org.v2.LagLinks"/>
+ <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.onap.org.v2.Newvces"/>
+ <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v2.Pnfs"/>
+ <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.onap.org.v2.PhysicalLinks"/>
+ <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.onap.org.v2.IpsecConfigurations"/>
+ <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.onap.org.v2.RouteTableReferences"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LogicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of logical connections"/>
+ </xml-properties>
+ <xml-root-element name="logical-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.onap.org.v2.LogicalLink"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LogicalLink">
+ <xml-root-element name="logical-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of logical link, e.g., evc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4, v6, or ds for dual stack"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routingProtocol" name="routing-protocol" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="For example, static or BGP"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ <xml-property name="requires" value="persona-model-version"/>
+ <xml-property name="visibility" value="deployment"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="persona-model-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of operational status of the logical link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkRole" name="link-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indication of the network use of the logical link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkName2" name="link-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alias or alternate name (CLCI or D1 name)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="linkId" name="link-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="UUID of the logical-link, SDNC generates this."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points"/>
+ <xml-property name="indexedProps" value="link-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,link-id"/>
+ <xml-property name="uniqueProps" value="link-id"/>
+ <xml-property name="container" value="logical-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/logical-links/logical-link/{link-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SitePairSets">
+ <xml-properties>
+ <xml-property name="description" value="Collection of sets of instances for probes related to generic-vnf"/>
+ </xml-properties>
+ <xml-root-element name="site-pair-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePairSet" name="site-pair-set" type="inventory.aai.onap.org.v2.SitePairSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SitePairSet">
+ <xml-root-element name="site-pair-set"/>
+ <java-attributes>
+ <xml-element java-attribute="sitePairSetId" name="site-pair-set-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of site pair set."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routingInstances" name="routing-instances" type="inventory.aai.onap.org.v2.RoutingInstances"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Set of instances for probes used to measure service level agreements"/>
+ <xml-property name="indexedProps" value="site-pair-set-id"/>
+ <xml-property name="uniqueProps" value="site-pair-set-id"/>
+ <xml-property name="container" value="site-pair-sets"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/site-pair-sets/site-pair-set/{site-pair-set-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="RoutingInstances">
+ <xml-properties>
+ <xml-property name="description" value="set of probes related to generic-vnf routing instance"/>
+ </xml-properties>
+ <xml-root-element name="routing-instances"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routingInstance" name="routing-instance" type="inventory.aai.onap.org.v2.RoutingInstance"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RoutingInstance">
+ <xml-root-element name="routing-instance"/>
+ <java-attributes>
+ <xml-element java-attribute="routingInstanceId" name="routing-instance-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of routing instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="rpmOwner" name="rpm-owner" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="rpm owner"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sitePairs" name="site-pairs" type="inventory.aai.onap.org.v2.SitePairs"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="routing-instance-id"/>
+ <xml-property name="uniqueProps" value="routing-instance-id"/>
+ <xml-property name="dependentOn" value="site-pair-set"/>
+ <xml-property name="container" value="routing-instances"/>
+ <xml-property name="uriTemplate" value="/routing-instances/routing-instance/{routing-instance-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SitePairs">
+ <xml-properties>
+ <xml-property name="description" value="probe within a set"/>
+ </xml-properties>
+ <xml-root-element name="site-pairs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="sitePair" name="site-pair" type="inventory.aai.onap.org.v2.SitePair"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SitePair">
+ <xml-root-element name="site-pair"/>
+ <java-attributes>
+ <xml-element java-attribute="sitePairId" name="site-pair-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceIp" name="source-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prefix address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationIp" name="destination-ip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Prefix address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip version, v4, v6"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationHostname" name="destination-hostname" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Hostname of the destination equipment to which SLAs are measured against."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="destinationEquipType" name="destination-equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The type of destinatination equipment. Could be Router, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="classesOfService" name="classes-of-service" type="inventory.aai.onap.org.v2.ClassesOfService"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="site-pair-id"/>
+ <xml-property name="uniqueProps" value="site-pair-id"/>
+ <xml-property name="dependentOn" value="routing-instance"/>
+ <xml-property name="container" value="site-pairs"/>
+ <xml-property name="uriTemplate" value="/site-pairs/site-pair/{site-pair-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="ClassesOfService">
+ <xml-properties>
+ <xml-property name="description" value="class-of-service of probe"/>
+ </xml-properties>
+ <xml-root-element name="classes-of-service"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="classOfService" name="class-of-service" type="inventory.aai.onap.org.v2.ClassOfService"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ClassOfService">
+ <xml-root-element name="class-of-service"/>
+ <java-attributes>
+ <xml-element java-attribute="cos" name="cos" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="probeId" name="probe-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="probeType" name="probe-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="type of probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="cos"/>
+ <xml-property name="dependentOn" value="site-pair"/>
+ <xml-property name="container" value="classes-of-service"/>
+ <xml-property name="uriTemplate" value="/classes-of-service/class-of-service/{cos}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VpnBindings">
+ <xml-root-element name="vpn-bindings"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vpnBinding" name="vpn-binding" type="inventory.aai.onap.org.v2.VpnBinding"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VpnBinding">
+ <xml-root-element name="vpn-binding"/>
+ <java-attributes>
+ <xml-element java-attribute="vpnId" name="vpn-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="VPN ID, globally unique within A&amp;AI"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnName" name="vpn-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="VPN Name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="globalRouteTarget" name="global-route-target" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Number used to identify a VPN, globally unique in the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpnPlatform" name="vpn-platform" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the platform associated with the VPN example AVPN, Mobility"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList">
+ <xml-properties>
+ <xml-property name="description" value="l3-networks relate to vpn-bindings"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPN binding"/>
+ <xml-property name="nameProps" value="vpn-name"/>
+ <xml-property name="indexedProps" value="vpn-name,vpn-id,global-route-target"/>
+ <xml-property name="uniqueProps" value="vpn-id"/>
+ <xml-property name="container" value="vpn-bindings"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vpn-bindings/vpn-binding/{vpn-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VplsPes">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VPLS Provider Edge routers"/>
+ </xml-properties>
+ <xml-root-element name="vpls-pes"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vplsPe" name="vpls-pe" type="inventory.aai.onap.org.v2.VplsPe"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VplsPe">
+ <xml-root-element name="vpls-pe"/>
+ <java-attributes>
+ <xml-element java-attribute="equipmentName" name="equipment-name" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (v4-loopback0-ip-address)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value, e.g., VPLS-PE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="Temporary location for stag to get to VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v2.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v2.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="VPLS Provider Edge routers."/>
+ <xml-property name="indexedProps" value="prov-status,equipment-name"/>
+ <xml-property name="container" value="vpls-pes"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vpls-pes/vpls-pe/{equipment-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="MulticastConfigurations">
+ <xml-properties>
+ <xml-property name="description" value="multicast configuration of generic-vnf ip-address"/>
+ </xml-properties>
+ <xml-root-element name="multicast-configurations"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="multicastConfiguration" name="multicast-configuration" type="inventory.aai.onap.org.v2.MulticastConfiguration"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="MulticastConfiguration">
+ <xml-root-element name="multicast-configuration"/>
+ <java-attributes>
+ <xml-element java-attribute="multicastConfigurationId" name="multicast-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of multicast configuration."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="multicastProtocol" name="multicast-protocol" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="protocol of multicast configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="rpType" name="rp-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="rp type of multicast configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="multicast-configuration-id"/>
+ <xml-property name="uniqueProps" value="multicast-configuration-id"/>
+ <xml-property name="container" value="multicast-configurations"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Vces">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Virtual Customer Edge Routers, used specifically for Gamma. This object is deprecated."/>
+ </xml-properties>
+ <xml-root-element name="vces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vce" name="vce" type="inventory.aai.onap.org.v2.Vce"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vce">
+ <xml-root-element name="vce"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded and clients should expect changes to occur in the future to this field as ASDC matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service from ASDC. Expect this to change as ASDC matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ <xml-property name="dbAlias" value="operational-status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="License key"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network role being played by this VNF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vpeId" name="vpe-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of VPE connected to this VCE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="v6VceWanAddress" name="v6-vce-wan-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Valid v6 IP address for the WAN Link on this router. Implied length of /64."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure vce, also used for troubleshooting and is IP used for traps generated by VCE."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Entitlement resource uuid"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroups" name="port-groups" type="inventory.aai.onap.org.v2.PortGroups"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Virtual Customer Edge Router, used specifically for Gamma. This object is deprecated."/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id"/>
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="container" value="vces"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="extends" value="vnf"/>
+ <xml-property name="uriTemplate" value="/network/vces/vce/{vnf-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PortGroups">
+ <xml-root-element name="port-groups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="portGroup" name="port-group" type="inventory.aai.onap.org.v2.PortGroup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PortGroup">
+ <xml-root-element name="port-group"/>
+ <java-attributes>
+ <xml-element java-attribute="interfaceId" name="interface-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkName" name="neutron-network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network name of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupId" name="port-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID for port group in vmware"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="portGroupName" name="port-group-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Likely to duplicate value of neutron network name"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="switchName" name="switch-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="DVS or standard switch name (should be non-null for port groups associated with DVS)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cvlanTags" name="cvlan-tags" type="inventory.aai.onap.org.v2.CvlanTags"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Used to capture the network interfaces of this VCE"/>
+ <xml-property name="nameProps" value="port-group-name"/>
+ <xml-property name="indexedProps" value="port-group-id,heat-stack-id,interface-id,interface-name,switch-name"/>
+ <xml-property name="dependentOn" value="vce"/>
+ <xml-property name="container" value="port-groups"/>
+ <xml-property name="uriTemplate" value="/port-groups/port-group/{interface-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="CvlanTags">
+ <xml-root-element name="cvlan-tags"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="cvlanTagEntry" name="cvlan-tag-entry" type="inventory.aai.onap.org.v2.CvlanTagEntry"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CvlanTagEntry">
+ <xml-root-element name="cvlan-tag-entry"/>
+ <java-attributes>
+ <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="See mis-na-virtualization-platform.yang"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="dependentOn" value="port-group"/>
+ <xml-property name="indexedProps" value="cvlan-tag"/>
+ <xml-property name="container" value="cvlan-tags"/>
+ <xml-property name="uriTemplate" value="/cvlan-tags/cvlan-tag/{cvlan-tag-cvlan-tag}"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="Vnfcs">
+ <xml-properties>
+ <xml-property name="description" value="virtual network components associated with a vserver from application controller."/>
+ </xml-properties>
+ <xml-root-element name="vnfcs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vnfc" name="vnfc" type="inventory.aai.onap.org.v2.Vnfc"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Vnfc">
+ <xml-root-element name="vnfc"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfcName" name="vnfc-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vnfc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfcFunctionCode" name="vnfc-function-code" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="function code"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfcType" name="vnfc-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="type"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="prov status of this vnfc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by APP-C"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4OamVip" name="ipaddress-v4-oam-vip" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Oam V4 vip address of this vnfc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="groupNotation" name="group-notation" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group notation of VNFC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vnfc-name,prov-status,vnfc-type,vnfc-function-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation"/>
+ <xml-property name="container" value="vnfcs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/vnfcs/vnfc/{vnfc-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="L3Networks">
+ <xml-root-element name="l3-networks"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="l3Network" name="l3-network" type="inventory.aai.onap.org.v2.L3Network"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="L3Network">
+ <xml-root-element name="l3-network"/>
+ <java-attributes>
+ <xml-element java-attribute="networkId" name="network-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Network ID, should be uuid. Unique across A&amp;AI."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the network, governed by some naming convention.."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkType" name="network-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the network - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkRole" name="network-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Role the network plans - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkTechnology" name="network-technology" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network technology - who defines these values?"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron network id of this Interface"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isBoundToVpn" name="is-bound-to-vpn" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Set to true if bound to VPN"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service from ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkRoleInstance" name="network-role-instance" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="network role instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailNetworkFqdn" name="contrail-network-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contrail FQDN for the network"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ <xml-property name="requires" value="persona-model-version"/>
+ <xml-property name="visibility" value="deployment"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="persona-model-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="physicalNetworkName" name="physical-network-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name associated with the physical network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isProviderNetwork" name="is-provider-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is a provider network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isSharedNetwork" name="is-shared-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is a shared network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="isExternalNetwork" name="is-external-network" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="boolean indicatating whether or not network is an external network."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnets" name="subnets" type="inventory.aai.onap.org.v2.Subnets"/>
+ <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.onap.org.v2.CtagAssignments"/>
+ <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.onap.org.v2.SegmentationAssignments"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList">
+ <xml-properties>
+ <xml-property name="description" value="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding"/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Generic network definition"/>
+ <xml-property name="nameProps" value="network-name"/>
+ <xml-property name="indexedProps" value="heat-stack-id,network-uuid,service-id,network-id,network-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-network-fqdn"/>
+ <xml-property name="uniqueProps" value="network-id"/>
+ <xml-property name="container" value="l3-networks"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/l3-networks/l3-network/{network-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="NetworkPolicies">
+ <xml-root-element name="network-policies"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="networkPolicy" name="network-policy" type="inventory.aai.onap.org.v2.NetworkPolicy"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="NetworkPolicy">
+ <xml-root-element name="network-policy"/>
+ <java-attributes>
+ <xml-element java-attribute="networkPolicyId" name="network-policy-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID representing unique key to this instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkPolicyFqdn" name="network-policy-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contrail FQDN for the policy"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID for the openStack Heat instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="nameProps" value="network-policy-fqdn"/>
+ <xml-property name="indexedProps" value="network-policy-id,network-policy-fqdn"/>
+ <xml-property name="uniqueProps" value="network-policy-id"/>
+ <xml-property name="container" value="network-policies"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/network-policies/network-policy/{network-policy-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="CtagAssignments">
+ <xml-root-element name="ctag-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ctagAssignment" name="ctag-assignment" type="inventory.aai.onap.org.v2.CtagAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="CtagAssignment">
+ <xml-root-element name="ctag-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" required="true" type="java.lang.Long" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="id."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="vlan-id-inner"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="ctag-assignments"/>
+ <xml-property name="uriTemplate" value="/ctag-assignments/ctag-assignment/{vlan-id-inner}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Subnets">
+ <xml-root-element name="subnets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="subnet" name="subnet" type="inventory.aai.onap.org.v2.Subnet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Subnet">
+ <xml-root-element name="subnet"/>
+ <java-attributes>
+ <xml-element java-attribute="subnetId" name="subnet-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Subnet ID, should be UUID."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="subnetName" name="subnet-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name associated with the subnet."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Neutron id of this subnet"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="gatewayAddress" name="gateway-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="gateway ip address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="networkStartAddress" name="network-start-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="network start address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cidrMask" name="cidr-mask" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="cidr mask"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ip version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="dhcpEnabled" name="dhcp-enabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="dhcp enabled"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpStart" name="dhcp-start" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the start address reserved for use by dhcp"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dhcpEnd" name="dhcp-end" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the last address reserved for use by dhcp"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="indexedProps" value="subnet-id,subnet-name"/>
+ <xml-property name="nameProps" value="subnet-name"/>
+ <xml-property name="uniqueProps" value="subnet-id"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="subnets"/>
+ <xml-property name="uriTemplate" value="/subnets/subnet/{subnet-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="GenericVnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of VNFs"/>
+ </xml-properties>
+ <xml-root-element name="generic-vnfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="genericVnf" name="generic-vnf" type="inventory.aai.onap.org.v2.GenericVnf"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="GenericVnf">
+ <xml-root-element name="generic-vnf"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded and clients should expect changes to occur in the future to this field as ASDC matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier of service from ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ <xml-property name="dbAlias" value="operational-status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="License key"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, used by MSO."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of managed by company or customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="nmLanV6Address" name="nm-lan-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 Loopback address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementV6Address" name="management-v6-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 management address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpu" name="vcpu" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vcpuUnits" name="vcpu-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vcpu, used for VNFs with no vservers/flavors"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemory" name="vmemory" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vmemoryUnits" name="vmemory-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vmemory, used for VNFs with no vservers/flavors"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdisk" name="vdisk" type="java.lang.Long">
+ <xml-properties>
+ <xml-property name="description" value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vdiskUnits" name="vdisk-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="units associated with vdisk, used for VNFs with no vservers/flavors"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="details regarding the generic-vnf operation"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether generic-vnf access uses SSH"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ <xml-property name="requires" value="persona-model-version"/>
+ <xml-property name="visibility" value="deployment"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="persona-model-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="as-number of the VNF"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="regionalResourceSubzone" name="regional-resource-subzone" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="represents sub zone of the rr plane"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v2.LInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v2.LagInterfaces"/>
+ <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.onap.org.v2.VfModules"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="General purpose VNF"/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version"/>
+ <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="container" value="generic-vnfs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="extends" value="vnf"/>
+ <xml-property name="uriTemplate" value="/network/generic-vnfs/generic-vnf/{vnf-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VfModules">
+ <xml-properties>
+ <xml-property name="description" value="Collection of vf-modules, a deployment unit of VNFCs"/>
+ </xml-properties>
+ <xml-root-element name="vf-modules"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vfModule" name="vf-module" type="inventory.aai.onap.org.v2.VfModule"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VfModule">
+ <xml-root-element name="vf-module"/>
+ <java-attributes>
+ <xml-element java-attribute="vfModuleId" name="vf-module-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of vf-module."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vfModuleName" name="vf-module-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of vf-module"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="orchestration status of this vf-module, mastered by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="isBaseVfModule" name="is-base-vf-module" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="used to indicate whether or not this object is base vf module"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model id for this resource or service model."/>
+ <xml-property name="dbAlias" value="model-invariant-id-local"/>
+ <xml-property name="requires" value="persona-model-version"/>
+ <xml-property name="visibility" value="deployment"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="deployment"/>
+ <xml-property name="requires" value="persona-model-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC model version for this resource or service model."/>
+ <xml-property name="visibility" value="internal"/>
+ <xml-property name="dbAlias" value="model-version-id-local"/>
+ <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="the Contrail unique ID for a service-instance"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="a deployment unit of VNFCs"/>
+ <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-service-instance-fqdn"/>
+ <xml-property name="dependentOn" value="generic-vnf"/>
+ <xml-property name="container" value="vf-modules"/>
+ <xml-property name="uriTemplate" value="/vf-modules/vf-module/{vf-module-id}"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="LagLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of link aggregation connections"/>
+ </xml-properties>
+ <xml-root-element name="lag-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="lagLink" name="lag-link" type="inventory.aai.onap.org.v2.LagLink"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="LagLink">
+ <xml-root-element name="lag-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Alphabetical concatenation of lag-interface names"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="LAG links can connect lag-interfaces"/>
+ <xml-property name="indexedProps" value="link-name"/>
+ <xml-property name="container" value="lag-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/lag-links/lag-link/{link-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Newvces">
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce."/>
+ </xml-properties>
+ <xml-root-element name="newvces"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="newvce" name="newvce" type="inventory.aai.onap.org.v2.Newvce"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Newvce">
+ <xml-root-element name="newvce"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId2" name="vnf-id2" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF, can't use same attribute name right now until we promote this new object"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Alternate name of VNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded and clients should expect changes to occur in the future to this field as ASDC matures."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicator for whether the resource is considered operational"/>
+ <xml-property name="dbAlias" value="operational-status"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="License key"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (v4-loopback0-ip-address)."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Client should send valid enumerated value."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 Loopback0 address"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v2.LInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce."/>
+ <xml-property name="nameProps" value="vnf-name"/>
+ <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2"/>
+ <xml-property name="searchable" value="vnf-id2,vnf-name,vnf-name2"/>
+ <xml-property name="uniqueProps" value="vnf-id2"/>
+ <xml-property name="container" value="newvces"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/newvces/newvce/{vnf-id2}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="Pnfs">
+ <xml-properties>
+ <xml-property name="description" value="Collection of Physical Network Functions."/>
+ </xml-properties>
+ <xml-root-element name="pnfs"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="pnf" name="pnf" type="inventory.aai.onap.org.v2.Pnf"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Pnf">
+ <xml-root-element name="pnf"/>
+ <java-attributes>
+ <xml-element java-attribute="pnfName" name="pnf-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="unique name of Physical Network Function."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfName2" name="pnf-name2" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="name of Physical Network Function."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfName2Source" name="pnf-name2-source" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="source of name2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="pnfId" name="pnf-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="id of pnf"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment type. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment vendor. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Equipment model. Source of truth should define valid values."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="identifier of managed by company or customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipaddressV4Oam" name="ipaddress-v4-oam" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ipv4-oam-address with new naming convention for IP addresses"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="swVersion" name="sw-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="sw-version is the version of SW for the hosted application on the PNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="orchestration-status is the status of orchestration on the PNF."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+ <xml-properties>
+ <xml-property name="defaultValue" value="false"/>
+ <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="frameId" name="frame-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="ID of the physical frame (relay rack) where pnf is installed."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v2.PInterfaces"/>
+ <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v2.LagInterfaces"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world."/>
+ <xml-property name="indexedProps" value="pnf-name,orchestration-status"/>
+ <xml-property name="uniqueProps" value="pnf-name"/>
+ <xml-property name="container" value="pnfs"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/pnfs/pnf/{pnf-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="PhysicalLinks">
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces"/>
+ </xml-properties>
+ <xml-root-element name="physical-links"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="physicalLink" name="physical-link" type="inventory.aai.onap.org.v2.PhysicalLink"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PhysicalLink">
+ <xml-root-element name="physical-link"/>
+ <java-attributes>
+ <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the numeric part of the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Captures the units corresponding to the speed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Circuit it"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dualMode" name="dual-mode" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Dual access mode (e.g., primary, secondary"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="To provide information on who manages this circuit. A&amp;AI or 3rd party transport provider"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderName" name="service-provider-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the service Provider on this link."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Collection of physical connections, typically between p-interfaces"/>
+ <xml-property name="indexedProps" value="circuit-id,link-name"/>
+ <xml-property name="alternateKeys1" value="circuit-id"/>
+ <xml-property name="container" value="physical-links"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/physical-links/physical-link/{link-name}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="VigServers">
+ <xml-root-element name="vig-servers"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="vigServer" name="vig-server" type="inventory.aai.onap.org.v2.VigServer"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="VigServer">
+ <xml-root-element name="vig-server"/>
+ <java-attributes>
+ <xml-element java-attribute="vigAddressType" name="vig-address-type" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="indicates whether the VIG is for AVPN or INTERNET"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV4Vig" name="ipaddress-v4-vig" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v4 IP of the vig server"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV6Vig" name="ipaddress-v6-vig" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="v6 IP of the vig server"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607"/>
+ <xml-property name="indexedProps" value="vig-address-type"/>
+ <xml-property name="dependentOn" value="ipsec-configuration"/>
+ <xml-property name="container" value="vig-servers"/>
+ <xml-property name="uriTemplate" value="/vig-servers/vig-server/{vig-address-type}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="IpsecConfigurations">
+ <xml-root-element name="ipsec-configurations"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="ipsecConfiguration" name="ipsec-configuration" type="inventory.aai.onap.org.v2.IpsecConfiguration"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="IpsecConfiguration">
+ <xml-root-element name="ipsec-configuration"/>
+ <java-attributes>
+ <xml-element java-attribute="ipsecConfigurationId" name="ipsec-configuration-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="UUID of this configuration"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedVigAddressType" name="requested-vig-address-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicate the type of VIG server like AVPN, INTERNET, BOTH"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedEncryptionStrength" name="requested-encryption-strength" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encryption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedDmzType" name="requested-dmz-type" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="can offer a shared DMZ or a DMZ specific to a customer"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sharedDmzNetworkAddress" name="shared-dmz-network-address" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Network address of shared DMZ"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="requestedCustomerName" name="requested-customer-name" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="If the DMZ is a custom DMZ, this field will indicate the customer information"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikeVersion" name="ike-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="can be 1 or 2"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1Authentication" name="ikev1-authentication" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Contains values like md5, sha1, sha256, sha384"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1Encryption" name="ikev1-encryption" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc,?aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1DhGroup" name="ikev1-dh-group" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Diffie-Hellman group like DH-GROUP2, DH-GROUP5, DH-GROUP14"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1AmGroupId" name="ikev1-am-group-id" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Group name defined in VIG for clients using aggressive mode"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1AmPassword" name="ikev1-am-password" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="pre-shared key for the above group name "/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ikev1SaLifetime" name="ikev1-sa-lifetime" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Lifetime for IKEv1 SA"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecAuthentication" name="ipsec-authentication" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="md5, sha1, sha256, sha384"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecEncryption" name="ipsec-encryption" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc,?aes-192-cbc, aes-265-cbc"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecSaLifetime" name="ipsec-sa-lifetime" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Life time for IPSec SA"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="ipsecPfs" name="ipsec-pfs" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="enable PFS or not"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="xauthUserId" name="xauth-userid" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="user ID for xAuth, sm-user, ,nmteHostName"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="xauthUserPassword" name="xauth-user-password" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Encrypted using the Juniper $9$ algorithm"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dpdInterval" name="dpd-interval" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="The time between DPD probe"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="dpdFrequency" name="dpd-frequency" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Maximum number of DPD before claiming the tunnel is down"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.onap.org.v2.VigServers"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C"/>
+ <xml-property name="indexedProps" value="ipsec-configuration-id"/>
+ <xml-property name="uniqueProps" value="ipsec-configuration-id"/>
+ <xml-property name="container" value="ipsec-configurations"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}"/>
+ </xml-properties>
+ </java-type>
+
+
+ <java-type name="NotificationEvent">
+ <xml-root-element name="notification-event"/>
+ <java-attributes>
+ <xml-element java-attribute="cambriaPartition" name="cambria.partition" type="java.lang.String"/>
+ <xml-element java-attribute="eventHeader" name="event-header" type="inventory.aai.onap.org.v2.NotificationEventHeader"/>
+ <xml-any-element java-attribute="entity"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="NotificationEventHeader">
+ <xml-root-element name="notification-event-header"/>
+ <java-attributes>
+ <xml-element java-attribute="id" name="id" type="java.lang.String"/>
+ <xml-element java-attribute="timestamp" name="timestamp" type="java.lang.String"/>
+ <xml-element java-attribute="sourceName" name="source-name" type="java.lang.String"/>
+ <xml-element java-attribute="domain" name="domain" type="java.lang.String"/>
+ <xml-element java-attribute="sequenceNumber" name="sequence-number" type="java.lang.String"/>
+ <xml-element java-attribute="severity" name="severity" type="java.lang.String"/>
+ <xml-element java-attribute="eventType" name="event-type" type="java.lang.String"/>
+ <xml-element java-attribute="version" name="version" type="java.lang.String"/>
+ <xml-element java-attribute="action" name="action" type="java.lang.String"/>
+ <xml-element java-attribute="entityType" name="entity-type" type="java.lang.String"/>
+ <xml-element java-attribute="topEntityType" name="top-entity-type" type="java.lang.String"/>
+ <xml-element java-attribute="entityLink" name="entity-link" type="java.lang.String"/>
+ <xml-element java-attribute="status" name="status" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="AaiInternal">
+ <xml-root-element name="aai-internal"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="reservedPropNames" name="reserved-prop-names" type="inventory.aai.onap.org.v2.ReservedPropNames"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.onap.org.v2.EdgePropNames"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="ReservedPropNames">
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define some reserved properties of a vertex"/>
+ <xml-property name="uniqueProps" value="aai-unique-key"/>
+ <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type,aai-uri"/>
+ </xml-properties>
+ <xml-root-element name="reserved-prop-names"/>
+ <java-attributes>
+ <xml-element java-attribute="lastModSourceOfTruth" name="last-mod-source-of-truth" type="java.lang.String"/>
+ <xml-element java-attribute="aaiNodeType" name="aai-node-type" type="java.lang.String"/>
+ <xml-element java-attribute="aaiCreatedTs" name="aai-created-ts" type="java.lang.Long"/>
+ <xml-element java-attribute="aaiUniqueKey" name="aai-unique-key" type="java.lang.String"/>
+ <xml-element java-attribute="aaiLastModTs" name="aai-last-mod-ts" type="java.lang.Long"/>
+ <xml-element java-attribute="sourceOfTruth" name="source-of-truth" type="java.lang.String"/>
+ <xml-element java-attribute="aaiUri" name="aai-uri" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+ <java-type name="EdgePropNames">
+ <!-- NOTE that the names of these properties are not consistent and are in mixed case and hyphen case for now -->
+ <xml-properties>
+ <xml-property name="description" value="Internal map to define the properties of an edge and interpret the map EdgeRules"/>
+ <xml-property name="edgeInfo" value="edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV"/>
+ </xml-properties>
+ <xml-root-element name="edge-prop-names"/>
+ <java-attributes>
+ <xml-element java-attribute="edgeLabel" name="edgeLabel" type="java.lang.String"/>
+ <xml-element java-attribute="direction" name="direction" type="java.lang.String"/>
+ <xml-element java-attribute="multiplicityRule" name="multiplicityRule" type="java.lang.String"/>
+ <xml-element java-attribute="containsOtherV" name="contains-other-v" type="java.lang.String"/>
+ <xml-element java-attribute="deleteOtherV" name="delete-other-v" type="java.lang.String"/>
+ <xml-element java-attribute="svcinfra" name="SVC-INFRA" type="java.lang.String"/>
+ <xml-element java-attribute="preventDelete" name="prevent-delete" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Models">
+ <xml-properties>
+ <xml-property name="description" value="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models"/>
+ </xml-properties>
+ <xml-root-element name="models"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="model" name="model" type="inventory.aai.onap.org.v2.Model"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Model">
+ <xml-properties>
+ <xml-property name="description" value="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models"/>
+ <xml-property name="nameProps" value="model-name,model-type"/>
+ <xml-property name="indexedProps" value="model-name-version-id,model-type,model-name,model-id,model-version"/>
+ <xml-property name="alternateKeys1" value="model-id,model-version"/>
+ <xml-property name="uniqueProps" value="model-name-version-id"/>
+ <xml-property name="container" value="models"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/models/model/{model-name-version-id}"/>
+ </xml-properties>
+ <xml-root-element name="model"/>
+ <java-attributes>
+ <xml-element java-attribute="modelNameVersionId" name="model-name-version-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Name of the model, which can change from version to version."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelId" name="model-id" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Invariant unique ID which does not change from version to version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Version"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Description"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v2.ModelElements"/>
+ <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v2.Metadata"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelElements">
+ <xml-root-element name="model-elements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelElement" name="model-element" type="inventory.aai.onap.org.v2.ModelElement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelElement">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model."/>
+ <xml-property name="uniqueProps" value="model-element-uuid"/>
+ <xml-property name="indexedProps" value="model-element-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="model-elements"/>
+ <xml-property name="uriTemplate" value="/model-elements/model-element/{model-element-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="model-element"/>
+ <java-attributes>
+ <xml-element java-attribute="modelElementUuid" name="model-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="newDataDelFlag" name="new-data-del-flag" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Indicates whether this element was created as part of instantiation from this model"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="cardinality" name="cardinality" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="How many of this type of element are required/allowed"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="linkagePoints" name="linkage-points" type="java.lang.String">
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v2.ModelElements">
+ <xml-properties>
+ <xml-property name="description" value="Defines how other models combine to make up a higher-level model"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="modelConstraints" name="model-constraints" type="inventory.aai.onap.org.v2.ModelConstraints">
+ <xml-properties>
+ <xml-property name="description" value="Describes new constraints on this model element that are not part of that model's definition"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelConstraints">
+ <xml-root-element name="model-constraints"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="modelConstraint" name="model-constraint" type="inventory.aai.onap.org.v2.ModelConstraint"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelConstraint">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="model-constraint-uuid"/>
+ <xml-property name="indexedProps" value="model-constraint-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="model-constraints"/>
+ <xml-property name="uriTemplate" value="/model-constraints/model-constraint/{model-constraint-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="model-constraint"/>
+ <java-attributes>
+ <xml-element java-attribute="modelConstraintUuid" name="model-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constrainedElementSetUuidToReplace" name="constrained-element-set-uuid-to-replace" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="constrainedElementSets" name="constrained-element-sets" type="inventory.aai.onap.org.v2.ConstrainedElementSets"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ConstrainedElementSets">
+ <xml-root-element name="constrained-element-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="constrainedElementSet" name="constrained-element-set" type="inventory.aai.onap.org.v2.ConstrainedElementSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ConstrainedElementSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="constrained-element-set-uuid"/>
+ <xml-property name="indexedProps" value="constrained-element-set-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="constrained-element-sets"/>
+ <xml-property name="uriTemplate" value="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="constrained-element-set"/>
+ <java-attributes>
+ <xml-element java-attribute="constrainedElementSetUuid" name="constrained-element-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="checkType" name="check-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="elementChoiceSets" name="element-choice-sets" type="inventory.aai.onap.org.v2.ElementChoiceSets"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ElementChoiceSets">
+ <xml-root-element name="element-choice-sets"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="elementChoiceSet" name="element-choice-set" type="inventory.aai.onap.org.v2.ElementChoiceSet"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ElementChoiceSet">
+ <xml-properties>
+ <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements."/>
+ <xml-property name="uniqueProps" value="element-choice-set-uuid"/>
+ <xml-property name="indexedProps" value="element-choice-set-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="element-choice-sets"/>
+ <xml-property name="uriTemplate" value="/element-choice-sets/element-choice-set/{element-choice-set-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="element-choice-set"/>
+ <java-attributes>
+ <xml-element java-attribute="elementChoiceSetUuid" name="element-choice-set-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="elementChoiceSetName" name="element-choice-set-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="cardinality" name="cardinality" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v2.ModelElements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueries">
+ <xml-root-element name="named-queries"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQuery" name="named-query" type="inventory.aai.onap.org.v2.NamedQuery"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQuery">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="nameProps" value="named-query-name"/>
+ <xml-property name="uniqueProps" value="named-query-uuid"/>
+ <xml-property name="indexedProps" value="named-query-uuid,named-query-name"/>
+ <xml-property name="container" value="named-queries"/>
+ <xml-property name="namespace" value="service-design-and-creation"/>
+ <xml-property name="uriTemplate" value="/service-design-and-creation/named-queries/named-query/{named-query-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="named-query"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQueryUuid" name="named-query-uuid" required="true" type="java.lang.String" xml-key="true"/>
+ <xml-element java-attribute="namedQueryName" name="named-query-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryVersion" name="named-query-version" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="requiredInputParams" name="required-input-param" type="java.lang.String">
+ <xml-element-wrapper name="required-input-params"/>
+ </xml-element>
+ <xml-element java-attribute="description" name="description" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.onap.org.v2.NamedQueryElements"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueryElements">
+ <xml-root-element name="named-query-elements"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="namedQueryElement" name="named-query-element" type="inventory.aai.onap.org.v2.NamedQueryElement"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="NamedQueryElement">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="named-query-element-uuid"/>
+ <xml-property name="indexedProps" value="named-query-element-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="named-query-elements"/>
+ <xml-property name="uriTemplate" value="/named-query-elements/named-query-element/{named-query-element-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="named-query-element"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQueryElementUuid" name="named-query-element-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="propertyLimitDesc" name="property-limit-desc" type="java.lang.String"/>
+ <xml-element java-attribute="doNotOutput" name="do-not-output" type="java.lang.String"/>
+ <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.onap.org.v2.NamedQueryElements"/>
+ <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.onap.org.v2.RelatedLookups"/>
+ <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.onap.org.v2.PropertyConstraints"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedLookups">
+ <xml-root-element name="related-lookups"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="relatedLookup" name="related-lookup" type="inventory.aai.onap.org.v2.RelatedLookup"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RelatedLookup">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="related-lookup-uuid"/>
+ <xml-property name="indexedProps" value="related-lookup-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="related-lookups"/>
+ <xml-property name="uriTemplate" value="/related-lookups/related-lookup/{related-lookup-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="related-lookup"/>
+ <java-attributes>
+ <xml-element java-attribute="relatedLookupUuid" name="related-lookup-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="sourceNodeType" name="source-node-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="sourceNodeProperty" name="source-node-property" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="targetNodeType" name="target-node-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="targetNodeProperty" name="target-node-property" required="true" type="java.lang.String"/>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PropertyConstraints">
+ <xml-root-element name="property-constraints"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="propertyConstraint" name="property-constraint" type="inventory.aai.onap.org.v2.PropertyConstraint"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="PropertyConstraint">
+ <xml-properties>
+ <xml-property name="description" value="TBD"/>
+ <xml-property name="uniqueProps" value="property-constraint-uuid"/>
+ <xml-property name="indexedProps" value="property-constraint-uuid"/>
+ <xml-property name="allowDirectRead" value="true"/>
+ <xml-property name="allowDirectWrite" value="false"/>
+ <xml-property name="container" value="property-constraints"/>
+ <xml-property name="uriTemplate" value="/property-constraints/property-constraint/{property-constraint-uuid}"/>
+ </xml-properties>
+ <xml-root-element name="property-constraint"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyConstraintUuid" name="property-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="autoGenerateUuid" value="true"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="property-name" name="property-name" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="property-value" name="property-value" required="true" type="java.lang.String"/>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ModelAndNamedQuerySearch">
+ <xml-properties>
+ <xml-property name="description" value="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="model-and-named-query-search"/>
+ <java-attributes>
+ <xml-element java-attribute="queryParameters" name="query-parameters" type="inventory.aai.onap.org.v2.QueryParameters"/>
+ <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.onap.org.v2.InstanceFilters"/>
+ <xml-element java-attribute="topNodeType" name="top-node-type" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="QueryParameters">
+ <xml-properties>
+ <xml-property name="description" value="QueryParameters for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="query-parameters"/>
+ <java-attributes>
+ <xml-element java-attribute="namedQuery" name="named-query" type="inventory.aai.onap.org.v2.NamedQuery"/>
+ <xml-element java-attribute="model" name="model" type="inventory.aai.onap.org.v2.Model"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceFilters">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilters for performing a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="instance-filters"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="instanceFilter" name="instance-filter" type="inventory.aai.onap.org.v2.InstanceFilter"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InstanceFilter">
+ <xml-properties>
+ <xml-property name="description" value="InstanceFilter for performing a named-query or model query"/>
+ <xml-property name="container" value="instance-filters"/>
+ </xml-properties>
+ <xml-root-element name="instance-filter"/>
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="Properties">
+ <xml-properties>
+ <xml-property name="description" value="Property holder for query properties or instance properties"/>
+ </xml-properties>
+ <xml-root-element name="properties"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ResponseList">
+ <xml-properties>
+ <xml-property name="description" value="Response container for the results of a named-query or model query"/>
+ </xml-properties>
+ <xml-root-element name="response-list"/>
+ <java-attributes>
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v2.InventoryResponseItems"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryResponseItems">
+ <xml-properties>
+ <xml-property name="description" value="Container for inventory items in response list"/>
+ <xml-property name="container" value="response-list"/>
+ </xml-properties>
+ <xml-root-element name="inventory-response-items"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="inventoryResponseItem" name="inventory-response-item" type="inventory.aai.onap.org.v2.InventoryResponseItem"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="InventoryResponseItem">
+ <xml-properties>
+ <xml-property name="description" value="Inventory item for response list"/>
+ <xml-property name="container" value="inventory-response-items"/>
+ </xml-properties>
+ <xml-root-element name="inventory-response-item"/>
+ <java-attributes>
+ <xml-element java-attribute="modelName" name="model-name" type="java.lang.String"/>
+ <xml-any-element java-attribute="item"/>
+ <xml-element java-attribute="extraProperties" name="extra-properties" type="inventory.aai.onap.org.v2.ExtraProperties"/>
+ <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v2.InventoryResponseItems"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExtraProperties">
+ <xml-properties>
+ <xml-property name="description" value="Extra properties for inventory item for response list"/>
+ </xml-properties>
+ <xml-root-element name="extra-properties"/>
+ <java-attributes>
+ <xml-any-element container-type="java.util.ArrayList" java-attribute="extraProperty" name="extra-property" type="inventory.aai.onap.org.v2.ExtraProperty"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="ExtraProperty">
+ <xml-root-element name="extra-property"/>
+ <java-attributes>
+ <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String"/>
+ <xml-any-element java-attribute="propertyValue" lax="true" name="property-value"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RouteTableReferences">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack route table references"/>
+ </xml-properties>
+ <xml-root-element name="route-table-references"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="routeTableReference" name="route-table-reference" type="inventory.aai.onap.org.v2.RouteTableReference"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="RouteTableReference">
+ <xml-root-element name="route-table-reference"/>
+ <java-attributes>
+ <xml-element java-attribute="routeTableReferenceId" name="route-table-reference-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="routeTableReferenceFqdn" name="route-table-reference-fqdn" required="true" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="FQDN entry in the route table."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+
+ <xml-properties>
+ <xml-property name="description" value="Openstack route table reference."/>
+ <xml-property name="nameProps" value="route-table-reference-fqdn"/>
+ <xml-property name="uniqueProps" value="route-table-reference-id"/>
+ <xml-property name="indexedProps" value="route-table-reference-id,route-table-reference-fqdn"/>
+ <xml-property name="container" value="route-table-references"/>
+ <xml-property name="namespace" value="network"/>
+ <xml-property name="uriTemplate" value="/network/route-table-references/route-table-reference/{route-table-reference-id}"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="SegmentationAssignments">
+ <xml-properties>
+ <xml-property name="description" value="Collection of openstack segmentation assignments"/>
+ </xml-properties>
+ <xml-root-element name="segmentation-assignments"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.onap.org.v2.SegmentationAssignment"/>
+ </java-attributes>
+ </java-type>
+
+ <java-type name="SegmentationAssignment">
+ <xml-root-element name="segmentation-assignment"/>
+ <java-attributes>
+ <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Concurrency value"/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Openstack segmentation assignment."/>
+ <xml-property name="indexedProps" value="segmentation-id"/>
+ <xml-property name="dependentOn" value="l3-network"/>
+ <xml-property name="container" value="segmentation-assignments"/>
+ <xml-property name="uriTemplate" value="/segmentation-assignments/segmentation-assignment/{segmentation-id}"/>
+ </xml-properties>
+ </java-type>
+ <java-type name="Vnf">
+ <xml-root-element name="vnf"/>
+ <java-attributes>
+ <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique id of VNF. This is unique across the graph."/>
+ </xml-properties>
+ </xml-element>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Abstract vnf class"/>
+ <xml-property name="indexedProps" value="vnf-id"/>
+ <xml-property name="uniqueProps" value="vnf-id"/>
+ <xml-property name="inheritors" value="vce,generic-vnf"/>
+ <xml-property name="abstract" value="true"/>
+ </xml-properties>
+ </java-type>
+ </java-types>
+</xml-bindings> \ No newline at end of file
diff --git a/aai-core/src/test/resources/schema-ingest.properties b/aai-core/src/test/resources/schema-ingest.properties
index 2b801e2d..fe87a369 100644
--- a/aai-core/src/test/resources/schema-ingest.properties
+++ b/aai-core/src/test/resources/schema-ingest.properties
@@ -8,8 +8,8 @@ schema.nodes.exclusion.list=
schema.edges.exclusion.list=
# Schema Version Configuration
-schema.version.list=v8,v9,v10,v11,v12,v13,v14
-schema.version.depth.start=v9
+schema.version.list=v10,v11,v12,v13,v14
+schema.version.depth.start=v10
schema.version.related.link.start=v10
schema.version.app.root.start=v11
schema.version.namespace.change.start=v11
diff --git a/aai-core/src/test/resources/test_aaiconfig.properties b/aai-core/src/test/resources/test_aaiconfig.properties
deleted file mode 100644
index 3da70592..00000000
--- a/aai-core/src/test/resources/test_aaiconfig.properties
+++ /dev/null
@@ -1,185 +0,0 @@
-###
-# ============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=========================================================
-###
-
-####################################################################
-# REMEMBER TO THINK ABOUT ENVIRONMENTAL DIFFERENCES AND CHANGE THE
-# TEMPLATE AND *ALL* DATAFILES
-####################################################################
-
-aai.config.checktime=1000
-
-# this could come from siteconfig.pl?
-aai.config.nodename=AutomaticallyOverwritten
-
-aai.logging.hbase.interceptor=true
-aai.logging.hbase.enabled=true
-aai.logging.hbase.logrequest=true
-aai.logging.hbase.logresponse=true
-
-aai.logging.trace.enabled=true
-aai.logging.trace.logrequest=false
-aai.logging.trace.logresponse=false
-
-ecm.openstack.tenantid=b0a529aba48440a39e0caf1aea9b27e3
-ecm.serviceid.trinity=UNUSED
-ecm.serviceid.vusp=UNUSED
-ecm.serviceid.ucpe=d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4
-
-odl.host=https://odl.node01.it.app.sdn.labs.att.com:8443/
-odl.resourcepath=restconf/config/L3SDN-API:services/layer3-service-list
-odl.ucpe.resourcepath=restconf/config/L3UCPE-API:services/
-odl.datachange.url=restconf/operations/DataChange:data-change-notification
-odl.auth.type=BASIC
-odl.auth.username=admin
-odl.auth.password.x=f1e2c25183ef4b4ff655e7cd94d0c472
-odl.connection.timeout=15000
-odl.use.self.link.url=n
-odl.instar.pickup.schdtask.enabled=y
-
-instar.pickup.cronRunOnThisHost=y
-instar.pickup.dir=/opt/aaihome/m39384/pickup/
-instar.pickup.renameToDelete=y
-instar.pickup.deleteStartsWithDelete=y
-#every (12-1) * 5 minutes = 60 minutes to read ODL and generate INSTAR output files
-instar.pickup.readcount.max=11
-instar.pickup.createheader=CustName|UBSubAccountID|EvcName|EvcCircuitId|InternetSpeed|RouterName|InterfaceName|VplsPeName|VplsPeInterface|CvlanTag|SvlanTag|IpVersion|RoutingProtocol|V6WanLinkIp|V4LanIPInfo|V6LanIPInfo|V4UnNumberedRefIp|V4VceLanIPs|V6VceLanIPs|ServiceOption|SubInterfaceID
-instar.pickup.deleteheader=VceToVplsPeEvcCircuitId
-instar.ts.file.pattern=V2(\\d{17})$
-instar.ts.entity.format=MMddyyyyHHmmss
-
-instarams.pickup.createheader.-vnf.txt=vnf_name|fqdn|maintenance_status|vnf_type|platform|network_type|service_type|application_vendor|application_type|application_name|application_version|mate_virtual_node|regional_resource_zone
-instarams.pickup.createheader.-vm.txt=uuid|vm_name|fqdn|tenant_id|vm_host_name|uuid_mate|vm_name_mate|vnf_name|image_name|flavor_name|num_vcpus|memory|root_disk_size|ephemeral_disk_size|compute_name|os_type|os_version|block_storage_data
-instarams.pickup.createheader.-vnfc.txt=vnfc_name|fqdn|tenant_id|operational_status|service_type|uuid_mate|vnfc_name_mate|vnfc_pool_id|vnf_name|vm_name|compute_name|application_vendor|application_type|application_name|application_version
-instarams.pickup.createheader.-compute.txt=compute_name|loc_type|location_clli|storage_uuid|storage_name|storage_location|allocated_storage|zone
-instarams.pickup.dir=/opt/aaihome/m63337/pickup
-instarams.pnf.feeddir=/opt/aaihome/m39384/feed
-
-aai.auth.cspcookies_on=false
-aai.dbmodel.filename=ex5.json
-aai.server.url.base=https://mtanjv9aaas03.aic.cip.att.com:8443/aai/
-aai.server.url=https://mtanjv9aaas03.aic.cip.att.com:8443/aai/v7/
-aai.oldserver.url.base=https://mtanjv9aaas03.aic.cip.att.com:8443/aai/servers/
-aai.oldserver.url=https://mtanjv9aaas03.aic.cip.att.com:8443/aai/servers/v3/
-aai.truststore.filename=tomcat_keystore
-aai.truststore.passwd.x=70c87528c88dcd9f9c2558d30e817868
-aai.keystore.filename=aai-client-cert.p12
-aai.keystore.passwd.x=70c87528c88dcd9f9c2558d30e817868
-
-# the following parameters are not reloaded automatically and require a manual bounce
-storage.backend=hbase
-storage.hostname=mtanjv9aads07.aic.cip.att.com,mtanjv9aads08.aic.cip.att.com,mtanjv9aads09.aic.cip.att.com
-#schema.default=none
-storage.lock.wait-time=300
-storage.hbase.table=aaigraph-dev1.dev
-storage.hbase.ext.zookeeper.znode.parent=/hbase-unsecure
-# Setting db-cache to false ensure the fastest propagation of changes across servers
-cache.db-cache = false
-#cache.db-cache-clean-wait = 20
-#cache.db-cache-time = 180000
-#cache.db-cache-size = 0.5
-
-# for transaction log
-hbase.table.name=aailogging-dev1.dev
-hbase.notificationTable.name=aainotification-dev1.dev
-hbase.table.timestamp.format=YYYYMMdd-HH:mm:ss:SSS
-hbase.zookeeper.quorum=mtanjv9aads07.aic.cip.att.com,mtanjv9aads08.aic.cip.att.com,mtanjv9aads09.aic.cip.att.com
-hbase.zookeeper.property.clientPort=2181
-hbase.zookeeper.znode.parent=/hbase-unsecure
-
-# pin up a skeleton if it's not found
-aai.precheck.v6.cloudinfrastructure.tenant.vserver.pserver=org.openecomp.aai.dbmapGen.v6.precheck.CloudInfrastructurePserverPrecheck
-aai.precheck.v6.cloudinfrastructure.tenant.vserver.complex=org.openecomp.aai.dbmapGen.v6.precheck.CloudInfrastructureComplexPrecheck
-
-aai.precheck.v5.cloudinfrastructure.tenant.vserver.pserver=org.openecomp.aai.dbmapGen.v5.precheck.CloudInfrastructurePserverPrecheck
-aai.precheck.v5.cloudinfrastructure.tenant.vserver.complex=org.openecomp.aai.dbmapGen.v5.precheck.CloudInfrastructureComplexPrecheck
-
-aai.precheck.v4.cloudinfrastructure.tenant.vserver.pserver=org.openecomp.aai.dbmapGen.v4.precheck.CloudInfrastructurePserverPrecheck
-aai.precheck.v4.cloudinfrastructure.tenant.vserver.complex=org.openecomp.aai.dbmapGen.v4.precheck.CloudInfrastructureComplexPrecheck
-
-aai.precheck.cloudinfrastructure.complex.defaults.physicalLocationType=AAIDefault
-aai.precheck.cloudinfrastructure.complex.defaults.street1=AAIDefault
-aai.precheck.cloudinfrastructure.complex.defaults.city=AAIDefault
-aai.precheck.cloudinfrastructure.complex.defaults.state=NJ
-aai.precheck.cloudinfrastructure.complex.defaults.postalCode=07748
-aai.precheck.cloudinfrastructure.complex.defaults.country=USA
-aai.precheck.cloudinfrastructure.complex.defaults.region=Americas
-
-#v4 extensions for ODL Notification
-aai.extensions.v4.notify.odl.class=ODLNotification
-aai.extensions.v4.notify.odlnotification.enabled=true
-
-#v3 extensions for ODL Notification
-aai.extensions.v3.notify.odl.class=ODLNotification
-aai.extensions.v3.notify.odlnotification.enabled=true
-
-#v5 extensions for ODL Notification
-aai.extensions.v5.notify.odl.class=ODLNotification
-aai.extensions.v5.notify.odlnotification.enabled=true
-
-#v6 extensions for ODL Notification
-aai.extensions.v6.notify.odl.class=ODLNotification
-aai.extensions.v6.notify.odlnotification.enabled=true
-
-# single primary server
-aai.primary.filetransfer.serverlist=mtanjv9aaas03.aic.cip.att.com
-aai.primary.filetransfer.primarycheck=echo:8443/aai/util/echo
-aai.primary.filetransfer.pingtimeout=5000
-aai.primary.filetransfer.pingcount=5
-
-
-#INSTAR equipment status update
-instar.equipstatus.host=dev-lpp.oss.att.com:55041
-instar.equipstatus.url=INSTAR/IPAGService
-instar.equipstatus.timeout=20000
-instar.equipstatus.username=aai_ws
-instar.equipstatus.password.x=dc911b84a32adbc9f5c8e53d701076b1
-instar.equipstatus.wssid=Id-qG1EkG7QHfaK_Hl7OYhRSROB
-instar.equipstatus.soapaction=""
-instar.equipstatus.aai-put-url=instar-ams/put/instar/equipment/
-
-#rsync properties
-aai.rsync.command=rsync
-aai.rsync.options.list=-v|-t
-aai.rsync.remote.user=aaiadmin
-aai.rsync.enabled=y
-
-#Service Specific Data Values
-aai.servicedescription.hostedcomm=HOSTED COMMUNICATIONS
-aai.servicedescription.mobility=MOBILITY
-aai.servicedescription.vusp=VIRTUAL USP
-aai.servicedescription.ucpe=uCPE-VMS
-
-aai.notification.current.package=org.openecomp.aai.dbmapGen.v6
-aai.notification.current.version=v7
-aai.notificationEvent.default.status=UNPROCESSED
-aai.notificationEvent.default.eventType=AAI-EVENT
-aai.notificationEvent.default.domain=devINT1
-aai.notificationEvent.default.sourceName=aai
-aai.notificationEvent.default.sequenceNumber=0
-aai.notificationEvent.default.severity=NORMAL
-aai.notificationEvent.default.version=v7
-# This one lets us enable/disable resource-version checking on updates/deletes
-aai.resourceversion.enableflag=true
-aai.logging.maxStackTraceEntries=10
-aai.default.api.version=v7
-
-aai.aic25.cloudregion.id=AAIAIC25
-aai.aic25.cloudregion.owner=att-aic
-