diff options
Diffstat (limited to 'aai-core/src/main')
6 files changed, 7456 insertions, 7281 deletions
diff --git a/aai-core/src/main/java/org/openecomp/aai/dbmodel/DbEdgeRules.java b/aai-core/src/main/java/org/openecomp/aai/dbmodel/DbEdgeRules.java index e5aa36a1..3f114926 100644 --- a/aai-core/src/main/java/org/openecomp/aai/dbmodel/DbEdgeRules.java +++ b/aai-core/src/main/java/org/openecomp/aai/dbmodel/DbEdgeRules.java @@ -400,7 +400,7 @@ public class DbEdgeRules { .putAll("generic-vnf", "CASCADE_TO_CHILDREN") .putAll("l3-network", "CASCADE_TO_CHILDREN") .putAll("ctag-pool", "THIS_NODE_ONLY") - .putAll("subnet", "THIS_NODE_ONLY") + .putAll("subnet", "ERROR_IF_ANY_IN_EDGES") .putAll("sriov-vf", "THIS_NODE_ONLY") .putAll("vpn-binding", "ERROR_4_IN_EDGES_OR_CASCADE") .putAll("vnf-image", "ERROR_IF_ANY_IN_EDGES") diff --git a/aai-core/src/main/java/org/openecomp/aai/dbmodel/v10/gen/DbEdgeRules.java b/aai-core/src/main/java/org/openecomp/aai/dbmodel/v10/gen/DbEdgeRules.java index d2056848..1069e849 100644 --- a/aai-core/src/main/java/org/openecomp/aai/dbmodel/v10/gen/DbEdgeRules.java +++ b/aai-core/src/main/java/org/openecomp/aai/dbmodel/v10/gen/DbEdgeRules.java @@ -398,7 +398,7 @@ public class DbEdgeRules { .putAll("generic-vnf", "CASCADE_TO_CHILDREN") .putAll("l3-network", "CASCADE_TO_CHILDREN") .putAll("ctag-pool", "THIS_NODE_ONLY") - .putAll("subnet", "THIS_NODE_ONLY") + .putAll("subnet", "ERROR_IF_ANY_IN_EDGES") .putAll("sriov-vf", "THIS_NODE_ONLY") .putAll("vpn-binding", "ERROR_4_IN_EDGES_OR_CASCADE") .putAll("vnf-image", "ERROR_IF_ANY_IN_EDGES") diff --git a/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v10.json b/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v10.json index eaca6e58..b1173c2a 100644 --- a/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v10.json +++ b/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v10.json @@ -1,1918 +1,1945 @@ -{"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" + "rules": [ + { + "from": "availability-zone", + "to": "complex", + "label": "groupsResourcesIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "license-key-resource", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "availability-zone", + "to": "service-capability", + "label": "supportsServiceCapability", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "cloud-region", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "cloud-region", + "to": "l3-network", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "cloud-region", + "to": "tenant", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "image", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "flavor", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "availability-zone", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "oam-network", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "dvs-switch", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "volume-group", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "group-assignment", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "snapshot", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "zone", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "complex", + "to": "ctag-pool", + "label": "hasCtagPool", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "complex", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "ctag-pool", + "to": "availability-zone", + "label": "supportsAvailabilityZone", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "customer", + "to": "service-subscription", + "label": "subscribesTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "dvs-switch", + "to": "availability-zone", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "availability-zone", + "label": "hasAvailabilityZone", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "lag-interface", + "label": "hasLAGInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "pserver", + "label": "runsOnPserver", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "vnf-image", + "label": "usesVnfImage", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "vserver", + "label": "runsOnVserver", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "site-pair-set", + "label": "hasSitePairSet", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "network-profile", + "label": "hasNetworkProfile", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "group-assignment", + "to": "tenant", + "label": "has", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "group-assignment", + "to": "pserver", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "image", + "to": "metadata", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "image", + "to": "metadatum", + "label": "hasMetaDatum", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "l3-interface-ipv4-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "l3-interface-ipv6-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "l-interface", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "lag-interface", + "to": "logical-link", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "vlan", + "label": "hasVlan", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "sriov-vf", + "label": "has", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "l3-interface-ipv4-address-list", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "l3-interface-ipv6-address-list", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "l3-interface-ipv4-address-list", + "to": "l3-network", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-interface-ipv6-address-list", + "to": "l3-network", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-interface-ipv4-address-list", + "to": "subnet", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "l3-interface-ipv6-address-list", + "to": "subnet", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "l3-network", + "to": "vpn-binding", + "label": "usesVpnBinding", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "l3-network", + "to": "subnet", + "label": "hasSubnet", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-network", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-network", + "to": "ctag-assignment", + "label": "hasCtagAssignment", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-network", + "to": "network-policy", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-network", + "to": "segmentation-assignment", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "l3-network", + "to": "route-table-reference", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "lag-interface", + "to": "lag-link", + "label": "usesLAGLink", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "lag-interface", + "to": "p-interface", + "label": "usesPInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "lag-interface", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "lag-link", + "label": "usesLAGLink", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "pnf", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "logical-link", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "model", + "to": "model-ver", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "model-ver", + "to": "model-element", + "label": "startsWith", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "model-element", + "to": "model-ver", + "label": "isA", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "model-ver", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "model-element", + "to": "model-element", + "label": "connectsTo", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "model-element", + "to": "model-constraint", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "model-element", + "to": "constrained-element-set", + "label": "connectsTo", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "model-constraint", + "to": "constrained-element-set", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "constrained-element-set", + "to": "element-choice-set", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "element-choice-set", + "to": "model-element", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "named-query", + "to": "model", + "label": "relatedTo", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "named-query", + "to": "named-query-element", + "label": "startsWith", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "named-query-element", + "to": "named-query-element", + "label": "connectsTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "named-query-element", + "to": "model", + "label": "isA", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "named-query-element", + "to": "property-constraint", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "named-query-element", + "to": "related-lookup", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "instance-group", + "to": "model", + "label": "targets", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "newvce", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "oam-network", + "to": "complex", + "label": "definedFor", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "oam-network", + "to": "service-capability", + "label": "supportsServiceCapability", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "p-interface", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "p-interface", + "to": "physical-link", + "label": "usesPhysicalLink", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "p-interface", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "port-group", + "to": "cvlan-tag", + "label": "hasCTag", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pserver", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "pserver", + "to": "cloud-region", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pserver", + "to": "availability-zone", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "pserver", + "to": "lag-interface", + "label": "hasLAGInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pserver", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pserver", + "to": "zone", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "pnf", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pnf", + "to": "lag-interface", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pnf", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "pnf", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "pnf", + "to": "zone", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "cvlan-tag", + "label": "hasIPAGFacingVLAN", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "pnf", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-subscription", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "site-pair-set", + "to": "routing-instance", + "label": "hasRoutingInstance", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "routing-instance", + "to": "site-pair", + "label": "hasSitePair", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "site-pair", + "to": "class-of-service", + "label": "hasClassOfService", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "tenant", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "tenant", + "to": "service-subscription", + "label": "relatedTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "tenant", + "to": "vserver", + "label": "owns", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "${direction}" + }, + { + "from": "vce", + "to": "availability-zone", + "label": "hasAvailabilityZone", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "vce", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "vce", + "to": "port-group", + "label": "hasPortGroup", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vce", + "to": "vserver", + "label": "runsOnVserver", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vce", + "to": "service-instance", + "label": "hasServiceInstance", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "virtual-data-center", + "to": "generic-vnf", + "label": "hasVNF", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vlan", + "to": "l3-interface-ipv4-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vlan", + "to": "l3-interface-ipv6-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vpe", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "vpe", + "to": "ctag-pool", + "label": "usesCtagPool", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpe", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpe", + "to": "lag-interface", + "label": "hasLAGInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpe", + "to": "vserver", + "label": "runsOnVserver", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpls-pe", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "vpls-pe", + "to": "ctag-pool", + "label": "usesCtagPool", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpls-pe", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpls-pe", + "to": "lag-interface", + "label": "hasLAGinterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "flavor", + "label": "hasFlavor", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "vserver", + "to": "image", + "label": "hasImage", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "vserver", + "to": "ipaddress", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "pserver", + "label": "runsOnPserver", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "vserver", + "to": "volume", + "label": "hasVolume", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "vnfc", + "label": "hosts", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "snapshot", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "connector", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "logical-link", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "vlan", + "label": "dependsOn", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "service-instance", + "label": "dependsOn", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "connector", + "to": "virtual-data-center", + "label": "contains", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "connector", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "virtual-data-center", + "to": "logical-link", + "label": "contains", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "generic-vnf", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "pserver", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "vlan", + "to": "multicast-configuration", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "volume-group", + "to": "complex", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "volume-group", + "to": "tenant", + "label": "belongsTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "ipsec-configuration", + "to": "vig-server", + "label": "hasVigServer", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "ipsec-configuration", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vf-module", + "to": "volume-group", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "vf-module", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vf-module", + "to": "l3-network", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vf-module", + "to": "vnfc", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "${direction}" + }, + { + "from": "generic-vnf", + "to": "vf-module", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "volume-group", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "vnfc", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vlan", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vpn-binding", + "to": "route-target", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "ctag-assignment", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "allotted-resource", + "to": "generic-vnf", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "allotted-resource", + "to": "l3-network", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "allotted-resource", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "allotted-resource", + "to": "network-policy", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "allotted-resource", + "to": "vlan", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "allotted-resource", + "to": "tunnel-xconnect", + "label": "has", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "cloud-region", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "vpn-binding", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "entitlement", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "license", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vce", + "to": "entitlement", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vce", + "to": "license", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpe", + "to": "entitlement", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpe", + "to": "license", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "zone", + "to": "complex", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "service-instance", + "to": "allotted-resource", + "label": "has", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "allotted-resource", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + } + ] } -] -}
\ 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 index ff777aad..9ebd0471 100644 --- a/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v11.json +++ b/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v11.json @@ -1,1973 +1,2068 @@ -{"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" + "rules": [ + { + "from": "availability-zone", + "to": "complex", + "label": "groupsResourcesIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "license-key-resource", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "availability-zone", + "to": "service-capability", + "label": "supportsServiceCapability", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "cloud-region", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "cloud-region", + "to": "l3-network", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "cloud-region", + "to": "tenant", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "image", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "flavor", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "availability-zone", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "oam-network", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "dvs-switch", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "volume-group", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "group-assignment", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "snapshot", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "zone", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "complex", + "to": "ctag-pool", + "label": "hasCtagPool", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "complex", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "ctag-pool", + "to": "availability-zone", + "label": "supportsAvailabilityZone", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "customer", + "to": "service-subscription", + "label": "subscribesTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "dvs-switch", + "to": "availability-zone", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "availability-zone", + "label": "hasAvailabilityZone", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "lag-interface", + "label": "hasLAGInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "pserver", + "label": "runsOnPserver", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "vnf-image", + "label": "usesVnfImage", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "vserver", + "label": "runsOnVserver", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "site-pair-set", + "label": "hasSitePairSet", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "network-profile", + "label": "hasNetworkProfile", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "pnf", + "label": "hostedOn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "group-assignment", + "to": "tenant", + "label": "has", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "group-assignment", + "to": "pserver", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "image", + "to": "metadata", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "image", + "to": "metadatum", + "label": "hasMetaDatum", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vnfc", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "l3-interface-ipv4-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "l3-interface-ipv6-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "l-interface", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "lag-interface", + "to": "logical-link", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "vlan", + "label": "hasVlan", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "sriov-vf", + "label": "has", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "l3-interface-ipv4-address-list", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "l3-interface-ipv6-address-list", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "l3-interface-ipv4-address-list", + "to": "l3-network", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-interface-ipv6-address-list", + "to": "l3-network", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-interface-ipv4-address-list", + "to": "subnet", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "l3-interface-ipv6-address-list", + "to": "subnet", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "l3-network", + "to": "vpn-binding", + "label": "usesVpnBinding", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "l3-network", + "to": "instance-group", + "label": "memberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "l3-network", + "to": "subnet", + "label": "hasSubnet", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-network", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-network", + "to": "ctag-assignment", + "label": "hasCtagAssignment", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-network", + "to": "network-policy", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-network", + "to": "segmentation-assignment", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "l3-network", + "to": "route-table-reference", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "lag-interface", + "to": "lag-link", + "label": "usesLAGLink", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "lag-interface", + "to": "p-interface", + "label": "usesPInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "lag-interface", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "lag-link", + "label": "usesLAGLink", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "pnf", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "logical-link", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "model", + "to": "model-ver", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "model-ver", + "to": "model-element", + "label": "startsWith", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "model-element", + "to": "model-ver", + "label": "isA", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "model-ver", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "model-element", + "to": "model-element", + "label": "connectsTo", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "model-element", + "to": "model-constraint", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "model-element", + "to": "constrained-element-set", + "label": "connectsTo", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "model-constraint", + "to": "constrained-element-set", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "constrained-element-set", + "to": "element-choice-set", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "element-choice-set", + "to": "model-element", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "named-query", + "to": "model", + "label": "relatedTo", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "named-query", + "to": "named-query-element", + "label": "startsWith", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "named-query-element", + "to": "named-query-element", + "label": "connectsTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "named-query-element", + "to": "model", + "label": "isA", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "named-query-element", + "to": "property-constraint", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "named-query-element", + "to": "related-lookup", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "instance-group", + "to": "model", + "label": "targets", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "newvce", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "oam-network", + "to": "complex", + "label": "definedFor", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "oam-network", + "to": "service-capability", + "label": "supportsServiceCapability", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "p-interface", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "p-interface", + "to": "physical-link", + "label": "usesPhysicalLink", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "p-interface", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "port-group", + "to": "cvlan-tag", + "label": "hasCTag", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pserver", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "pserver", + "to": "cloud-region", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pserver", + "to": "availability-zone", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "pserver", + "to": "lag-interface", + "label": "hasLAGInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pserver", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pserver", + "to": "zone", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "pnf", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pnf", + "to": "lag-interface", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pnf", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "pnf", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "pnf", + "to": "zone", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "zone", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "cvlan-tag", + "label": "hasIPAGFacingVLAN", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "pnf", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-subscription", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "site-pair-set", + "to": "routing-instance", + "label": "hasRoutingInstance", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "routing-instance", + "to": "site-pair", + "label": "hasSitePair", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "site-pair", + "to": "class-of-service", + "label": "hasClassOfService", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "tenant", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "tenant", + "to": "service-subscription", + "label": "relatedTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "tenant", + "to": "vserver", + "label": "owns", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "${direction}" + }, + { + "from": "vce", + "to": "availability-zone", + "label": "hasAvailabilityZone", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "vce", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "vce", + "to": "port-group", + "label": "hasPortGroup", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vce", + "to": "vserver", + "label": "runsOnVserver", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vce", + "to": "service-instance", + "label": "hasServiceInstance", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "virtual-data-center", + "to": "generic-vnf", + "label": "hasVNF", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vlan", + "to": "l3-interface-ipv4-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vlan", + "to": "l3-interface-ipv6-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vpe", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "vpe", + "to": "ctag-pool", + "label": "usesCtagPool", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpe", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpe", + "to": "lag-interface", + "label": "hasLAGInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpe", + "to": "vserver", + "label": "runsOnVserver", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpls-pe", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "vpls-pe", + "to": "ctag-pool", + "label": "usesCtagPool", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpls-pe", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpls-pe", + "to": "lag-interface", + "label": "hasLAGinterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "flavor", + "label": "hasFlavor", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "vserver", + "to": "image", + "label": "hasImage", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "vserver", + "to": "ipaddress", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "pserver", + "label": "runsOnPserver", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "vserver", + "to": "volume", + "label": "hasVolume", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "vnfc", + "label": "hosts", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "snapshot", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "connector", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "logical-link", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "vlan", + "label": "dependsOn", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "service-instance", + "label": "dependsOn", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "connector", + "to": "virtual-data-center", + "label": "contains", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "connector", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "virtual-data-center", + "to": "logical-link", + "label": "contains", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "generic-vnf", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "pserver", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "vlan", + "to": "multicast-configuration", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "volume-group", + "to": "complex", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "volume-group", + "to": "tenant", + "label": "belongsTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "ipsec-configuration", + "to": "vig-server", + "label": "hasVigServer", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "ipsec-configuration", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vf-module", + "to": "volume-group", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "vf-module", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vf-module", + "to": "l3-network", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vf-module", + "to": "vnfc", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "${direction}" + }, + { + "from": "generic-vnf", + "to": "vf-module", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "volume-group", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "vnfc", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vlan", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vpn-binding", + "to": "route-target", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "ctag-assignment", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "allotted-resource", + "to": "generic-vnf", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "allotted-resource", + "to": "l3-network", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "allotted-resource", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "allotted-resource", + "to": "network-policy", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "allotted-resource", + "to": "vlan", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "allotted-resource", + "to": "l-interface", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "allotted-resource", + "to": "tunnel-xconnect", + "label": "has", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "cloud-region", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "vpn-binding", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "entitlement", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "license", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vce", + "to": "entitlement", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vce", + "to": "license", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpe", + "to": "entitlement", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpe", + "to": "license", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "zone", + "to": "complex", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "service-instance", + "to": "allotted-resource", + "label": "has", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "allotted-resource", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "allotted-resource", + "to": "vpn-binding", + "label": "belongsTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "allotted-resource", + "to": "allotted-resource", + "label": "bindsTo", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "ctag-pool", + "label": "usesCtagPool", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "p-interface", + "to": "sriov-pf", + "label": "has", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "sriov-vf", + "to": "sriov-pf", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + } + ] } -] -}
\ 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 index 9344b524..75f86295 100644 --- a/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v8.json +++ b/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v8.json @@ -1,1555 +1,1581 @@ -{"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" + "rules": [ + { + "from": "availability-zone", + "to": "complex", + "label": "groupsResourcesIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "license-key-resource", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "availability-zone", + "to": "service-capability", + "label": "supportsServiceCapability", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "cloud-region", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "cloud-region", + "to": "l3-network", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "cloud-region", + "to": "tenant", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "image", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "flavor", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "availability-zone", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "oam-network", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "dvs-switch", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "volume-group", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "group-assignment", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "snapshot", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "complex", + "to": "ctag-pool", + "label": "hasCtagPool", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "complex", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "ctag-pool", + "to": "availability-zone", + "label": "supportsAvailabilityZone", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "customer", + "to": "service-subscription", + "label": "subscribesTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "dvs-switch", + "to": "availability-zone", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "availability-zone", + "label": "hasAvailabilityZone", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "lag-interface", + "label": "hasLAGInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "pserver", + "label": "runsOnPserver", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "vnf-image", + "label": "usesVnfImage", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "vserver", + "label": "runsOnVserver", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "site-pair-set", + "label": "hasSitePairSet", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "network-profile", + "label": "hasNetworkProfile", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "group-assignment", + "to": "tenant", + "label": "has", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "group-assignment", + "to": "pserver", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "image", + "to": "metadata", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "image", + "to": "metadatum", + "label": "hasMetaDatum", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "l3-interface-ipv4-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "l3-interface-ipv6-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "vlan", + "label": "hasVlan", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "sriov-vf", + "label": "has", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "l3-interface-ipv4-address-list", + "to": "l3-network", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-interface-ipv6-address-list", + "to": "l3-network", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-interface-ipv4-address-list", + "to": "subnet", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "l3-interface-ipv6-address-list", + "to": "subnet", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "l3-network", + "to": "vpn-binding", + "label": "usesVpnBinding", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "l3-network", + "to": "subnet", + "label": "hasSubnet", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-network", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-network", + "to": "ctag-assignment", + "label": "hasCtagAssignment", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-network", + "to": "network-policy", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-network", + "to": "segmentation-assignment", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "l3-network", + "to": "route-table-reference", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "lag-interface", + "to": "lag-link", + "label": "usesLAGLink", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "lag-interface", + "to": "p-interface", + "label": "usesPInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "lag-interface", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "lag-link", + "label": "usesLAGLink", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "pnf", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "logical-link", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "model", + "to": "model-element", + "label": "startsWith", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "model-element", + "to": "model", + "label": "isA", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "model", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "model-element", + "to": "model-element", + "label": "connectsTo", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "model-element", + "to": "model-constraint", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "model-element", + "to": "constrained-element-set", + "label": "connectsTo", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "model-constraint", + "to": "constrained-element-set", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "constrained-element-set", + "to": "element-choice-set", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "element-choice-set", + "to": "model-element", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "named-query", + "to": "model", + "label": "relatedTo", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "named-query", + "to": "named-query-element", + "label": "startsWith", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "named-query-element", + "to": "named-query-element", + "label": "connectsTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "named-query-element", + "to": "model", + "label": "isA", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "named-query-element", + "to": "property-constraint", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "named-query-element", + "to": "related-lookup", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "newvce", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "oam-network", + "to": "complex", + "label": "definedFor", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "oam-network", + "to": "service-capability", + "label": "supportsServiceCapability", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "p-interface", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "p-interface", + "to": "physical-link", + "label": "usesPhysicalLink", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "p-interface", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "port-group", + "to": "cvlan-tag", + "label": "hasCTag", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pserver", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "pserver", + "to": "cloud-region", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pserver", + "to": "availability-zone", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "pserver", + "to": "lag-interface", + "label": "hasLAGInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pserver", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pnf", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pnf", + "to": "lag-interface", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pnf", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "service-instance", + "to": "cvlan-tag", + "label": "hasIPAGFacingVLAN", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-subscription", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "site-pair-set", + "to": "routing-instance", + "label": "hasRoutingInstance", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "routing-instance", + "to": "site-pair", + "label": "hasSitePair", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "site-pair", + "to": "class-of-service", + "label": "hasClassOfService", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "tenant", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "tenant", + "to": "service-subscription", + "label": "relatedTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "tenant", + "to": "vserver", + "label": "owns", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "${direction}" + }, + { + "from": "vce", + "to": "availability-zone", + "label": "hasAvailabilityZone", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "vce", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "vce", + "to": "port-group", + "label": "hasPortGroup", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vce", + "to": "vserver", + "label": "runsOnVserver", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vce", + "to": "service-instance", + "label": "hasServiceInstance", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "virtual-data-center", + "to": "generic-vnf", + "label": "hasVNF", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vlan", + "to": "l3-interface-ipv4-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vlan", + "to": "l3-interface-ipv6-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vpe", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "vpe", + "to": "ctag-pool", + "label": "usesCtagPool", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpe", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpe", + "to": "lag-interface", + "label": "hasLAGInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpe", + "to": "vserver", + "label": "runsOnVserver", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpls-pe", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "vpls-pe", + "to": "ctag-pool", + "label": "usesCtagPool", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpls-pe", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpls-pe", + "to": "lag-interface", + "label": "hasLAGinterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "flavor", + "label": "hasFlavor", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "vserver", + "to": "image", + "label": "hasImage", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "vserver", + "to": "ipaddress", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "pserver", + "label": "runsOnPserver", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "vserver", + "to": "volume", + "label": "hasVolume", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "vnfc", + "label": "hosts", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "snapshot", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "connector", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "logical-link", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "vlan", + "label": "dependsOn", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "service-instance", + "label": "dependsOn", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "connector", + "to": "virtual-data-center", + "label": "contains", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "connector", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "virtual-data-center", + "to": "logical-link", + "label": "contains", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "generic-vnf", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "pserver", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "vlan", + "to": "multicast-configuration", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "volume-group", + "to": "complex", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "volume-group", + "to": "tenant", + "label": "belongsTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "ipsec-configuration", + "to": "vig-server", + "label": "hasVigServer", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "ipsec-configuration", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vf-module", + "to": "volume-group", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "vf-module", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vf-module", + "to": "l3-network", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vf-module", + "to": "vnfc", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "${direction}" + }, + { + "from": "generic-vnf", + "to": "vf-module", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "volume-group", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "vnfc", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vlan", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + } + ] } -] -}
\ 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 index 9183a47c..41c9b1b8 100644 --- a/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v9.json +++ b/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v9.json @@ -1,1841 +1,1868 @@ -{"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" + "rules": [ + { + "from": "availability-zone", + "to": "complex", + "label": "groupsResourcesIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "license-key-resource", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "availability-zone", + "to": "service-capability", + "label": "supportsServiceCapability", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "cloud-region", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "cloud-region", + "to": "l3-network", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "cloud-region", + "to": "tenant", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "image", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "flavor", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "availability-zone", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "oam-network", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "dvs-switch", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "volume-group", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "group-assignment", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "snapshot", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" + }, + { + "from": "cloud-region", + "to": "zone", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "complex", + "to": "ctag-pool", + "label": "hasCtagPool", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "complex", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "ctag-pool", + "to": "availability-zone", + "label": "supportsAvailabilityZone", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "customer", + "to": "service-subscription", + "label": "subscribesTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "dvs-switch", + "to": "availability-zone", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "availability-zone", + "label": "hasAvailabilityZone", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "lag-interface", + "label": "hasLAGInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "pserver", + "label": "runsOnPserver", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "vnf-image", + "label": "usesVnfImage", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "vserver", + "label": "runsOnVserver", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "site-pair-set", + "label": "hasSitePairSet", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "network-profile", + "label": "hasNetworkProfile", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "group-assignment", + "to": "tenant", + "label": "has", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "group-assignment", + "to": "pserver", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "image", + "to": "metadata", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "image", + "to": "metadatum", + "label": "hasMetaDatum", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "l3-interface-ipv4-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "l3-interface-ipv6-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "vlan", + "label": "hasVlan", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "l-interface", + "to": "sriov-vf", + "label": "has", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "l3-interface-ipv4-address-list", + "to": "l3-network", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-interface-ipv6-address-list", + "to": "l3-network", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-interface-ipv4-address-list", + "to": "subnet", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "l3-interface-ipv6-address-list", + "to": "subnet", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "l3-network", + "to": "vpn-binding", + "label": "usesVpnBinding", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "l3-network", + "to": "subnet", + "label": "hasSubnet", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-network", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-network", + "to": "ctag-assignment", + "label": "hasCtagAssignment", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-network", + "to": "network-policy", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "l3-network", + "to": "segmentation-assignment", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "l3-network", + "to": "route-table-reference", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "lag-interface", + "to": "lag-link", + "label": "usesLAGLink", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "lag-interface", + "to": "p-interface", + "label": "usesPInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "lag-interface", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "lag-link", + "label": "usesLAGLink", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "pnf", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "logical-link", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "model", + "to": "model-ver", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "model-ver", + "to": "model-element", + "label": "startsWith", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "model-element", + "to": "model-ver", + "label": "isA", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "model-ver", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "model-element", + "to": "model-element", + "label": "connectsTo", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "model-element", + "to": "model-constraint", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "model-element", + "to": "constrained-element-set", + "label": "connectsTo", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "model-constraint", + "to": "constrained-element-set", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "constrained-element-set", + "to": "element-choice-set", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "element-choice-set", + "to": "model-element", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "named-query", + "to": "model", + "label": "relatedTo", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "named-query", + "to": "named-query-element", + "label": "startsWith", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "named-query-element", + "to": "named-query-element", + "label": "connectsTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "named-query-element", + "to": "model", + "label": "isA", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "named-query-element", + "to": "property-constraint", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "named-query-element", + "to": "related-lookup", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "instance-group", + "to": "model", + "label": "targets", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "newvce", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "oam-network", + "to": "complex", + "label": "definedFor", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "oam-network", + "to": "service-capability", + "label": "supportsServiceCapability", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "p-interface", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "p-interface", + "to": "physical-link", + "label": "usesPhysicalLink", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "p-interface", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "port-group", + "to": "cvlan-tag", + "label": "hasCTag", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pserver", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "pserver", + "to": "cloud-region", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pserver", + "to": "availability-zone", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "pserver", + "to": "lag-interface", + "label": "hasLAGInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pserver", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pserver", + "to": "zone", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "pnf", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pnf", + "to": "lag-interface", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "pnf", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "pnf", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "pnf", + "to": "zone", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "cvlan-tag", + "label": "hasIPAGFacingVLAN", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "pnf", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-subscription", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "site-pair-set", + "to": "routing-instance", + "label": "hasRoutingInstance", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "routing-instance", + "to": "site-pair", + "label": "hasSitePair", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "site-pair", + "to": "class-of-service", + "label": "hasClassOfService", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "tenant", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "tenant", + "to": "service-subscription", + "label": "relatedTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "tenant", + "to": "vserver", + "label": "owns", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "${direction}" + }, + { + "from": "vce", + "to": "availability-zone", + "label": "hasAvailabilityZone", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "vce", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "vce", + "to": "port-group", + "label": "hasPortGroup", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vce", + "to": "vserver", + "label": "runsOnVserver", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vce", + "to": "service-instance", + "label": "hasServiceInstance", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "virtual-data-center", + "to": "generic-vnf", + "label": "hasVNF", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vlan", + "to": "l3-interface-ipv4-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vlan", + "to": "l3-interface-ipv6-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vpe", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "vpe", + "to": "ctag-pool", + "label": "usesCtagPool", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpe", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpe", + "to": "lag-interface", + "label": "hasLAGInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpe", + "to": "vserver", + "label": "runsOnVserver", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpls-pe", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "vpls-pe", + "to": "ctag-pool", + "label": "usesCtagPool", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpls-pe", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpls-pe", + "to": "lag-interface", + "label": "hasLAGinterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "flavor", + "label": "hasFlavor", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "vserver", + "to": "image", + "label": "hasImage", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "vserver", + "to": "ipaddress", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "pserver", + "label": "runsOnPserver", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "vserver", + "to": "volume", + "label": "hasVolume", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "vnfc", + "label": "hosts", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "snapshot", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "connector", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "logical-link", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "vlan", + "label": "dependsOn", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "service-instance", + "label": "dependsOn", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "connector", + "to": "virtual-data-center", + "label": "contains", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "connector", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "virtual-data-center", + "to": "logical-link", + "label": "contains", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "generic-vnf", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "pserver", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "vlan", + "to": "multicast-configuration", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "volume-group", + "to": "complex", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" + }, + { + "from": "volume-group", + "to": "tenant", + "label": "belongsTo", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "ipsec-configuration", + "to": "vig-server", + "label": "hasVigServer", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "ipsec-configuration", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "uses-resource": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vf-module", + "to": "volume-group", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vserver", + "to": "vf-module", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vf-module", + "to": "l3-network", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vf-module", + "to": "vnfc", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "${direction}" + }, + { + "from": "generic-vnf", + "to": "vf-module", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "volume-group", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "vnfc", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "vlan", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "ctag-assignment", + "label": "uses", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "allotted-resource", + "to": "generic-vnf", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "allotted-resource", + "to": "l3-network", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "allotted-resource", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "allotted-resource", + "to": "vlan", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "allotted-resource", + "to": "tunnel-xconnect", + "label": "has", + "direction": "OUT", + "multiplicity": "One2One", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "cloud-region", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "logical-link", + "to": "vpn-binding", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "generic-vnf", + "to": "entitlement", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "generic-vnf", + "to": "license", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vce", + "to": "entitlement", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vce", + "to": "license", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpe", + "to": "entitlement", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "vpe", + "to": "license", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "zone", + "to": "complex", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "Many2One", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" + }, + { + "from": "service-instance", + "to": "allotted-resource", + "label": "has", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "service-instance", + "to": "allotted-resource", + "label": "uses", + "direction": "OUT", + "multiplicity": "Many2Many", + "contains": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + } + ] } -] -}
\ No newline at end of file |