summaryrefslogtreecommitdiffstats
path: root/src/test
diff options
context:
space:
mode:
authorShwetank Dave <shwetank.dave@amdocs.com>2018-06-13 08:40:26 -0400
committerShwetank Dave <shwetank.dave@amdocs.com>2018-06-13 08:54:06 -0400
commit00832f054dd0c21492af531548e321ea25cdb8b4 (patch)
treee9017ca88d1e987a315c2faad1c49b873d3e5ca1 /src/test
parent18703cdc19842806969d30f19f8171469c79a0fe (diff)
Gizmo to load multiple Db Edge Rules files
There is an Edge Rule file for each OXM file. For every OXM version that is loaded, an edge rule file should also be loaded. Issue-ID: AAI-1201 Change-Id: I728e577ea8152623d3c5e2f0e8edf677f0eb9ef4 Signed-off-by: Shwetank Dave <shwetank.dave@amdocs.com>
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/org/onap/crud/service/CrudRestServiceTest.java6
-rw-r--r--src/test/java/org/onap/schema/EdgeRulesLoaderTest.java69
-rw-r--r--src/test/java/org/onap/schema/RelationshipSchemaLoaderTest.java124
-rw-r--r--src/test/java/org/onap/schema/RelationshipSchemaTest.java148
-rw-r--r--src/test/resources/edgeProps/edge_properties_v11.json6
-rw-r--r--src/test/resources/edgeProps/edge_properties_v13.json6
-rw-r--r--src/test/resources/rules/DbEdgeRules_test_one_v11.json26
-rw-r--r--src/test/resources/rules/DbEdgeRules_test_one_v13.json26
-rw-r--r--src/test/resources/rules/DbEdgeRules_test_two_v11.json26
-rw-r--r--src/test/resources/rules/DbEdgeRules_test_two_v13.json26
-rw-r--r--src/test/resources/rules/DbEdgeRules_v11.json2416
-rw-r--r--src/test/resources/rules/DbEdgeRules_v13.json2836
-rw-r--r--src/test/resources/schemaIngest.properties3
13 files changed, 5494 insertions, 224 deletions
diff --git a/src/test/java/org/onap/crud/service/CrudRestServiceTest.java b/src/test/java/org/onap/crud/service/CrudRestServiceTest.java
index a4b4305..13cba11 100644
--- a/src/test/java/org/onap/crud/service/CrudRestServiceTest.java
+++ b/src/test/java/org/onap/crud/service/CrudRestServiceTest.java
@@ -42,8 +42,7 @@ import org.onap.crud.exception.CrudException;
import org.onap.crud.service.util.TestHeaders;
import org.onap.crud.service.util.TestRequest;
import org.onap.crud.service.util.TestUriInfo;
-import org.onap.schema.RelationshipSchemaLoader;
-
+import org.onap.schema.EdgeRulesLoader;
public class CrudRestServiceTest {
@@ -85,8 +84,7 @@ public class CrudRestServiceTest {
Path parentPath = resourcePath.getParent();
System.setProperty("CONFIG_HOME", parentPath.toString());
- RelationshipSchemaLoader.resetVersionContextMap();
-
+ EdgeRulesLoader.resetSchemaVersionContext ();
CrudGraphDataService service = new CrudGraphDataService(new TestDao());
CrudRestService restService = new CrudRestService(service, null);
mockService = Mockito.spy(restService);
diff --git a/src/test/java/org/onap/schema/EdgeRulesLoaderTest.java b/src/test/java/org/onap/schema/EdgeRulesLoaderTest.java
new file mode 100644
index 0000000..073e1d3
--- /dev/null
+++ b/src/test/java/org/onap/schema/EdgeRulesLoaderTest.java
@@ -0,0 +1,69 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2017-2018 Amdocs
+ * ================================================================================
+ * 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.schema;
+
+import org.junit.Test;
+import org.onap.crud.exception.CrudException;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.*;
+
+public class EdgeRulesLoaderTest {
+
+ @Test
+ public void loadModels() throws Exception {
+ EdgeRulesLoader.loadModels();
+ assertTrue(EdgeRulesLoader.getSchemaForVersion ( "v11" ).isValidType ( "org.onap.relationships.inventory.groupsResourcesIn" ));
+ }
+
+ @Test
+ public void loadModelsWithAVersion() throws Exception {
+ EdgeRulesLoader.resetSchemaVersionContext ();
+ EdgeRulesLoader.loadModels("V11");
+ assertEquals(1, EdgeRulesLoader.getSchemas ().size ());
+ assertEquals("v11", EdgeRulesLoader.getLatestSchemaVersion ());
+ }
+
+ @Test
+ public void getSchemaForVersion() throws Exception {
+ EdgeRulesLoader.resetSchemaVersionContext ();
+ EdgeRulesLoader.loadModels("v11");
+ String version = EdgeRulesLoader.getLatestSchemaVersion();
+ RelationshipSchema g = EdgeRulesLoader.getSchemaForVersion(version);
+ assertNotNull(g.lookupRelationType("org.onap.relationships.inventory.groupsResourcesIn"));
+ assertNotNull(g.lookupRelation("U:V:org.onap.relationships.inventory.groupsResourcesIn"));
+ assertNull(g.lookupRelation("U:W:org.onap.relationships.inventory.groupsResourcesIn"));
+ }
+
+
+ @Test
+ public void getSchemaForVersionFail() throws Exception {
+ EdgeRulesLoader.loadModels();
+ try {
+ EdgeRulesLoader.getSchemaForVersion("v1");
+ } catch (CrudException e) {
+ assertEquals(404, e.getHttpStatus().getStatusCode());
+ }
+ }
+} \ No newline at end of file
diff --git a/src/test/java/org/onap/schema/RelationshipSchemaLoaderTest.java b/src/test/java/org/onap/schema/RelationshipSchemaLoaderTest.java
deleted file mode 100644
index feeb1c4..0000000
--- a/src/test/java/org/onap/schema/RelationshipSchemaLoaderTest.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/**
- * ============LICENSE_START=======================================================
- * org.onap.aai
- * ================================================================================
- * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
- * Copyright © 2017-2018 Amdocs
- * ================================================================================
- * 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.schema;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-import org.junit.Before;
-import org.junit.Test;
-import org.onap.crud.exception.CrudException;
-
-public class RelationshipSchemaLoaderTest {
-
- @Before
- public void init() throws Exception {
- Path resourcePath = Paths.get(ClassLoader.getSystemResource("model").toURI());
- Path parentPath = resourcePath.getParent();
- System.setProperty("CONFIG_HOME", parentPath.toString());
- RelationshipSchemaLoader.resetVersionContextMap();
- }
-
- @Test
- public void loadModels() throws Exception {
- RelationshipSchemaLoader.resetVersionContextMap();
- RelationshipSchemaLoader.loadModels();
- assertFalse( RelationshipSchemaLoader.getVersionContextMap().keySet().isEmpty());
- }
-
- @Test
- public void loadModelsWithAVersion() throws Exception {
- RelationshipSchemaLoader.resetVersionContextMap();
- RelationshipSchemaLoader.loadModels("v11");
- assertEquals(1, RelationshipSchemaLoader.getVersionContextMap().keySet().size());
- assertEquals("v11", RelationshipSchemaLoader.getLatestSchemaVersion());
- }
-
- @Test
- public void getSchemaForVersion() throws Exception {
- RelationshipSchemaLoader.resetVersionContextMap();
- RelationshipSchemaLoader.loadModels("v11");
- String version = RelationshipSchemaLoader.getLatestSchemaVersion();
- RelationshipSchema g = RelationshipSchemaLoader.getSchemaForVersion(version);
- assertNotNull(g.lookupRelationType("org.onap.relationships.inventory.BelongsTo"));
- }
-
- public void getSchemaForVersionManualFile() throws Exception {
- RelationshipSchemaLoader.resetVersionContextMap();
- RelationshipSchemaLoader.loadModels("v10");
- String version = RelationshipSchemaLoader.getLatestSchemaVersion();
- RelationshipSchema g = RelationshipSchemaLoader.getSchemaForVersion(version);
- assertNotNull(g.lookupRelationType("locatedIn"));
- }
-
-
- @Test
- public void getSchemaForVersionFail() throws Exception {
- RelationshipSchemaLoader.resetVersionContextMap();
- RelationshipSchemaLoader.loadModels();
- try {
- RelationshipSchemaLoader.getSchemaForVersion("v1");
- } catch (CrudException e) {
- assertEquals(404, e.getHttpStatus().getStatusCode());
- }
- }
-
- @Test
- public void setVersionContextMap() throws Exception {
- RelationshipSchemaLoader.resetVersionContextMap();
- ArrayList<String> jsonString = new ArrayList<String>();
- String rules = "{" +
- "\"rules\": [" +
- "{" +
- "\"from\": \"availability-zone\"," +
- "\"to\": \"complex\"," +
- "\"label\": \"groupsResourcesIn\"," +
- "\"direction\": \"OUT\"," +
- "\"multiplicity\": \"Many2Many\"," +
- "\"contains-other-v\": \"NONE\"," +
- "\"delete-other-v\": \"NONE\"," +
- "\"SVC-INFRA\": \"NONE\"," +
- "\"prevent-delete\": \"!${direction}\"" +
- "}]}";
- String props = "{" +
- " \"isParent\":\"java.lang.Boolean\"," +
- " \"isParent-REV\":\"java.lang.Boolean\"," +
- " \"usesResource\":\"java.lang.Boolean\"," +
- " \"usesResource-REV\":\"java.lang.Boolean\"," +
- " \"SVC-INFRA\":\"java.lang.Boolean\"," +
- " \"SVC-INFRA-REV\":\"java.lang.Boolean\"," +
- " \"hasDelTarget\":\"java.lang.Boolean\"," +
- " \"hasDelTarget-REV\":\"java.lang.Boolean\"" +
- "}";
- jsonString.add(rules);
- jsonString.add(props);
- RelationshipSchema nRs = new RelationshipSchema(jsonString);
- Map<String, RelationshipSchema> versionMap = new HashMap<>();
- versionMap.put("v1", nRs);
- RelationshipSchemaLoader.setVersionContextMap(versionMap);
- assertNotNull(RelationshipSchemaLoader.getSchemaForVersion("v1").lookupRelationType("groupsResourcesIn"));
- }
-}
diff --git a/src/test/java/org/onap/schema/RelationshipSchemaTest.java b/src/test/java/org/onap/schema/RelationshipSchemaTest.java
index ce8559a..9467f41 100644
--- a/src/test/java/org/onap/schema/RelationshipSchemaTest.java
+++ b/src/test/java/org/onap/schema/RelationshipSchemaTest.java
@@ -20,128 +20,86 @@
*/
package org.onap.schema;
-import org.apache.commons.io.IOUtils;
+import com.google.common.collect.ArrayListMultimap;
+import com.google.common.collect.Multimap;
import org.junit.Test;
+import org.onap.aai.edges.EdgeRule;
+import org.onap.aai.edges.exceptions.EdgeRuleNotFoundException;
import org.onap.crud.exception.CrudException;
-import com.att.aft.dme2.internal.apache.commons.lang.ArrayUtils;
-
-import java.io.File;
-import java.io.FileInputStream;
import java.io.IOException;
-import java.io.InputStream;
-import java.util.Arrays;
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.Comparator;
-import java.util.concurrent.ConcurrentHashMap;
import java.util.HashMap;
import java.util.Map;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.stream.Collectors;
import static org.junit.Assert.*;
public class RelationshipSchemaTest {
- final static Pattern rulesFilePattern = Pattern.compile("DbEdgeRules(.*).json");
- final static Pattern propsFilePattern = Pattern.compile("edge_properties_(.*).json");
- final static Pattern versionPattern = Pattern.compile(".*(v\\d+).json");
-
-
@Test
public void shouldLoadAllTheVersionsInDirectory() throws Exception {
- Map<String, RelationshipSchema> versionContextMap = new ConcurrentHashMap<>();
- loadRelations(versionContextMap);
- assertTrue(versionContextMap.keySet().size() >= 0);
+ RelationshipSchema rs = loadRelations();
+ assertTrue(!rs.lookupRelationType ("org.onap.some-relation" ).isEmpty ());
}
@Test
public void shouldContainValidTypes() throws Exception {
- Map<String, RelationshipSchema> versionContextMap = new ConcurrentHashMap<>();
- loadRelations(versionContextMap);
- assertTrue(versionContextMap.get("v10").isValidType("groupsResourcesIn"));
- assertTrue(versionContextMap.get("v10").isValidType("uses"));
- assertFalse(versionContextMap.get("v10").isValidType("notValidType"));
+ RelationshipSchema rs = loadRelations();
+ assertTrue(rs.lookupRelationType ("org.onap.some-relation") != null);
+ assertTrue(rs.lookupRelationType("notValidType") == null);
}
@Test
public void shouldLookUpByRelation() throws Exception {
- Map<String, RelationshipSchema> versionContextMap = new ConcurrentHashMap<>();
- loadRelations(versionContextMap);
- assertNotNull(versionContextMap.get("v10").lookupRelation("availability-zone:complex:groupsResourcesIn"));
- assertTrue(versionContextMap.get("v10")
- .lookupRelation("availability-zone:complex:groupsResourcesIn").containsKey("prevent-delete"));
+ RelationshipSchema rs = loadRelations();
+ assertNotNull(rs.lookupRelation("service-instance:customer:org.onap.some-relation"));
}
@Test
public void shouldLookUpByRelationType() throws Exception {
- Map<String, RelationshipSchema> versionContextMap = new ConcurrentHashMap<>();
- loadRelations(versionContextMap);
- assertNotNull(versionContextMap.get("v10").lookupRelationType("groupsResourcesIn"));
- assertTrue(versionContextMap.get("v10")
- .lookupRelation("availability-zone:complex:groupsResourcesIn").containsKey("prevent-delete"));
- }
-
- private void loadRelations(Map<String, RelationshipSchema> map){
- ClassLoader classLoader = getClass().getClassLoader();
- File dir = new File(classLoader.getResource("model").getFile());
- File[] allFiles = dir.listFiles((d, name) ->
- (propsFilePattern.matcher(name).matches() || rulesFilePattern.matcher(name).matches()));
-
- // Special handling for the v12 file, as it is used for a special test
- for (File f : allFiles) {
- if (f.getName().equals("edge_properties_v11.json")) {
- allFiles = (File[]) ArrayUtils.removeElement(allFiles, f);
- }
- }
-
- Arrays.stream(allFiles).sorted(Comparator.comparing(File::getName))
- .collect(Collectors.groupingBy(f -> myMatcher(versionPattern, f.getName())))
- .forEach((e, f) -> map.put(e, jsonFilesLoader(f)));
-
- }
-
-
- private RelationshipSchema jsonFilesLoader (List<File> files) {
- List<String> fileContents = new ArrayList<>();
- RelationshipSchema rsSchema = null;
- for (File f : files) {
- fileContents.add(jsonToString(f));
- }
-
- try {
- if (fileContents.size() == 2) {
- rsSchema = new RelationshipSchema(fileContents);
- }
- } catch (CrudException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
-
- return rsSchema;
+ RelationshipSchema rs = loadRelations();
+ assertNotNull(rs.lookupRelationType("org.onap.groupsResourcesIn"));
+ assertTrue(rs.lookupRelation("availability-zone:complex:org.onap.groupsResourcesIn").containsKey("prevent-delete"));
}
- private String jsonToString (File file) {
- InputStream inputStream = null;
- String content = null;
- HashMap<String,Object> result = null;
-
- try {
- inputStream = new FileInputStream(file);
- content = IOUtils.toString(inputStream, "UTF-8");
- } catch (IOException e) {
- e.printStackTrace();
- }
-
- return content;
- }
+ private RelationshipSchema loadRelations() throws CrudException, EdgeRuleNotFoundException, IOException {
+ String defaultEdgeProps = "{" +
+ "\"contains-other-v\": \"java.lang.String\"," +
+ "\"delete-other-v\": \"java.lang.String\"," +
+ "\"SVC-INFRA\": \"java.lang.String\"," +
+ "\"prevent-delete\": \"java.lang.String\"" +
+ "}";
+
+ Map<String, String> ruleOne = new HashMap<> ( );
+ Map<String, String> ruleTwo = new HashMap<> ( );
+
+ ruleOne.put("label", "org.onap.some-relation");
+ ruleOne.put("direction", "OUT");
+ ruleOne.put("contains-other-v", "NONE");
+ ruleOne.put("delete-other-v", "NONE");
+ ruleOne.put("prevent-delete", "NONE");
+ ruleOne.put("from", "service-instance");
+ ruleOne.put("to", "customer");
+ ruleOne.put("multiplicity", "MANY2MANY");
+ ruleOne.put("default", "true");
+ ruleOne.put("description", "");
+
+ ruleTwo.put("label", "org.onap.groupsResourcesIn");
+ ruleTwo.put("direction", "OUT");
+ ruleTwo.put("contains-other-v", "NONE");
+ ruleTwo.put("delete-other-v", "NONE");
+ ruleTwo.put("prevent-delete", "NONE");
+ ruleTwo.put("from", "availability-zone");
+ ruleTwo.put("to", "complex");
+ ruleTwo.put("multiplicity", "MANY2MANY");
+ ruleTwo.put("default", "true");
+ ruleTwo.put("description", "");
+
+ EdgeRule erOne = new EdgeRule ( ruleOne );
+ EdgeRule erTwo = new EdgeRule ( ruleTwo );
+ Multimap<String, EdgeRule> relationship = ArrayListMultimap.create();
+ relationship.put ( "customer|service-instane", erOne );
+ relationship.put ( "availability-zone|complex", erTwo );
+ return new RelationshipSchema ( relationship, defaultEdgeProps );
- private String myMatcher (Pattern p, String s) {
- Matcher m = p.matcher(s);
- return m.matches() ? m.group(1) : "";
}
} \ No newline at end of file
diff --git a/src/test/resources/edgeProps/edge_properties_v11.json b/src/test/resources/edgeProps/edge_properties_v11.json
new file mode 100644
index 0000000..8d00636
--- /dev/null
+++ b/src/test/resources/edgeProps/edge_properties_v11.json
@@ -0,0 +1,6 @@
+{
+ "contains-other-v": "java.lang.String",
+ "delete-other-v": "java.lang.String",
+ "SVC-INFRA": "java.lang.String",
+ "prevent-delete": "java.lang.String"
+} \ No newline at end of file
diff --git a/src/test/resources/edgeProps/edge_properties_v13.json b/src/test/resources/edgeProps/edge_properties_v13.json
new file mode 100644
index 0000000..8d00636
--- /dev/null
+++ b/src/test/resources/edgeProps/edge_properties_v13.json
@@ -0,0 +1,6 @@
+{
+ "contains-other-v": "java.lang.String",
+ "delete-other-v": "java.lang.String",
+ "SVC-INFRA": "java.lang.String",
+ "prevent-delete": "java.lang.String"
+} \ No newline at end of file
diff --git a/src/test/resources/rules/DbEdgeRules_test_one_v11.json b/src/test/resources/rules/DbEdgeRules_test_one_v11.json
new file mode 100644
index 0000000..61eed72
--- /dev/null
+++ b/src/test/resources/rules/DbEdgeRules_test_one_v11.json
@@ -0,0 +1,26 @@
+{
+ "rules": [
+ {
+ "from": "U",
+ "to": "V",
+ "label": "org.onap.relationships.inventory.groupsResourcesIn",
+ "direction": "IN",
+ "multiplicity": "Many2Many",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}"
+ },
+ {
+ "from": "W",
+ "to": "X",
+ "label": "org.onap.relationships.inventory.groupsResourcesIn",
+ "direction": "OUT",
+ "multiplicity": "Many2Many",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}"
+ }
+ ]
+}
diff --git a/src/test/resources/rules/DbEdgeRules_test_one_v13.json b/src/test/resources/rules/DbEdgeRules_test_one_v13.json
new file mode 100644
index 0000000..6611750
--- /dev/null
+++ b/src/test/resources/rules/DbEdgeRules_test_one_v13.json
@@ -0,0 +1,26 @@
+{
+ "rules": [
+ {
+ "from": “A”,
+ "to": “B”,
+ "label": “A-To-B”,
+ "direction": "OUT",
+ "multiplicity": "Many2Many",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}"
+ },
+ {
+ "from": “B”,
+ "to": “c”,
+ "label": “B-To-C”,
+ "direction": "OUT",
+ "multiplicity": "Many2Many",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}"
+ }
+ ]
+}
diff --git a/src/test/resources/rules/DbEdgeRules_test_two_v11.json b/src/test/resources/rules/DbEdgeRules_test_two_v11.json
new file mode 100644
index 0000000..f38bd2c
--- /dev/null
+++ b/src/test/resources/rules/DbEdgeRules_test_two_v11.json
@@ -0,0 +1,26 @@
+{
+ "rules": [
+ {
+ "from": "U",
+ "to": "V",
+ "label": "org.onap.relationships.inventory.groupsResourcesIn",
+ "direction": "BOTH",
+ "multiplicity": "Many2Many",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}"
+ },
+ {
+ "from": "Y",
+ "to": "X",
+ "label": "org.onap.relationships.inventory.groupsResourcesIn",
+ "direction": "OUT",
+ "multiplicity": "Many2Many",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}"
+ }
+ ]
+}
diff --git a/src/test/resources/rules/DbEdgeRules_test_two_v13.json b/src/test/resources/rules/DbEdgeRules_test_two_v13.json
new file mode 100644
index 0000000..d1995d2
--- /dev/null
+++ b/src/test/resources/rules/DbEdgeRules_test_two_v13.json
@@ -0,0 +1,26 @@
+{
+ "rules": [
+ {
+ "from": “C”,
+ "to": “D”,
+ "label": “C-To-D”,
+ "direction": "OUT",
+ "multiplicity": "Many2Many",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}"
+ },
+ {
+ "from": “D”,
+ "to": “E”,
+ "label": “D-To-E”,
+ "direction": "OUT",
+ "multiplicity": "Many2Many",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}"
+ }
+ ]
+}
diff --git a/src/test/resources/rules/DbEdgeRules_v11.json b/src/test/resources/rules/DbEdgeRules_v11.json
new file mode 100644
index 0000000..a32ba86
--- /dev/null
+++ b/src/test/resources/rules/DbEdgeRules_v11.json
@@ -0,0 +1,2416 @@
+{
+ "rules": [
+ {
+ "from": "esr-ems",
+ "to": "esr-system-info",
+ "label": "has",
+ "direction": "OUT",
+ "multiplicity": "One2Many",
+ "contains-other-v": "${direction}",
+ "delete-other-v": "${direction}",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "esr-vnfm",
+ "to": "esr-system-info",
+ "label": "has",
+ "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": "esr-system-info",
+ "label": "has",
+ "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": "has",
+ "direction": "OUT",
+ "multiplicity": "One2Many",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "cloud-region",
+ "to": "esr-system-info",
+ "label": "has",
+ "direction": "OUT",
+ "multiplicity": "One2Many",
+ "contains-other-v": "${direction}",
+ "delete-other-v": "${direction}",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "allotted-resource",
+ "label": "tosca.relationships.network.BindsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "allotted-resource",
+ "to": "generic-vnf",
+ "label": "org.onap.relationships.inventory.PartOf",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "NONE",
+ "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "NONE",
+ "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "${direction}",
+ "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "${direction}",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "NONE",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "${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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "NONE",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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",
+ "SVC-INFRA": "${direction}",
+ "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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "NONE",
+ "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "${direction}",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "license-key-resource",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ },
+ {
+ "from": "generic-vnf",
+ "to": "pnf",
+ "label": "tosca.relationships.HostedOn",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "${direction}",
+ "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}",
+ "SVC-INFRA": "!${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",
+ "SVC-INFRA": "${direction}",
+ "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",
+ "SVC-INFRA": "${direction}",
+ "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",
+ "SVC-INFRA": "${direction}",
+ "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}",
+ "SVC-INFRA": "!${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}",
+ "SVC-INFRA": "NONE",
+ "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}",
+ "SVC-INFRA": "!${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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "!${direction}",
+ "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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "!${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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "NONE",
+ "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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "NONE",
+ "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "${direction}",
+ "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",
+ "SVC-INFRA": "${direction}",
+ "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "${direction}",
+ "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",
+ "SVC-INFRA": "${direction}",
+ "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}",
+ "SVC-INFRA": "!${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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "${direction}",
+ "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "NONE",
+ "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",
+ "SVC-INFRA": "${direction}",
+ "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}",
+ "SVC-INFRA": "${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}",
+ "SVC-INFRA": "${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}",
+ "SVC-INFRA": "${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",
+ "SVC-INFRA": "${direction}",
+ "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}",
+ "SVC-INFRA": "!${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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "!${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}",
+ "SVC-INFRA": "!${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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "!${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}",
+ "SVC-INFRA": "${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}",
+ "SVC-INFRA": "NONE",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "${direction}",
+ "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",
+ "SVC-INFRA": "${direction}",
+ "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "NONE",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "NONE",
+ "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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "NONE",
+ "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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "NONE",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "!${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",
+ "SVC-INFRA": "${direction}",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "!${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}",
+ "SVC-INFRA": "!${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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "!${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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "!${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}",
+ "SVC-INFRA": "!${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",
+ "SVC-INFRA": "${direction}",
+ "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",
+ "SVC-INFRA": "${direction}",
+ "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",
+ "SVC-INFRA": "${direction}",
+ "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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "NONE",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "service-instance",
+ "to": "logical-link",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "SVC-INFRA": "NONE",
+ "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "${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}",
+ "SVC-INFRA": "${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}",
+ "SVC-INFRA": "NONE",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "NONE",
+ "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "${direction}",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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}",
+ "SVC-INFRA": "!${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",
+ "SVC-INFRA": "${direction}",
+ "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "${direction}",
+ "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",
+ "SVC-INFRA": "${direction}",
+ "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",
+ "SVC-INFRA": "${direction}",
+ "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",
+ "SVC-INFRA": "${direction}",
+ "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",
+ "SVC-INFRA": "${direction}",
+ "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "${direction}",
+ "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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "!${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}",
+ "SVC-INFRA": "!${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}",
+ "SVC-INFRA": "${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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "NONE",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "!${direction}",
+ "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",
+ "SVC-INFRA": "${direction}",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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}",
+ "SVC-INFRA": "NONE",
+ "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",
+ "SVC-INFRA": "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",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "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}",
+ "SVC-INFRA": "!${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",
+ "SVC-INFRA": "!${direction}",
+ "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",
+ "SVC-INFRA": "!${direction}",
+ "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",
+ "SVC-INFRA": "${direction}",
+ "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",
+ "SVC-INFRA": "${direction}",
+ "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",
+ "SVC-INFRA": "${direction}",
+ "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",
+ "SVC-INFRA": "${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}",
+ "SVC-INFRA": "${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}",
+ "SVC-INFRA": "NONE",
+ "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",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "!${direction}",
+ "default": "true"
+ }
+ ]
+}
diff --git a/src/test/resources/rules/DbEdgeRules_v13.json b/src/test/resources/rules/DbEdgeRules_v13.json
new file mode 100644
index 0000000..fd45c9b
--- /dev/null
+++ b/src/test/resources/rules/DbEdgeRules_v13.json
@@ -0,0 +1,2836 @@
+{
+ "rules": [
+ {
+ "from": "service-instance",
+ "to": "customer",
+ "label": "ncso.related-to",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+},
+{
+ "from": "generic-vnf",
+ "to": "vnfc",
+ "label": "ncso.related-to",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+},
+{
+ "from": "vnfc",
+ "to": "vnfc",
+ "label": "ncso.related-to",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+},
+{
+ "from": "vnfc",
+ "to": "vserver",
+ "label": "ncso.related-to",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+},
+{
+ "from": "generic-vnf",
+ "to": "service-instance",
+ "label": "ncso.related-to",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+},
+{
+ "from": "generic-vnf",
+ "to": "generic-vnf",
+ "label": "ncso.related-to",
+ "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": "ncso.related-to",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+},
+{
+ "from": "generic-vnf",
+ "to": "vserver",
+ "label": "ncso.related-to",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+},
+ {
+ "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": "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": "allotted-resource",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "Many2One",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "generic-vnf",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "Many2One",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "l3-network",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "Many2One",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "logical-link",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "Many2One",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "service-instance",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "Many2One",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true",
+ "description":""
+ },
+ {
+ "from": "vf-module",
+ "to": "model-ver",
+ "label": "org.onap.relationships.inventory.IsA",
+ "direction": "OUT",
+ "multiplicity": "Many2One",
+ "contains-other-v": "NONE",
+ "delete-other-v": "NONE",
+ "prevent-delete": "NONE",
+ "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": "collection",
+ "to": "instance-group",
+ "label": "org.onap.relationships.inventory.MemberOf",
+ "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.MemberOf",
+ "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": ""
+ }
+ ]
+} \ No newline at end of file
diff --git a/src/test/resources/schemaIngest.properties b/src/test/resources/schemaIngest.properties
index 2aa388e..2fa77aa 100644
--- a/src/test/resources/schemaIngest.properties
+++ b/src/test/resources/schemaIngest.properties
@@ -1,4 +1,5 @@
# Properties for the SchemaLocationsBean
schemaConfig=NA
nodeDir=src/test/resources/oxm/
-edgeDir= \ No newline at end of file
+edgeDir=src/test/resources/rules/
+edgePropsDir=src/test/resources/edgeProps/ \ No newline at end of file