aboutsummaryrefslogtreecommitdiffstats
path: root/aai-core/src/main/resources
diff options
context:
space:
mode:
Diffstat (limited to 'aai-core/src/main/resources')
-rw-r--r--aai-core/src/main/resources/dbedgerules/DbEdgeRules_v10.json1918
-rw-r--r--aai-core/src/main/resources/dbedgerules/DbEdgeRules_v11.json1973
-rw-r--r--aai-core/src/main/resources/dbedgerules/DbEdgeRules_v8.json1555
-rw-r--r--aai-core/src/main/resources/dbedgerules/DbEdgeRules_v9.json1841
-rw-r--r--aai-core/src/main/resources/dbedgerules/conversion/edgerulesTemplate.ftlh8
-rw-r--r--aai-core/src/main/resources/dbedgerules/conversion/ruleTemplate.ftlh11
6 files changed, 7306 insertions, 0 deletions
diff --git a/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v10.json b/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v10.json
new file mode 100644
index 00000000..eaca6e58
--- /dev/null
+++ b/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v10.json
@@ -0,0 +1,1918 @@
+{"rules":
+[
+{
+ "from" : "availability-zone",
+ "to" : "complex",
+ "label" : "groupsResourcesIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "license-key-resource",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "availability-zone",
+ "to" : "service-capability",
+ "label" : "supportsServiceCapability",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "l3-network",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "tenant",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "cloud-region",
+ "to" : "image",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "flavor",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "availability-zone",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "oam-network",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "dvs-switch",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "volume-group",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "group-assignment",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "snapshot",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "zone",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "complex",
+ "to" : "ctag-pool",
+ "label" : "hasCtagPool",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "complex",
+ "to" : "l3-network",
+ "label" : "usesL3Network",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "ctag-pool",
+ "to" : "availability-zone",
+ "label" : "supportsAvailabilityZone",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "customer",
+ "to" : "service-subscription",
+ "label" : "subscribesTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "dvs-switch",
+ "to" : "availability-zone",
+ "label" : "existsIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "availability-zone",
+ "label" : "hasAvailabilityZone",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "lag-interface",
+ "label" : "hasLAGInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "l3-network",
+ "label" : "usesL3Network",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "pserver",
+ "label" : "runsOnPserver",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "vnf-image",
+ "label" : "usesVnfImage",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "vserver",
+ "label" : "runsOnVserver",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "service-instance",
+ "label" : "hasInstance",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "site-pair-set",
+ "label" : "hasSitePairSet",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "network-profile",
+ "label" : "hasNetworkProfile",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "group-assignment",
+ "to" : "tenant",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "group-assignment",
+ "to" : "pserver",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "image",
+ "to" : "metadata",
+ "label" : "hasMetaData",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "image",
+ "to" : "metadatum",
+ "label" : "hasMetaDatum",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l-interface",
+ "to" : "instance-group",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l-interface",
+ "to" : "l3-interface-ipv4-address-list",
+ "label" : "hasIpAddress",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l-interface",
+ "to" : "l3-interface-ipv6-address-list",
+ "label" : "hasIpAddress",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l-interface",
+ "to" : "l-interface",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l-interface",
+ "to" : "logical-link",
+ "label" : "usesLogicalLink",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "lag-interface",
+ "to" : "logical-link",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l-interface",
+ "to" : "vlan",
+ "label" : "hasVlan",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l-interface",
+ "to" : "sriov-vf",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2One",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l3-interface-ipv4-address-list",
+ "to" : "instance-group",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l3-interface-ipv6-address-list",
+ "to" : "instance-group",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l3-interface-ipv4-address-list",
+ "to" : "l3-network",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-interface-ipv6-address-list",
+ "to" : "l3-network",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-interface-ipv4-address-list",
+ "to" : "subnet",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-interface-ipv6-address-list",
+ "to" : "subnet",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-network",
+ "to" : "vpn-binding",
+ "label" : "usesVpnBinding",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l3-network",
+ "to" : "subnet",
+ "label" : "hasSubnet",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "l3-network",
+ "to" : "service-instance",
+ "label" : "hasInstance",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "l3-network",
+ "to" : "ctag-assignment",
+ "label" : "hasCtagAssignment",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-network",
+ "to" : "network-policy",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-network",
+ "to" : "segmentation-assignment",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l3-network",
+ "to" : "route-table-reference",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "lag-interface",
+ "to" : "lag-link",
+ "label" : "usesLAGLink",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "lag-interface",
+ "to" : "p-interface",
+ "label" : "usesPInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "lag-interface",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "logical-link",
+ "to" : "lag-link",
+ "label" : "usesLAGLink",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "logical-link",
+ "to" : "pnf",
+ "label" : "bridgedTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "logical-link",
+ "to" : "logical-link",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "model",
+ "to" : "model-ver",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-ver",
+ "to" : "model-element",
+ "label" : "startsWith",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-element",
+ "to" : "model-ver",
+ "label" : "isA",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-ver",
+ "to" : "metadatum",
+ "label" : "hasMetaData",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-element",
+ "to" : "model-element",
+ "label" : "connectsTo",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-element",
+ "to" : "model-constraint",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-element",
+ "to" : "constrained-element-set",
+ "label" : "connectsTo",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-constraint",
+ "to" : "constrained-element-set",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "constrained-element-set",
+ "to" : "element-choice-set",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "element-choice-set",
+ "to" : "model-element",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query",
+ "to" : "model",
+ "label" : "relatedTo",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query",
+ "to" : "named-query-element",
+ "label" : "startsWith",
+ "direction" : "OUT",
+ "multiplicity" : "One2One",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query-element",
+ "to" : "named-query-element",
+ "label" : "connectsTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query-element",
+ "to" : "model",
+ "label" : "isA",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query-element",
+ "to" : "property-constraint",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query-element",
+ "to" : "related-lookup",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "instance-group",
+ "to" : "model",
+ "label" : "targets",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "newvce",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "oam-network",
+ "to" : "complex",
+ "label" : "definedFor",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "oam-network",
+ "to" : "service-capability",
+ "label" : "supportsServiceCapability",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "p-interface",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "p-interface",
+ "to" : "physical-link",
+ "label" : "usesPhysicalLink",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "p-interface",
+ "to" : "logical-link",
+ "label" : "usesLogicalLink",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "port-group",
+ "to" : "cvlan-tag",
+ "label" : "hasCTag",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pserver",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pserver",
+ "to" : "cloud-region",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pserver",
+ "to" : "availability-zone",
+ "label" : "existsIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pserver",
+ "to" : "lag-interface",
+ "label" : "hasLAGInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pserver",
+ "to" : "p-interface",
+ "label" : "hasPinterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pserver",
+ "to" : "zone",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "pnf",
+ "to" : "p-interface",
+ "label" : "hasPinterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pnf",
+ "to" : "lag-interface",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pnf",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "pnf",
+ "to" : "instance-group",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "pnf",
+ "to" : "zone",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "cvlan-tag",
+ "label" : "hasIPAGFacingVLAN",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "pnf",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-subscription",
+ "to" : "service-instance",
+ "label" : "hasInstance",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "site-pair-set",
+ "to" : "routing-instance",
+ "label" : "hasRoutingInstance",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "routing-instance",
+ "to" : "site-pair",
+ "label" : "hasSitePair",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "site-pair",
+ "to" : "class-of-service",
+ "label" : "hasClassOfService",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "tenant",
+ "to" : "l3-network",
+ "label" : "usesL3Network",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "tenant",
+ "to" : "service-subscription",
+ "label" : "relatedTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "tenant",
+ "to" : "vserver",
+ "label" : "owns",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "vce",
+ "to" : "availability-zone",
+ "label" : "hasAvailabilityZone",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vce",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vce",
+ "to" : "port-group",
+ "label" : "hasPortGroup",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vce",
+ "to" : "vserver",
+ "label" : "runsOnVserver",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vce",
+ "to" : "service-instance",
+ "label" : "hasServiceInstance",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "virtual-data-center",
+ "to" : "generic-vnf",
+ "label" : "hasVNF",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "vlan",
+ "to" : "l3-interface-ipv4-address-list",
+ "label" : "hasIpAddress",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vlan",
+ "to" : "l3-interface-ipv6-address-list",
+ "label" : "hasIpAddress",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vpe",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpe",
+ "to" : "ctag-pool",
+ "label" : "usesCtagPool",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpe",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpe",
+ "to" : "lag-interface",
+ "label" : "hasLAGInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpe",
+ "to" : "vserver",
+ "label" : "runsOnVserver",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpls-pe",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpls-pe",
+ "to" : "ctag-pool",
+ "label" : "usesCtagPool",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpls-pe",
+ "to" : "p-interface",
+ "label" : "hasPinterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpls-pe",
+ "to" : "lag-interface",
+ "label" : "hasLAGinterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vserver",
+ "to" : "flavor",
+ "label" : "hasFlavor",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "image",
+ "label" : "hasImage",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "ipaddress",
+ "label" : "hasIpAddress",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vserver",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "pserver",
+ "label" : "runsOnPserver",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "volume",
+ "label" : "hasVolume",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "vnfc",
+ "label" : "hosts",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "snapshot",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "service-instance",
+ "to" : "connector",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "metadatum",
+ "label" : "hasMetaData",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "logical-link",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "vlan",
+ "label" : "dependsOn",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "service-instance",
+ "label" : "dependsOn",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "connector",
+ "to" : "virtual-data-center",
+ "label" : "contains",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "connector",
+ "to" : "metadatum",
+ "label" : "hasMetaData",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "virtual-data-center",
+ "to" : "logical-link",
+ "label" : "contains",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "logical-link",
+ "to" : "generic-vnf",
+ "label" : "bridgedTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "logical-link",
+ "to" : "pserver",
+ "label" : "bridgedTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vlan",
+ "to" : "multicast-configuration",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "volume-group",
+ "to" : "complex",
+ "label" : "existsIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "volume-group",
+ "to" : "tenant",
+ "label" : "belongsTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "ipsec-configuration",
+ "to" : "vig-server",
+ "label" : "hasVigServer",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "ipsec-configuration",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vf-module",
+ "to" : "volume-group",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "vf-module",
+ "label" : "isPartOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vf-module",
+ "to" : "l3-network",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vf-module",
+ "to" : "vnfc",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "vf-module",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "volume-group",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "vnfc",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vlan",
+ "to" : "logical-link",
+ "label" : "usesLogicalLink",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vpn-binding",
+ "to" : "route-target",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "ctag-assignment",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "allotted-resource",
+ "to" : "generic-vnf",
+ "label" : "isPartOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "allotted-resource",
+ "to" : "l3-network",
+ "label" : "isPartOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "allotted-resource",
+ "to" : "instance-group",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "allotted-resource",
+ "to" : "network-policy",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "allotted-resource",
+ "to" : "vlan",
+ "label" : "isPartOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "instance-group",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "instance-group",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "allotted-resource",
+ "to" : "tunnel-xconnect",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2One",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "logical-link",
+ "to" : "cloud-region",
+ "label" : "existsIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "logical-link",
+ "to" : "vpn-binding",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "entitlement",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "license",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vce",
+ "to" : "entitlement",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vce",
+ "to" : "license",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpe",
+ "to" : "entitlement",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpe",
+ "to" : "license",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "zone",
+ "to" : "complex",
+ "label" : "existsIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "allotted-resource",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "allotted-resource",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+}
+]
+} \ No newline at end of file
diff --git a/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v11.json b/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v11.json
new file mode 100644
index 00000000..ff777aad
--- /dev/null
+++ b/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v11.json
@@ -0,0 +1,1973 @@
+{"rules":
+[
+{
+ "from" : "availability-zone",
+ "to" : "complex",
+ "label" : "groupsResourcesIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "license-key-resource",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "availability-zone",
+ "to" : "service-capability",
+ "label" : "supportsServiceCapability",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "l3-network",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "tenant",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "cloud-region",
+ "to" : "image",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "flavor",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "availability-zone",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "oam-network",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "dvs-switch",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "volume-group",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "group-assignment",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "snapshot",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "zone",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "complex",
+ "to" : "ctag-pool",
+ "label" : "hasCtagPool",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "complex",
+ "to" : "l3-network",
+ "label" : "usesL3Network",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "ctag-pool",
+ "to" : "availability-zone",
+ "label" : "supportsAvailabilityZone",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "customer",
+ "to" : "service-subscription",
+ "label" : "subscribesTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "dvs-switch",
+ "to" : "availability-zone",
+ "label" : "existsIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "availability-zone",
+ "label" : "hasAvailabilityZone",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "lag-interface",
+ "label" : "hasLAGInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "l3-network",
+ "label" : "usesL3Network",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "pserver",
+ "label" : "runsOnPserver",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "vnf-image",
+ "label" : "usesVnfImage",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "vserver",
+ "label" : "runsOnVserver",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "service-instance",
+ "label" : "hasInstance",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "site-pair-set",
+ "label" : "hasSitePairSet",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "network-profile",
+ "label" : "hasNetworkProfile",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "pnf",
+ "label" : "hostedOn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "group-assignment",
+ "to" : "tenant",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "group-assignment",
+ "to" : "pserver",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "image",
+ "to" : "metadata",
+ "label" : "hasMetaData",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "image",
+ "to" : "metadatum",
+ "label" : "hasMetaDatum",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l-interface",
+ "to" : "instance-group",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l-interface",
+ "to" : "l3-interface-ipv4-address-list",
+ "label" : "hasIpAddress",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l-interface",
+ "to" : "l3-interface-ipv6-address-list",
+ "label" : "hasIpAddress",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l-interface",
+ "to" : "l-interface",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l-interface",
+ "to" : "logical-link",
+ "label" : "usesLogicalLink",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "lag-interface",
+ "to" : "logical-link",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l-interface",
+ "to" : "vlan",
+ "label" : "hasVlan",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l-interface",
+ "to" : "sriov-vf",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2One",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l3-interface-ipv4-address-list",
+ "to" : "instance-group",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l3-interface-ipv6-address-list",
+ "to" : "instance-group",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l3-interface-ipv4-address-list",
+ "to" : "l3-network",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-interface-ipv6-address-list",
+ "to" : "l3-network",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-interface-ipv4-address-list",
+ "to" : "subnet",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-interface-ipv6-address-list",
+ "to" : "subnet",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-network",
+ "to" : "vpn-binding",
+ "label" : "usesVpnBinding",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l3-network",
+ "to" : "instance-group",
+ "label" : "memberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l3-network",
+ "to" : "subnet",
+ "label" : "hasSubnet",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "l3-network",
+ "to" : "service-instance",
+ "label" : "hasInstance",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "l3-network",
+ "to" : "ctag-assignment",
+ "label" : "hasCtagAssignment",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-network",
+ "to" : "network-policy",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-network",
+ "to" : "segmentation-assignment",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l3-network",
+ "to" : "route-table-reference",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "lag-interface",
+ "to" : "lag-link",
+ "label" : "usesLAGLink",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "lag-interface",
+ "to" : "p-interface",
+ "label" : "usesPInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "lag-interface",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "logical-link",
+ "to" : "lag-link",
+ "label" : "usesLAGLink",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "logical-link",
+ "to" : "pnf",
+ "label" : "bridgedTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "logical-link",
+ "to" : "logical-link",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "model",
+ "to" : "model-ver",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-ver",
+ "to" : "model-element",
+ "label" : "startsWith",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-element",
+ "to" : "model-ver",
+ "label" : "isA",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-ver",
+ "to" : "metadatum",
+ "label" : "hasMetaData",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-element",
+ "to" : "model-element",
+ "label" : "connectsTo",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-element",
+ "to" : "model-constraint",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-element",
+ "to" : "constrained-element-set",
+ "label" : "connectsTo",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-constraint",
+ "to" : "constrained-element-set",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "constrained-element-set",
+ "to" : "element-choice-set",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "element-choice-set",
+ "to" : "model-element",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query",
+ "to" : "model",
+ "label" : "relatedTo",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query",
+ "to" : "named-query-element",
+ "label" : "startsWith",
+ "direction" : "OUT",
+ "multiplicity" : "One2One",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query-element",
+ "to" : "named-query-element",
+ "label" : "connectsTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query-element",
+ "to" : "model",
+ "label" : "isA",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query-element",
+ "to" : "property-constraint",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query-element",
+ "to" : "related-lookup",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "instance-group",
+ "to" : "model",
+ "label" : "targets",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "newvce",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "oam-network",
+ "to" : "complex",
+ "label" : "definedFor",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "oam-network",
+ "to" : "service-capability",
+ "label" : "supportsServiceCapability",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "p-interface",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "p-interface",
+ "to" : "physical-link",
+ "label" : "usesPhysicalLink",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "p-interface",
+ "to" : "logical-link",
+ "label" : "usesLogicalLink",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "port-group",
+ "to" : "cvlan-tag",
+ "label" : "hasCTag",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pserver",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pserver",
+ "to" : "cloud-region",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pserver",
+ "to" : "availability-zone",
+ "label" : "existsIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pserver",
+ "to" : "lag-interface",
+ "label" : "hasLAGInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pserver",
+ "to" : "p-interface",
+ "label" : "hasPinterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pserver",
+ "to" : "zone",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "pnf",
+ "to" : "p-interface",
+ "label" : "hasPinterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pnf",
+ "to" : "lag-interface",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pnf",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "pnf",
+ "to" : "instance-group",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "pnf",
+ "to" : "zone",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "zone",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "service-instance",
+ "to" : "cvlan-tag",
+ "label" : "hasIPAGFacingVLAN",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "pnf",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-subscription",
+ "to" : "service-instance",
+ "label" : "hasInstance",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "site-pair-set",
+ "to" : "routing-instance",
+ "label" : "hasRoutingInstance",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "routing-instance",
+ "to" : "site-pair",
+ "label" : "hasSitePair",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "site-pair",
+ "to" : "class-of-service",
+ "label" : "hasClassOfService",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "tenant",
+ "to" : "l3-network",
+ "label" : "usesL3Network",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "tenant",
+ "to" : "service-subscription",
+ "label" : "relatedTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "tenant",
+ "to" : "vserver",
+ "label" : "owns",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "vce",
+ "to" : "availability-zone",
+ "label" : "hasAvailabilityZone",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vce",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vce",
+ "to" : "port-group",
+ "label" : "hasPortGroup",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vce",
+ "to" : "vserver",
+ "label" : "runsOnVserver",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vce",
+ "to" : "service-instance",
+ "label" : "hasServiceInstance",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "virtual-data-center",
+ "to" : "generic-vnf",
+ "label" : "hasVNF",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "vlan",
+ "to" : "l3-interface-ipv4-address-list",
+ "label" : "hasIpAddress",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vlan",
+ "to" : "l3-interface-ipv6-address-list",
+ "label" : "hasIpAddress",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vpe",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpe",
+ "to" : "ctag-pool",
+ "label" : "usesCtagPool",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpe",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpe",
+ "to" : "lag-interface",
+ "label" : "hasLAGInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpe",
+ "to" : "vserver",
+ "label" : "runsOnVserver",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpls-pe",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpls-pe",
+ "to" : "ctag-pool",
+ "label" : "usesCtagPool",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpls-pe",
+ "to" : "p-interface",
+ "label" : "hasPinterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpls-pe",
+ "to" : "lag-interface",
+ "label" : "hasLAGinterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vserver",
+ "to" : "flavor",
+ "label" : "hasFlavor",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "image",
+ "label" : "hasImage",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "ipaddress",
+ "label" : "hasIpAddress",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vserver",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "pserver",
+ "label" : "runsOnPserver",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "volume",
+ "label" : "hasVolume",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "vnfc",
+ "label" : "hosts",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "snapshot",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "service-instance",
+ "to" : "connector",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "metadatum",
+ "label" : "hasMetaData",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "logical-link",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "vlan",
+ "label" : "dependsOn",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "service-instance",
+ "label" : "dependsOn",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "connector",
+ "to" : "virtual-data-center",
+ "label" : "contains",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "connector",
+ "to" : "metadatum",
+ "label" : "hasMetaData",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "virtual-data-center",
+ "to" : "logical-link",
+ "label" : "contains",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "logical-link",
+ "to" : "generic-vnf",
+ "label" : "bridgedTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "logical-link",
+ "to" : "pserver",
+ "label" : "bridgedTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vlan",
+ "to" : "multicast-configuration",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "volume-group",
+ "to" : "complex",
+ "label" : "existsIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "volume-group",
+ "to" : "tenant",
+ "label" : "belongsTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "ipsec-configuration",
+ "to" : "vig-server",
+ "label" : "hasVigServer",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "ipsec-configuration",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vf-module",
+ "to" : "volume-group",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "vf-module",
+ "label" : "isPartOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vf-module",
+ "to" : "l3-network",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vf-module",
+ "to" : "vnfc",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "vf-module",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "volume-group",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "vnfc",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vlan",
+ "to" : "logical-link",
+ "label" : "usesLogicalLink",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vpn-binding",
+ "to" : "route-target",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "ctag-assignment",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "allotted-resource",
+ "to" : "generic-vnf",
+ "label" : "isPartOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "allotted-resource",
+ "to" : "l3-network",
+ "label" : "isPartOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "allotted-resource",
+ "to" : "instance-group",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "allotted-resource",
+ "to" : "network-policy",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "allotted-resource",
+ "to" : "vlan",
+ "label" : "isPartOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "allotted-resource",
+ "to" : "l-interface",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "instance-group",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "instance-group",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "allotted-resource",
+ "to" : "tunnel-xconnect",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2One",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "logical-link",
+ "to" : "cloud-region",
+ "label" : "existsIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "logical-link",
+ "to" : "vpn-binding",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "entitlement",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "license",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vce",
+ "to" : "entitlement",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vce",
+ "to" : "license",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpe",
+ "to" : "entitlement",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpe",
+ "to" : "license",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "zone",
+ "to" : "complex",
+ "label" : "existsIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "allotted-resource",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "allotted-resource",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "allotted-resource",
+ "to" : "vpn-binding",
+ "label" : "belongsTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+}
+]
+} \ No newline at end of file
diff --git a/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v8.json b/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v8.json
new file mode 100644
index 00000000..9344b524
--- /dev/null
+++ b/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v8.json
@@ -0,0 +1,1555 @@
+{"rules":
+[
+{
+ "from" : "availability-zone",
+ "to" : "complex",
+ "label" : "groupsResourcesIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "license-key-resource",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "availability-zone",
+ "to" : "service-capability",
+ "label" : "supportsServiceCapability",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "l3-network",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "tenant",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "cloud-region",
+ "to" : "image",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "flavor",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "availability-zone",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "oam-network",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "dvs-switch",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "volume-group",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "group-assignment",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "snapshot",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "complex",
+ "to" : "ctag-pool",
+ "label" : "hasCtagPool",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "complex",
+ "to" : "l3-network",
+ "label" : "usesL3Network",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "ctag-pool",
+ "to" : "availability-zone",
+ "label" : "supportsAvailabilityZone",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "customer",
+ "to" : "service-subscription",
+ "label" : "subscribesTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "dvs-switch",
+ "to" : "availability-zone",
+ "label" : "existsIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "availability-zone",
+ "label" : "hasAvailabilityZone",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "lag-interface",
+ "label" : "hasLAGInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "l3-network",
+ "label" : "usesL3Network",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "pserver",
+ "label" : "runsOnPserver",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "vnf-image",
+ "label" : "usesVnfImage",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "vserver",
+ "label" : "runsOnVserver",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "service-instance",
+ "label" : "hasInstance",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "site-pair-set",
+ "label" : "hasSitePairSet",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "network-profile",
+ "label" : "hasNetworkProfile",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "group-assignment",
+ "to" : "tenant",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "group-assignment",
+ "to" : "pserver",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "image",
+ "to" : "metadata",
+ "label" : "hasMetaData",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "image",
+ "to" : "metadatum",
+ "label" : "hasMetaDatum",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l-interface",
+ "to" : "l3-interface-ipv4-address-list",
+ "label" : "hasIpAddress",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l-interface",
+ "to" : "l3-interface-ipv6-address-list",
+ "label" : "hasIpAddress",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l-interface",
+ "to" : "logical-link",
+ "label" : "usesLogicalLink",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l-interface",
+ "to" : "vlan",
+ "label" : "hasVlan",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l-interface",
+ "to" : "sriov-vf",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2One",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l3-interface-ipv4-address-list",
+ "to" : "l3-network",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-interface-ipv6-address-list",
+ "to" : "l3-network",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-interface-ipv4-address-list",
+ "to" : "subnet",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-interface-ipv6-address-list",
+ "to" : "subnet",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-network",
+ "to" : "vpn-binding",
+ "label" : "usesVpnBinding",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l3-network",
+ "to" : "subnet",
+ "label" : "hasSubnet",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "l3-network",
+ "to" : "service-instance",
+ "label" : "hasInstance",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "l3-network",
+ "to" : "ctag-assignment",
+ "label" : "hasCtagAssignment",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-network",
+ "to" : "network-policy",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-network",
+ "to" : "segmentation-assignment",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l3-network",
+ "to" : "route-table-reference",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "lag-interface",
+ "to" : "lag-link",
+ "label" : "usesLAGLink",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "lag-interface",
+ "to" : "p-interface",
+ "label" : "usesPInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "lag-interface",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "logical-link",
+ "to" : "lag-link",
+ "label" : "usesLAGLink",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "logical-link",
+ "to" : "pnf",
+ "label" : "bridgedTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "logical-link",
+ "to" : "logical-link",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "model",
+ "to" : "model-element",
+ "label" : "startsWith",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-element",
+ "to" : "model",
+ "label" : "isA",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model",
+ "to" : "metadatum",
+ "label" : "hasMetaData",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-element",
+ "to" : "model-element",
+ "label" : "connectsTo",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-element",
+ "to" : "model-constraint",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-element",
+ "to" : "constrained-element-set",
+ "label" : "connectsTo",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-constraint",
+ "to" : "constrained-element-set",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "constrained-element-set",
+ "to" : "element-choice-set",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "element-choice-set",
+ "to" : "model-element",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query",
+ "to" : "model",
+ "label" : "relatedTo",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query",
+ "to" : "named-query-element",
+ "label" : "startsWith",
+ "direction" : "OUT",
+ "multiplicity" : "One2One",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query-element",
+ "to" : "named-query-element",
+ "label" : "connectsTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query-element",
+ "to" : "model",
+ "label" : "isA",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query-element",
+ "to" : "property-constraint",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query-element",
+ "to" : "related-lookup",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "newvce",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "oam-network",
+ "to" : "complex",
+ "label" : "definedFor",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "oam-network",
+ "to" : "service-capability",
+ "label" : "supportsServiceCapability",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "p-interface",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "p-interface",
+ "to" : "physical-link",
+ "label" : "usesPhysicalLink",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "p-interface",
+ "to" : "logical-link",
+ "label" : "usesLogicalLink",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "port-group",
+ "to" : "cvlan-tag",
+ "label" : "hasCTag",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pserver",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pserver",
+ "to" : "cloud-region",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pserver",
+ "to" : "availability-zone",
+ "label" : "existsIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pserver",
+ "to" : "lag-interface",
+ "label" : "hasLAGInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pserver",
+ "to" : "p-interface",
+ "label" : "hasPinterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pnf",
+ "to" : "p-interface",
+ "label" : "hasPinterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pnf",
+ "to" : "lag-interface",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pnf",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "cvlan-tag",
+ "label" : "hasIPAGFacingVLAN",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-subscription",
+ "to" : "service-instance",
+ "label" : "hasInstance",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "site-pair-set",
+ "to" : "routing-instance",
+ "label" : "hasRoutingInstance",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "routing-instance",
+ "to" : "site-pair",
+ "label" : "hasSitePair",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "site-pair",
+ "to" : "class-of-service",
+ "label" : "hasClassOfService",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "tenant",
+ "to" : "l3-network",
+ "label" : "usesL3Network",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "tenant",
+ "to" : "service-subscription",
+ "label" : "relatedTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "tenant",
+ "to" : "vserver",
+ "label" : "owns",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "vce",
+ "to" : "availability-zone",
+ "label" : "hasAvailabilityZone",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vce",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vce",
+ "to" : "port-group",
+ "label" : "hasPortGroup",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vce",
+ "to" : "vserver",
+ "label" : "runsOnVserver",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vce",
+ "to" : "service-instance",
+ "label" : "hasServiceInstance",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "virtual-data-center",
+ "to" : "generic-vnf",
+ "label" : "hasVNF",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "vlan",
+ "to" : "l3-interface-ipv4-address-list",
+ "label" : "hasIpAddress",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vlan",
+ "to" : "l3-interface-ipv6-address-list",
+ "label" : "hasIpAddress",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vpe",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpe",
+ "to" : "ctag-pool",
+ "label" : "usesCtagPool",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpe",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpe",
+ "to" : "lag-interface",
+ "label" : "hasLAGInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpe",
+ "to" : "vserver",
+ "label" : "runsOnVserver",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpls-pe",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpls-pe",
+ "to" : "ctag-pool",
+ "label" : "usesCtagPool",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpls-pe",
+ "to" : "p-interface",
+ "label" : "hasPinterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpls-pe",
+ "to" : "lag-interface",
+ "label" : "hasLAGinterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vserver",
+ "to" : "flavor",
+ "label" : "hasFlavor",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "image",
+ "label" : "hasImage",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "ipaddress",
+ "label" : "hasIpAddress",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vserver",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "pserver",
+ "label" : "runsOnPserver",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "volume",
+ "label" : "hasVolume",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "vnfc",
+ "label" : "hosts",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "snapshot",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "service-instance",
+ "to" : "connector",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "metadatum",
+ "label" : "hasMetaData",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "logical-link",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "vlan",
+ "label" : "dependsOn",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "service-instance",
+ "label" : "dependsOn",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "connector",
+ "to" : "virtual-data-center",
+ "label" : "contains",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "connector",
+ "to" : "metadatum",
+ "label" : "hasMetaData",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "virtual-data-center",
+ "to" : "logical-link",
+ "label" : "contains",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "logical-link",
+ "to" : "generic-vnf",
+ "label" : "bridgedTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "logical-link",
+ "to" : "pserver",
+ "label" : "bridgedTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vlan",
+ "to" : "multicast-configuration",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "volume-group",
+ "to" : "complex",
+ "label" : "existsIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "volume-group",
+ "to" : "tenant",
+ "label" : "belongsTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "ipsec-configuration",
+ "to" : "vig-server",
+ "label" : "hasVigServer",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "ipsec-configuration",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vf-module",
+ "to" : "volume-group",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "vf-module",
+ "label" : "isPartOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vf-module",
+ "to" : "l3-network",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vf-module",
+ "to" : "vnfc",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "vf-module",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "volume-group",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "vnfc",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vlan",
+ "to" : "logical-link",
+ "label" : "usesLogicalLink",
+ "direction" : "OUT",
+ "multiplicity" : "One2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "true"
+}
+]
+} \ No newline at end of file
diff --git a/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v9.json b/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v9.json
new file mode 100644
index 00000000..9183a47c
--- /dev/null
+++ b/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v9.json
@@ -0,0 +1,1841 @@
+{"rules":
+[
+{
+ "from" : "availability-zone",
+ "to" : "complex",
+ "label" : "groupsResourcesIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "license-key-resource",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "availability-zone",
+ "to" : "service-capability",
+ "label" : "supportsServiceCapability",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "l3-network",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "tenant",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "cloud-region",
+ "to" : "image",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "flavor",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "availability-zone",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "oam-network",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "dvs-switch",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "volume-group",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "group-assignment",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "snapshot",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "cloud-region",
+ "to" : "zone",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "complex",
+ "to" : "ctag-pool",
+ "label" : "hasCtagPool",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "complex",
+ "to" : "l3-network",
+ "label" : "usesL3Network",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "ctag-pool",
+ "to" : "availability-zone",
+ "label" : "supportsAvailabilityZone",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "customer",
+ "to" : "service-subscription",
+ "label" : "subscribesTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "dvs-switch",
+ "to" : "availability-zone",
+ "label" : "existsIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "availability-zone",
+ "label" : "hasAvailabilityZone",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "lag-interface",
+ "label" : "hasLAGInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "l3-network",
+ "label" : "usesL3Network",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "pserver",
+ "label" : "runsOnPserver",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "vnf-image",
+ "label" : "usesVnfImage",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "vserver",
+ "label" : "runsOnVserver",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "service-instance",
+ "label" : "hasInstance",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "site-pair-set",
+ "label" : "hasSitePairSet",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "network-profile",
+ "label" : "hasNetworkProfile",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "group-assignment",
+ "to" : "tenant",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "group-assignment",
+ "to" : "pserver",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "image",
+ "to" : "metadata",
+ "label" : "hasMetaData",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "image",
+ "to" : "metadatum",
+ "label" : "hasMetaDatum",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l-interface",
+ "to" : "l3-interface-ipv4-address-list",
+ "label" : "hasIpAddress",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l-interface",
+ "to" : "l3-interface-ipv6-address-list",
+ "label" : "hasIpAddress",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l-interface",
+ "to" : "logical-link",
+ "label" : "usesLogicalLink",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l-interface",
+ "to" : "vlan",
+ "label" : "hasVlan",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l-interface",
+ "to" : "sriov-vf",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2One",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l3-interface-ipv4-address-list",
+ "to" : "l3-network",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-interface-ipv6-address-list",
+ "to" : "l3-network",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-interface-ipv4-address-list",
+ "to" : "subnet",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-interface-ipv6-address-list",
+ "to" : "subnet",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-network",
+ "to" : "vpn-binding",
+ "label" : "usesVpnBinding",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l3-network",
+ "to" : "subnet",
+ "label" : "hasSubnet",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "l3-network",
+ "to" : "service-instance",
+ "label" : "hasInstance",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "l3-network",
+ "to" : "ctag-assignment",
+ "label" : "hasCtagAssignment",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-network",
+ "to" : "network-policy",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "l3-network",
+ "to" : "segmentation-assignment",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "l3-network",
+ "to" : "route-table-reference",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "lag-interface",
+ "to" : "lag-link",
+ "label" : "usesLAGLink",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "lag-interface",
+ "to" : "p-interface",
+ "label" : "usesPInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "lag-interface",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "logical-link",
+ "to" : "lag-link",
+ "label" : "usesLAGLink",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "logical-link",
+ "to" : "pnf",
+ "label" : "bridgedTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "logical-link",
+ "to" : "logical-link",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "model",
+ "to" : "model-ver",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-ver",
+ "to" : "model-element",
+ "label" : "startsWith",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-element",
+ "to" : "model-ver",
+ "label" : "isA",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-ver",
+ "to" : "metadatum",
+ "label" : "hasMetaData",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-element",
+ "to" : "model-element",
+ "label" : "connectsTo",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-element",
+ "to" : "model-constraint",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-element",
+ "to" : "constrained-element-set",
+ "label" : "connectsTo",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "model-constraint",
+ "to" : "constrained-element-set",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "constrained-element-set",
+ "to" : "element-choice-set",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "element-choice-set",
+ "to" : "model-element",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query",
+ "to" : "model",
+ "label" : "relatedTo",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query",
+ "to" : "named-query-element",
+ "label" : "startsWith",
+ "direction" : "OUT",
+ "multiplicity" : "One2One",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query-element",
+ "to" : "named-query-element",
+ "label" : "connectsTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query-element",
+ "to" : "model",
+ "label" : "isA",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query-element",
+ "to" : "property-constraint",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "named-query-element",
+ "to" : "related-lookup",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "instance-group",
+ "to" : "model",
+ "label" : "targets",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "newvce",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "oam-network",
+ "to" : "complex",
+ "label" : "definedFor",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "oam-network",
+ "to" : "service-capability",
+ "label" : "supportsServiceCapability",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "p-interface",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "p-interface",
+ "to" : "physical-link",
+ "label" : "usesPhysicalLink",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "p-interface",
+ "to" : "logical-link",
+ "label" : "usesLogicalLink",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "port-group",
+ "to" : "cvlan-tag",
+ "label" : "hasCTag",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pserver",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pserver",
+ "to" : "cloud-region",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pserver",
+ "to" : "availability-zone",
+ "label" : "existsIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pserver",
+ "to" : "lag-interface",
+ "label" : "hasLAGInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pserver",
+ "to" : "p-interface",
+ "label" : "hasPinterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pserver",
+ "to" : "zone",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "pnf",
+ "to" : "p-interface",
+ "label" : "hasPinterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pnf",
+ "to" : "lag-interface",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "pnf",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "pnf",
+ "to" : "instance-group",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "pnf",
+ "to" : "zone",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "cvlan-tag",
+ "label" : "hasIPAGFacingVLAN",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "pnf",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-subscription",
+ "to" : "service-instance",
+ "label" : "hasInstance",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "site-pair-set",
+ "to" : "routing-instance",
+ "label" : "hasRoutingInstance",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "routing-instance",
+ "to" : "site-pair",
+ "label" : "hasSitePair",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "site-pair",
+ "to" : "class-of-service",
+ "label" : "hasClassOfService",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "tenant",
+ "to" : "l3-network",
+ "label" : "usesL3Network",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "tenant",
+ "to" : "service-subscription",
+ "label" : "relatedTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "tenant",
+ "to" : "vserver",
+ "label" : "owns",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "vce",
+ "to" : "availability-zone",
+ "label" : "hasAvailabilityZone",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vce",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vce",
+ "to" : "port-group",
+ "label" : "hasPortGroup",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vce",
+ "to" : "vserver",
+ "label" : "runsOnVserver",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vce",
+ "to" : "service-instance",
+ "label" : "hasServiceInstance",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "virtual-data-center",
+ "to" : "generic-vnf",
+ "label" : "hasVNF",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "reverse"
+},
+{
+ "from" : "vlan",
+ "to" : "l3-interface-ipv4-address-list",
+ "label" : "hasIpAddress",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vlan",
+ "to" : "l3-interface-ipv6-address-list",
+ "label" : "hasIpAddress",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vpe",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpe",
+ "to" : "ctag-pool",
+ "label" : "usesCtagPool",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpe",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpe",
+ "to" : "lag-interface",
+ "label" : "hasLAGInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpe",
+ "to" : "vserver",
+ "label" : "runsOnVserver",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpls-pe",
+ "to" : "complex",
+ "label" : "locatedIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpls-pe",
+ "to" : "ctag-pool",
+ "label" : "usesCtagPool",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpls-pe",
+ "to" : "p-interface",
+ "label" : "hasPinterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpls-pe",
+ "to" : "lag-interface",
+ "label" : "hasLAGinterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vserver",
+ "to" : "flavor",
+ "label" : "hasFlavor",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "image",
+ "label" : "hasImage",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "ipaddress",
+ "label" : "hasIpAddress",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vserver",
+ "to" : "l-interface",
+ "label" : "hasLInterface",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "pserver",
+ "label" : "runsOnPserver",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "volume",
+ "label" : "hasVolume",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "vnfc",
+ "label" : "hosts",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "snapshot",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "service-instance",
+ "to" : "connector",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "metadatum",
+ "label" : "hasMetaData",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "logical-link",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "vlan",
+ "label" : "dependsOn",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "service-instance",
+ "label" : "dependsOn",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "connector",
+ "to" : "virtual-data-center",
+ "label" : "contains",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "connector",
+ "to" : "metadatum",
+ "label" : "hasMetaData",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "virtual-data-center",
+ "to" : "logical-link",
+ "label" : "contains",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "logical-link",
+ "to" : "generic-vnf",
+ "label" : "bridgedTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "logical-link",
+ "to" : "pserver",
+ "label" : "bridgedTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vlan",
+ "to" : "multicast-configuration",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "volume-group",
+ "to" : "complex",
+ "label" : "existsIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "volume-group",
+ "to" : "tenant",
+ "label" : "belongsTo",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "ipsec-configuration",
+ "to" : "vig-server",
+ "label" : "hasVigServer",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "ipsec-configuration",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "true",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vf-module",
+ "to" : "volume-group",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vserver",
+ "to" : "vf-module",
+ "label" : "isPartOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vf-module",
+ "to" : "l3-network",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vf-module",
+ "to" : "vnfc",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "vf-module",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "volume-group",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "vnfc",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "vlan",
+ "to" : "logical-link",
+ "label" : "usesLogicalLink",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "true",
+ "SVC-INFRA" : "true"
+},
+{
+ "from" : "service-instance",
+ "to" : "ctag-assignment",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "allotted-resource",
+ "to" : "generic-vnf",
+ "label" : "isPartOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "allotted-resource",
+ "to" : "l3-network",
+ "label" : "isPartOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "allotted-resource",
+ "to" : "instance-group",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "allotted-resource",
+ "to" : "vlan",
+ "label" : "isPartOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "instance-group",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "instance-group",
+ "label" : "isMemberOf",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "allotted-resource",
+ "to" : "tunnel-xconnect",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2One",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "logical-link",
+ "to" : "cloud-region",
+ "label" : "existsIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "logical-link",
+ "to" : "vpn-binding",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "entitlement",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "generic-vnf",
+ "to" : "license",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vce",
+ "to" : "entitlement",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vce",
+ "to" : "license",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpe",
+ "to" : "entitlement",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "vpe",
+ "to" : "license",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "One2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "zone",
+ "to" : "complex",
+ "label" : "existsIn",
+ "direction" : "OUT",
+ "multiplicity" : "Many2One",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "allotted-resource",
+ "label" : "has",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "true",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+},
+{
+ "from" : "service-instance",
+ "to" : "allotted-resource",
+ "label" : "uses",
+ "direction" : "OUT",
+ "multiplicity" : "Many2Many",
+ "isParent" : "false",
+ "usesResource" : "false",
+ "hasDelTarget" : "false",
+ "SVC-INFRA" : "false"
+}
+]
+} \ No newline at end of file
diff --git a/aai-core/src/main/resources/dbedgerules/conversion/edgerulesTemplate.ftlh b/aai-core/src/main/resources/dbedgerules/conversion/edgerulesTemplate.ftlh
new file mode 100644
index 00000000..d5f91e38
--- /dev/null
+++ b/aai-core/src/main/resources/dbedgerules/conversion/edgerulesTemplate.ftlh
@@ -0,0 +1,8 @@
+{"rules":
+[
+<#list wrappedRules as rule>
+ <#include "ruleTemplate.ftlh">
+<#if rule_has_next>,</#if>
+</#list>
+]
+} \ No newline at end of file
diff --git a/aai-core/src/main/resources/dbedgerules/conversion/ruleTemplate.ftlh b/aai-core/src/main/resources/dbedgerules/conversion/ruleTemplate.ftlh
new file mode 100644
index 00000000..397bc36e
--- /dev/null
+++ b/aai-core/src/main/resources/dbedgerules/conversion/ruleTemplate.ftlh
@@ -0,0 +1,11 @@
+{
+ "from" : "${rule.from}",
+ "to" : "${rule.to}",
+ "label" : "${rule.label}",
+ "direction" : "${rule.direction}",
+ "multiplicity" : "${rule.multiplicity}",
+ "isParent" : "${rule.isParent}",
+ "usesResource" : "${rule.usesResource}",
+ "hasDelTarget" : "${rule.hasDelTarget}",
+ "SVC-INFRA" : "${rule.svcInfra}"
+} \ No newline at end of file