From 8dcb9900cae95a17ca6d029a665d512b3e7b11a2 Mon Sep 17 00:00:00 2001 From: "Threefoot, Jane (jt6620)" Date: Tue, 28 Nov 2017 14:02:53 -0500 Subject: [PATCH] contains-other-v no longer implies delete-other-v Deletion of other vertices is now only determined by the delete-other-v property. For containment relationships, this property is now explicitly set instead of being implied by the containment property. ie Deletion now only checks delete-other-v not containment, and containment relationships have been updated to still function the same as before. Issue-ID: AAI-517 Change-Id: I808752c286c621f82b521590b1a51cf996031557 Signed-off-by: Threefoot, Jane (jt6620) --- .../engines/query/GraphTraversalQueryEngine.java | 10 +- .../resources/dbedgerules/DbEdgeRules_v10.json | 3634 ++++++++-------- .../resources/dbedgerules/DbEdgeRules_v11.json | 4377 +++++++++---------- .../resources/dbedgerules/DbEdgeRules_v12.json | 4421 ++++++++++---------- .../main/resources/dbedgerules/DbEdgeRules_v8.json | 2952 ++++++------- .../main/resources/dbedgerules/DbEdgeRules_v9.json | 3480 +++++++-------- .../onap/aai/serialization/db/EdgeRulesTest.java | 4 +- .../query/GraphTraversalQueryEngineTest.java | 75 + .../resources/dbedgerules/DbEdgeRules_test.json | 33 + 9 files changed, 9560 insertions(+), 9426 deletions(-) create mode 100644 aai-core/src/test/java/org/onap/aai/serialization/engines/query/GraphTraversalQueryEngineTest.java diff --git a/aai-core/src/main/java/org/onap/aai/serialization/engines/query/GraphTraversalQueryEngine.java b/aai-core/src/main/java/org/onap/aai/serialization/engines/query/GraphTraversalQueryEngine.java index 872b0c5f..692fd531 100644 --- a/aai-core/src/main/java/org/onap/aai/serialization/engines/query/GraphTraversalQueryEngine.java +++ b/aai-core/src/main/java/org/onap/aai/serialization/engines/query/GraphTraversalQueryEngine.java @@ -113,14 +113,8 @@ public class GraphTraversalQueryEngine extends QueryEngine { GraphTraversal pipe = this.g .V(start).emit(v -> true).repeat( __.union( - __.outE().or( - __.has(CONTAINS.toString(), OUT.toString()), - __.has(DELETE_OTHER_V.toString(), OUT.toString()) - ).inV(), - __.inE().or( - __.has(CONTAINS.toString(), IN.toString()), - __.has(DELETE_OTHER_V.toString(), IN.toString()) - ).outV() + __.outE().has(DELETE_OTHER_V.toString(), OUT.toString()).inV(), + __.inE().has(DELETE_OTHER_V.toString(), IN.toString()).outV() ) ); diff --git a/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v10.json b/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v10.json index 7c9cf4b3..1f41e2d2 100644 --- a/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v10.json +++ b/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v10.json @@ -1,1819 +1,1819 @@ +{"rules": +[ { - "rules": [ - { - "from": "availability-zone", - "to": "complex", - "label": "groupsResourcesIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "license-key-resource", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "availability-zone", - "to": "service-capability", - "label": "supportsServiceCapability", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "cloud-region", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "cloud-region", - "to": "l3-network", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "cloud-region", - "to": "tenant", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "image", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "flavor", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "availability-zone", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "oam-network", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "dvs-switch", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "volume-group", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "group-assignment", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "snapshot", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "zone", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "complex", - "to": "ctag-pool", - "label": "hasCtagPool", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "complex", - "to": "l3-network", - "label": "usesL3Network", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "ctag-pool", - "to": "availability-zone", - "label": "supportsAvailabilityZone", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "customer", - "to": "service-subscription", - "label": "subscribesTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "NONE" - }, - { - "from": "dvs-switch", - "to": "availability-zone", - "label": "existsIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "availability-zone", - "label": "hasAvailabilityZone", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "lag-interface", - "label": "hasLAGInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "l3-network", - "label": "usesL3Network", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "pserver", - "label": "runsOnPserver", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "vnf-image", - "label": "usesVnfImage", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "vserver", - "label": "runsOnVserver", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "service-instance", - "label": "hasInstance", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "site-pair-set", - "label": "hasSitePairSet", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "network-profile", - "label": "hasNetworkProfile", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "group-assignment", - "to": "tenant", - "label": "has", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "group-assignment", - "to": "pserver", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "image", - "to": "metadatum", - "label": "hasMetaDatum", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "l-interface", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l-interface", - "to": "l-interface", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l-interface", - "to": "logical-link", - "label": "usesLogicalLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "lag-interface", - "to": "logical-link", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l-interface", - "to": "vlan", - "label": "hasVlan", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "l-interface", - "to": "sriov-vf", - "label": "has", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "${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-other-v": "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-other-v": "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-other-v": "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-other-v": "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-other-v": "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-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "l3-network", - "to": "vpn-binding", - "label": "usesVpnBinding", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "l3-network", - "to": "subnet", - "label": "hasSubnet", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l3-network", - "to": "service-instance", - "label": "hasInstance", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l3-network", - "to": "ctag-assignment", - "label": "hasCtagAssignment", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l3-network", - "to": "network-policy", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l3-network", - "to": "segmentation-assignment", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${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-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "lag-interface", - "to": "lag-link", - "label": "usesLAGLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "lag-interface", - "to": "p-interface", - "label": "usesPInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "lag-interface", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "lag-link", - "label": "usesLAGLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "pnf", - "label": "bridgedTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "logical-link", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "model", - "to": "model-ver", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "model-ver", - "to": "model-element", - "label": "startsWith", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "model-element", - "to": "model-ver", - "label": "isA", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "model-ver", - "to": "metadatum", - "label": "hasMetaData", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "model-element", - "to": "model-element", - "label": "connectsTo", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "model-element", - "to": "model-constraint", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${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-other-v": "${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-other-v": "${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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "named-query", - "to": "model", - "label": "relatedTo", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "named-query-element", - "to": "model", - "label": "isA", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "instance-group", - "to": "model", - "label": "targets", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "newvce", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "oam-network", - "to": "complex", - "label": "definedFor", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "oam-network", - "to": "service-capability", - "label": "supportsServiceCapability", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "p-interface", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "p-interface", - "to": "physical-link", - "label": "usesPhysicalLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "p-interface", - "to": "logical-link", - "label": "usesLogicalLink", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "port-group", - "to": "cvlan-tag", - "label": "hasCTag", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pserver", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "pserver", - "to": "cloud-region", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pserver", - "to": "availability-zone", - "label": "existsIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "pserver", - "to": "lag-interface", - "label": "hasLAGInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pserver", - "to": "p-interface", - "label": "hasPinterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pserver", - "to": "zone", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "pnf", - "to": "p-interface", - "label": "hasPinterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pnf", - "to": "lag-interface", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pnf", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "pnf", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "pnf", - "to": "zone", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "cvlan-tag", - "label": "hasIPAGFacingVLAN", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "pnf", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-subscription", - "to": "service-instance", - "label": "hasInstance", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "routing-instance", - "to": "site-pair", - "label": "hasSitePair", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "tenant", - "to": "l3-network", - "label": "usesL3Network", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "tenant", - "to": "service-subscription", - "label": "relatedTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "tenant", - "to": "vserver", - "label": "owns", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "${direction}" - }, - { - "from": "vce", - "to": "availability-zone", - "label": "hasAvailabilityZone", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "vce", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "vce", - "to": "port-group", - "label": "hasPortGroup", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vce", - "to": "vserver", - "label": "runsOnVserver", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vce", - "to": "service-instance", - "label": "hasServiceInstance", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "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-other-v": "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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vpls-pe", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "vpls-pe", - "to": "ctag-pool", - "label": "usesCtagPool", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vpls-pe", - "to": "p-interface", - "label": "hasPinterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vpls-pe", - "to": "lag-interface", - "label": "hasLAGinterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "flavor", - "label": "hasFlavor", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "vserver", - "to": "image", - "label": "hasImage", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "vserver", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "pserver", - "label": "runsOnPserver", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "vserver", - "to": "volume", - "label": "hasVolume", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "vnfc", - "label": "hosts", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "snapshot", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "connector", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "metadatum", - "label": "hasMetaData", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "logical-link", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "vlan", - "label": "dependsOn", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "service-instance", - "label": "dependsOn", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "connector", - "to": "virtual-data-center", - "label": "contains", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "connector", - "to": "metadatum", - "label": "hasMetaData", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${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-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "generic-vnf", - "label": "bridgedTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "pserver", - "label": "bridgedTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "vlan", - "to": "multicast-configuration", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "volume-group", - "to": "complex", - "label": "existsIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "volume-group", - "to": "tenant", - "label": "belongsTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "ipsec-configuration", - "to": "vig-server", - "label": "hasVigServer", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "ipsec-configuration", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vf-module", - "to": "volume-group", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "vf-module", - "label": "isPartOf", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vf-module", - "to": "l3-network", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vf-module", - "to": "vnfc", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "${direction}" - }, - { - "from": "generic-vnf", - "to": "vf-module", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "volume-group", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "vnfc", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vlan", - "to": "logical-link", - "label": "usesLogicalLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vpn-binding", - "to": "route-target", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "ctag-assignment", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "generic-vnf", - "label": "isPartOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "l3-network", - "label": "isPartOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "network-policy", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "vlan", - "label": "isPartOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "tunnel-xconnect", - "label": "has", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "cloud-region", - "label": "existsIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "vpn-binding", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "entitlement", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "license", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vce", - "to": "entitlement", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vce", - "to": "license", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "zone", - "to": "complex", - "label": "existsIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "service-instance", - "to": "allotted-resource", - "label": "has", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "allotted-resource", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - } - ] + "from": "ipsec-configuration", + "to": "vig-server", + "label": "hasVigServer", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vlan", + "to": "multicast-configuration", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "lag-interface", + "label": "hasLAGInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "model-constraint", + "to": "constrained-element-set", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "l-interface", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "vf-module", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "lag-interface", + "to": "p-interface", + "label": "usesPInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "model-element", + "to": "model-constraint", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "connector", + "to": "virtual-data-center", + "label": "contains", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "model-element", + "to": "model-element", + "label": "connectsTo", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "logical-link", + "to": "vpn-binding", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "tenant", + "to": "vserver", + "label": "owns", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "${direction}" +}, +{ + "from": "vserver", + "to": "flavor", + "label": "hasFlavor", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "l-interface", + "to": "vlan", + "label": "hasVlan", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "l3-interface-ipv4-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "allotted-resource", + "to": "network-policy", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vpls-pe", + "to": "ctag-pool", + "label": "usesCtagPool", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "vnfc", + "label": "hosts", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "instance-group", + "to": "model", + "label": "targets", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "pnf", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "volume-group", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "service-instance", + "to": "pnf", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "ctag-assignment", + "label": "hasCtagAssignment", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "service-instance", + "label": "hasServiceInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "service-instance", + "label": "dependsOn", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "flavor", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "service-instance", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "pserver", + "label": "runsOnPserver", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "logical-link", + "to": "pnf", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "virtual-data-center", + "to": "generic-vnf", + "label": "hasVNF", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "pnf", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "vf-module", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "complex", + "to": "ctag-pool", + "label": "hasCtagPool", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "constrained-element-set", + "to": "element-choice-set", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "p-interface", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "p-interface", + "to": "physical-link", + "label": "usesPhysicalLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "model-element", + "to": "model-ver", + "label": "isA", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vserver", + "to": "image", + "label": "hasImage", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "pnf", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "tenant", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l3-interface-ipv4-address-list", + "to": "subnet", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "volume-group", + "to": "complex", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "logical-link", + "to": "cloud-region", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "oam-network", + "to": "service-capability", + "label": "supportsServiceCapability", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "pserver", + "to": "zone", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "customer", + "to": "service-subscription", + "label": "subscribesTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "segmentation-assignment", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "license", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "named-query-element", + "to": "related-lookup", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "pserver", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "newvce", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "allotted-resource", + "to": "l3-network", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "p-interface", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "vserver", + "label": "runsOnVserver", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "pserver", + "to": "availability-zone", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "vpls-pe", + "to": "lag-interface", + "label": "hasLAGinterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "vnfc", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "named-query", + "to": "model", + "label": "relatedTo", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vf-module", + "to": "vnfc", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "${direction}" +}, +{ + "from": "pserver", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "model-ver", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "entitlement", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "availability-zone", + "to": "service-capability", + "label": "supportsServiceCapability", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vserver", + "to": "volume", + "label": "hasVolume", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l3-interface-ipv4-address-list", + "to": "l3-network", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "zone", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "route-table-reference", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "model-element", + "to": "constrained-element-set", + "label": "connectsTo", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "dvs-switch", + "to": "availability-zone", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "pserver", + "to": "lag-interface", + "label": "hasLAGInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "availability-zone", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "vpls-pe", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "allotted-resource", + "to": "vlan", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "zone", + "to": "complex", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "site-pair", + "to": "class-of-service", + "label": "hasClassOfService", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "element-choice-set", + "to": "model-element", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "ctag-pool", + "to": "availability-zone", + "label": "supportsAvailabilityZone", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "l3-network", + "to": "network-policy", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "port-group", + "label": "hasPortGroup", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "generic-vnf", + "to": "vnf-image", + "label": "usesVnfImage", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "site-pair-set", + "to": "routing-instance", + "label": "hasRoutingInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vlan", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "l3-interface-ipv6-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "allotted-resource", + "to": "generic-vnf", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "license", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "pnf", + "to": "zone", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "lag-interface", + "to": "logical-link", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "availability-zone", + "label": "hasAvailabilityZone", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vce", + "to": "vserver", + "label": "runsOnVserver", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l3-interface-ipv6-address-list", + "to": "subnet", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "generic-vnf", + "to": "volume-group", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "logical-link", + "to": "pserver", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "cloud-region", + "to": "oam-network", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "cloud-region", + "to": "dvs-switch", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "service-instance", + "to": "allotted-resource", + "label": "has", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "allotted-resource", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "l3-network", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "group-assignment", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "group-assignment", + "to": "tenant", + "label": "has", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "virtual-data-center", + "to": "logical-link", + "label": "contains", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "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-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "connector", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "lag-interface", + "to": "lag-link", + "label": "usesLAGLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "pserver", + "to": "cloud-region", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "logical-link", + "to": "generic-vnf", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "entitlement", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vf-module", + "to": "l3-network", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "sriov-vf", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "named-query-element", + "to": "model", + "label": "isA", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "group-assignment", + "to": "pserver", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "cloud-region", + "to": "snapshot", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "cloud-region", + "to": "tenant", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "${direction}" +}, +{ + "from": "cloud-region", + "to": "image", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "model-ver", + "to": "model-element", + "label": "startsWith", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "cvlan-tag", + "label": "hasIPAGFacingVLAN", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "pnf", + "to": "lag-interface", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "snapshot", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "named-query-element", + "to": "property-constraint", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-subscription", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "logical-link", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l3-interface-ipv6-address-list", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "tenant", + "to": "service-subscription", + "label": "relatedTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "pserver", + "label": "runsOnPserver", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "service-instance", + "to": "vlan", + "label": "dependsOn", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "allotted-resource", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "availability-zone", + "label": "hasAvailabilityZone", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "logical-link", + "to": "lag-link", + "label": "usesLAGLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l3-interface-ipv4-address-list", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "subnet", + "label": "hasSubnet", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "volume-group", + "to": "tenant", + "label": "belongsTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "generic-vnf", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "availability-zone", + "to": "complex", + "label": "groupsResourcesIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "lag-interface", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "named-query", + "to": "named-query-element", + "label": "startsWith", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "ctag-assignment", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "ipsec-configuration", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "site-pair-set", + "label": "hasSitePairSet", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "model", + "to": "model-ver", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "connector", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "network-profile", + "label": "hasNetworkProfile", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vf-module", + "to": "volume-group", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "logical-link", + "to": "logical-link", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "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-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "port-group", + "to": "cvlan-tag", + "label": "hasCTag", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vpls-pe", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "image", + "to": "metadatum", + "label": "hasMetaDatum", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "license-key-resource", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "l3-network", + "to": "vpn-binding", + "label": "usesVpnBinding", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "complex", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "oam-network", + "to": "complex", + "label": "definedFor", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vlan", + "to": "l3-interface-ipv4-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "routing-instance", + "to": "site-pair", + "label": "hasSitePair", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vlan", + "to": "l3-interface-ipv6-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vpn-binding", + "to": "route-target", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "allotted-resource", + "to": "tunnel-xconnect", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "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 1108555f..06eb5587 100644 --- a/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v11.json +++ b/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v11.json @@ -1,83 +1,105 @@ +{"rules": +[ +{ + "from": "vlan", + "to": "multicast-configuration", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vnfc", + "to": "l3-interface-ipv4-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "allotted-resource", + "to": "l-interface", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "vf-module", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "logical-link", + "to": "vpn-binding", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vserver", + "to": "flavor", + "label": "hasFlavor", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "l-interface", + "to": "l3-interface-ipv4-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "allotted-resource", + "to": "network-policy", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "vnfc", + "label": "hosts", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, { - "rules": [ - { - "from": "configuration", - "to": "logical-link", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "configuration", - "to": "metadatum", - "label": "owns", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "configuration", - "to": "allotted-resource", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "configuration", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "availability-zone", - "to": "complex", - "label": "groupsResourcesIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "license-key-resource", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "availability-zone", - "to": "service-capability", - "label": "supportsServiceCapability", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { "from": "esr-ems", "to": "esr-system-info", "label": "has", @@ -86,7 +108,8 @@ "contains-other-v": "${direction}", "delete-other-v": "${direction}", "SVC-INFRA": "NONE", - "prevent-delete": "NONE" + "prevent-delete": "NONE", + "default": "true" }, { "from": "esr-vnfm", @@ -97,7 +120,8 @@ "contains-other-v": "${direction}", "delete-other-v": "${direction}", "SVC-INFRA": "NONE", - "prevent-delete": "NONE" + "prevent-delete": "NONE", + "default": "true" }, { "from": "esr-thirdparty-sdnc", @@ -108,7 +132,8 @@ "contains-other-v": "${direction}", "delete-other-v": "${direction}", "SVC-INFRA": "NONE", - "prevent-delete": "NONE" + "prevent-delete": "NONE", + "default": "true" }, { "from": "esr-thirdparty-sdnc", @@ -119,7 +144,8 @@ "contains-other-v": "NONE", "delete-other-v": "NONE", "SVC-INFRA": "NONE", - "prevent-delete": "NONE" + "prevent-delete": "NONE", + "default": "true" }, { "from": "cloud-region", @@ -130,2097 +156,2098 @@ "contains-other-v": "${direction}", "delete-other-v": "${direction}", "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "cloud-region", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "cloud-region", - "to": "l3-network", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "cloud-region", - "to": "tenant", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "image", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "flavor", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "availability-zone", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "oam-network", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "dvs-switch", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "volume-group", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "group-assignment", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "snapshot", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "zone", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "complex", - "to": "ctag-pool", - "label": "hasCtagPool", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "complex", - "to": "l3-network", - "label": "usesL3Network", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "ctag-pool", - "to": "availability-zone", - "label": "supportsAvailabilityZone", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "customer", - "to": "service-subscription", - "label": "subscribesTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "NONE" - }, - { - "from": "dvs-switch", - "to": "availability-zone", - "label": "existsIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "availability-zone", - "label": "hasAvailabilityZone", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "lag-interface", - "label": "hasLAGInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "l3-network", - "label": "usesL3Network", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "pserver", - "label": "runsOnPserver", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "vnf-image", - "label": "usesVnfImage", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "vserver", - "label": "runsOnVserver", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "service-instance", - "label": "hasInstance", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "site-pair-set", - "label": "hasSitePairSet", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "network-profile", - "label": "hasNetworkProfile", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" + "prevent-delete": "NONE", + "default": "true" }, - { - "from": "generic-vnf", - "to": "pnf", - "label": "hostedOn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "esr-vnfm", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "group-assignment", - "to": "tenant", - "label": "has", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "group-assignment", - "to": "pserver", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "image", - "to": "metadatum", - "label": "hasMetaDatum", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "l-interface", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vnfc", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l-interface", - "to": "l-interface", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l-interface", - "to": "logical-link", - "label": "usesLogicalLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "lag-interface", - "to": "logical-link", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l-interface", - "to": "vlan", - "label": "hasVlan", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "l-interface", - "to": "sriov-vf", - "label": "has", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "${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-other-v": "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-other-v": "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-other-v": "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-other-v": "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-other-v": "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-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "l3-network", - "to": "vpn-binding", - "label": "usesVpnBinding", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "l3-network", - "to": "instance-group", - "label": "memberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "l3-network", - "to": "subnet", - "label": "hasSubnet", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l3-network", - "to": "service-instance", - "label": "hasInstance", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l3-network", - "to": "ctag-assignment", - "label": "hasCtagAssignment", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l3-network", - "to": "network-policy", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l3-network", - "to": "segmentation-assignment", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${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-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "lag-interface", - "to": "lag-link", - "label": "usesLAGLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "lag-interface", - "to": "p-interface", - "label": "usesPInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "lag-interface", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "line-of-business", - "to": "generic-vnf", - "label": "realizedBy", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "lag-link", - "label": "usesLAGLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "pnf", - "label": "bridgedTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "logical-link", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "model", - "to": "model-ver", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "model-ver", - "to": "model-element", - "label": "startsWith", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "model-element", - "to": "model-ver", - "label": "isA", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "model-ver", - "to": "metadatum", - "label": "hasMetaData", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "model-element", - "to": "model-element", - "label": "connectsTo", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "model-element", - "to": "model-constraint", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${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-other-v": "${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-other-v": "${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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "named-query", - "to": "model", - "label": "relatedTo", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "named-query-element", - "to": "model", - "label": "isA", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "instance-group", - "to": "model", - "label": "targets", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "newvce", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "oam-network", - "to": "complex", - "label": "definedFor", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "oam-network", - "to": "service-capability", - "label": "supportsServiceCapability", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "owning-entity", - "to": "service-instance", - "label": "owns", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "p-interface", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "p-interface", - "to": "physical-link", - "label": "usesPhysicalLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "p-interface", - "to": "logical-link", - "label": "usesLogicalLink", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "platform", - "to": "generic-vnf", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "port-group", - "to": "cvlan-tag", - "label": "hasCTag", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pserver", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "pserver", - "to": "cloud-region", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pserver", - "to": "availability-zone", - "label": "existsIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "pserver", - "to": "lag-interface", - "label": "hasLAGInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pserver", - "to": "p-interface", - "label": "hasPinterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pserver", - "to": "zone", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "pnf", - "to": "p-interface", - "label": "hasPinterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pnf", - "to": "lag-interface", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pnf", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "pnf", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "pnf", - "to": "zone", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "zone", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "project", - "to": "service-instance", - "label": "created", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "cvlan-tag", - "label": "hasIPAGFacingVLAN", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "pnf", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-subscription", - "to": "service-instance", - "label": "hasInstance", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "routing-instance", - "to": "site-pair", - "label": "hasSitePair", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "tenant", - "to": "l3-network", - "label": "usesL3Network", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "tenant", - "to": "service-subscription", - "label": "relatedTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "tenant", - "to": "vserver", - "label": "owns", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "${direction}" - }, - { - "from": "vce", - "to": "availability-zone", - "label": "hasAvailabilityZone", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "vce", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "vce", - "to": "port-group", - "label": "hasPortGroup", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vce", - "to": "vserver", - "label": "runsOnVserver", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vce", - "to": "service-instance", - "label": "hasServiceInstance", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "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-other-v": "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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vpls-pe", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "vpls-pe", - "to": "ctag-pool", - "label": "usesCtagPool", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vpls-pe", - "to": "p-interface", - "label": "hasPinterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vpls-pe", - "to": "lag-interface", - "label": "hasLAGinterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "flavor", - "label": "hasFlavor", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "vserver", - "to": "image", - "label": "hasImage", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "vserver", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "pserver", - "label": "runsOnPserver", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "vserver", - "to": "volume", - "label": "hasVolume", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "vnfc", - "label": "hosts", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "snapshot", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "connector", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "metadatum", - "label": "hasMetaData", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "logical-link", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "vlan", - "label": "dependsOn", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "service-instance", - "label": "dependsOn", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "connector", - "to": "virtual-data-center", - "label": "contains", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "connector", - "to": "metadatum", - "label": "hasMetaData", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${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-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "generic-vnf", - "label": "bridgedTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "pserver", - "label": "bridgedTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "vlan", - "to": "multicast-configuration", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "volume-group", - "to": "complex", - "label": "existsIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "volume-group", - "to": "tenant", - "label": "belongsTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "ipsec-configuration", - "to": "vig-server", - "label": "hasVigServer", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "ipsec-configuration", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "configuration", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vf-module", - "to": "volume-group", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "vf-module", - "label": "isPartOf", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vf-module", - "to": "l3-network", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vf-module", - "to": "vnfc", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "${direction}" - }, - { - "from": "generic-vnf", - "to": "vf-module", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "volume-group", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "vnfc", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vlan", - "to": "logical-link", - "label": "usesLogicalLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vpn-binding", - "to": "route-target", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "ctag-assignment", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "generic-vnf", - "label": "isPartOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "l3-network", - "label": "isPartOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "network-policy", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "vlan", - "label": "isPartOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "l-interface", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "tunnel-xconnect", - "label": "has", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "cloud-region", - "label": "existsIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "vpn-binding", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "entitlement", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "license", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vce", - "to": "entitlement", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vce", - "to": "license", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "zone", - "to": "complex", - "label": "existsIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "service-instance", - "to": "allotted-resource", - "label": "has", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "allotted-resource", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "vpn-binding", - "label": "belongsTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "allotted-resource", - "to": "allotted-resource", - "label": "bindsTo", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "ctag-pool", - "label": "usesCtagPool", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "p-interface", - "to": "sriov-pf", - "label": "has", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "sriov-vf", - "to": "sriov-pf", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "subnet", - "to": "host-route", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vnfc", - "to": "vip-ipv4-address-list", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vnfc", - "to": "vip-ipv6-address-list", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "cloud-region", - "to": "vip-ipv4-address-list", - "label": "hasIpAddress", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "cloud-region", - "to": "vip-ipv6-address-list", - "label": "hasIpAddress", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vip-ipv4-address-list", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vip-ipv6-address-list", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vip-ipv4-address-list", - "to": "subnet", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "vip-ipv6-address-list", - "to": "subnet", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "l3-interface-ipv4-address-list", - "to": "vnfc", - "label": "belongsTo", - "direction": "IN", - "multiplicity": "Many2One", - "contains-other-v": "${direction}", - "delete-other-v": "${direction}", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "l3-interface-ipv6-address-list", - "to": "vnfc", - "label": "belongsTo", - "direction": "IN", - "multiplicity": "Many2One", - "contains-other-v": "${direction}", - "delete-other-v": "${direction}", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - } - ] +{ + "from": "cloud-region", + "to": "volume-group", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "vce", + "to": "service-instance", + "label": "hasServiceInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "service-instance", + "label": "dependsOn", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "flavor", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "generic-vnf", + "to": "pserver", + "label": "runsOnPserver", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "vip-ipv6-address-list", + "to": "subnet", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "logical-link", + "to": "pnf", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "virtual-data-center", + "to": "generic-vnf", + "label": "hasVNF", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "pnf", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vip-ipv4-address-list", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "pnf", + "label": "hostedOn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "p-interface", + "to": "physical-link", + "label": "usesPhysicalLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "model-element", + "to": "model-ver", + "label": "isA", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "pnf", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "l3-interface-ipv4-address-list", + "to": "subnet", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "oam-network", + "to": "service-capability", + "label": "supportsServiceCapability", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "pserver", + "to": "zone", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "segmentation-assignment", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "configuration", + "to": "metadatum", + "label": "owns", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "license", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "named-query-element", + "to": "related-lookup", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "pserver", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vip-ipv6-address-list", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "vserver", + "label": "runsOnVserver", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vpls-pe", + "to": "lag-interface", + "label": "hasLAGinterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "vnfc", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "named-query", + "to": "model", + "label": "relatedTo", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vf-module", + "to": "vnfc", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "${direction}" +}, +{ + "from": "generic-vnf", + "to": "entitlement", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vip-ipv4-address-list", + "to": "subnet", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "availability-zone", + "to": "service-capability", + "label": "supportsServiceCapability", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "l3-interface-ipv4-address-list", + "to": "l3-network", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "vip-ipv6-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "route-table-reference", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "model-element", + "to": "constrained-element-set", + "label": "connectsTo", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "configuration", + "to": "allotted-resource", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "configuration", + "to": "allotted-resource", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "dvs-switch", + "to": "availability-zone", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "pserver", + "to": "lag-interface", + "label": "hasLAGInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vpls-pe", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "allotted-resource", + "to": "vlan", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "zone", + "to": "complex", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "ctag-pool", + "to": "availability-zone", + "label": "supportsAvailabilityZone", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "owning-entity", + "to": "service-instance", + "label": "owns", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "port-group", + "label": "hasPortGroup", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "site-pair-set", + "to": "routing-instance", + "label": "hasRoutingInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "l3-interface-ipv6-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "allotted-resource", + "to": "generic-vnf", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vnfc", + "to": "l3-interface-ipv6-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "availability-zone", + "label": "hasAvailabilityZone", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vce", + "to": "vserver", + "label": "runsOnVserver", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "logical-link", + "to": "pserver", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "cloud-region", + "to": "oam-network", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "cloud-region", + "to": "dvs-switch", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "service-instance", + "to": "allotted-resource", + "label": "has", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "allotted-resource", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "configuration", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "subnet", + "to": "host-route", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "lag-interface", + "to": "lag-link", + "label": "usesLAGLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "logical-link", + "to": "generic-vnf", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "entitlement", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "sriov-vf", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "named-query-element", + "to": "model", + "label": "isA", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "group-assignment", + "to": "pserver", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vnfc", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "cvlan-tag", + "label": "hasIPAGFacingVLAN", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "line-of-business", + "to": "generic-vnf", + "label": "realizedBy", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "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-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "pserver", + "label": "runsOnPserver", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "allotted-resource", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "availability-zone", + "label": "hasAvailabilityZone", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "l3-interface-ipv4-address-list", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "subnet", + "label": "hasSubnet", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "volume-group", + "to": "tenant", + "label": "belongsTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "generic-vnf", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "availability-zone", + "to": "complex", + "label": "groupsResourcesIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "allotted-resource", + "to": "vpn-binding", + "label": "belongsTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "project", + "to": "service-instance", + "label": "created", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "platform", + "to": "generic-vnf", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l3-interface-ipv6-address-list", + "to": "l3-network", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "port-group", + "to": "cvlan-tag", + "label": "hasCTag", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "image", + "to": "metadatum", + "label": "hasMetaDatum", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vnfc", + "to": "vip-ipv6-address-list", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "oam-network", + "to": "complex", + "label": "definedFor", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vlan", + "to": "l3-interface-ipv4-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "routing-instance", + "to": "site-pair", + "label": "hasSitePair", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vpn-binding", + "to": "route-target", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "allotted-resource", + "to": "tunnel-xconnect", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "ipsec-configuration", + "to": "vig-server", + "label": "hasVigServer", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "lag-interface", + "label": "hasLAGInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "model-constraint", + "to": "constrained-element-set", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "l-interface", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "lag-interface", + "to": "p-interface", + "label": "usesPInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "model-element", + "to": "model-constraint", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "connector", + "to": "virtual-data-center", + "label": "contains", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "model-element", + "to": "model-element", + "label": "connectsTo", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "tenant", + "to": "vserver", + "label": "owns", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "${direction}" +}, +{ + "from": "l-interface", + "to": "vlan", + "label": "hasVlan", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vpls-pe", + "to": "ctag-pool", + "label": "usesCtagPool", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "instance-group", + "to": "model", + "label": "targets", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "service-instance", + "to": "zone", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "pnf", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "configuration", + "to": "logical-link", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "configuration", + "to": "logical-link", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "pnf", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "ctag-assignment", + "label": "hasCtagAssignment", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "vf-module", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "complex", + "to": "ctag-pool", + "label": "hasCtagPool", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "constrained-element-set", + "to": "element-choice-set", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "p-interface", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vserver", + "to": "image", + "label": "hasImage", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "tenant", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "volume-group", + "to": "complex", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "logical-link", + "to": "cloud-region", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "sriov-vf", + "to": "sriov-pf", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "customer", + "to": "service-subscription", + "label": "subscribesTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "newvce", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "allotted-resource", + "to": "allotted-resource", + "label": "bindsTo", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "allotted-resource", + "to": "l3-network", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "p-interface", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "pserver", + "to": "availability-zone", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "pserver", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "model-ver", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "volume", + "label": "hasVolume", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "vip-ipv4-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "zone", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "availability-zone", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "site-pair", + "to": "class-of-service", + "label": "hasClassOfService", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "instance-group", + "label": "memberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "element-choice-set", + "to": "model-element", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "network-policy", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "vnf-image", + "label": "usesVnfImage", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "vlan", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "license", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "pnf", + "to": "zone", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vnfc", + "to": "vip-ipv4-address-list", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "lag-interface", + "to": "logical-link", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "p-interface", + "to": "sriov-pf", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l3-interface-ipv6-address-list", + "to": "subnet", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "generic-vnf", + "to": "volume-group", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "l3-network", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "group-assignment", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "group-assignment", + "to": "tenant", + "label": "has", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "virtual-data-center", + "to": "logical-link", + "label": "contains", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "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-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "connector", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "ctag-pool", + "label": "usesCtagPool", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "pserver", + "to": "cloud-region", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vf-module", + "to": "l3-network", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "snapshot", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "cloud-region", + "to": "tenant", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "${direction}" +}, +{ + "from": "cloud-region", + "to": "image", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "model-ver", + "to": "model-element", + "label": "startsWith", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "pnf", + "to": "lag-interface", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "snapshot", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "named-query-element", + "to": "property-constraint", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-subscription", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "logical-link", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "tenant", + "to": "service-subscription", + "label": "relatedTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "vlan", + "label": "dependsOn", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "logical-link", + "to": "lag-link", + "label": "usesLAGLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "lag-interface", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "named-query", + "to": "named-query-element", + "label": "startsWith", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "ctag-assignment", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "ipsec-configuration", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "site-pair-set", + "label": "hasSitePairSet", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "model", + "to": "model-ver", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "connector", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "network-profile", + "label": "hasNetworkProfile", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vf-module", + "to": "volume-group", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "configuration", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "configuration", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "logical-link", + "to": "logical-link", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vpls-pe", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "license-key-resource", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "l3-network", + "to": "vpn-binding", + "label": "usesVpnBinding", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "complex", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "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-other-v": "${direction}", + "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_v12.json b/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v12.json index 3d0f501c..4e14995e 100644 --- a/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v12.json +++ b/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v12.json @@ -1,116 +1,105 @@ +{"rules": +[ +{ + "from": "vlan", + "to": "multicast-configuration", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vnfc", + "to": "l3-interface-ipv4-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "allotted-resource", + "to": "l-interface", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "vf-module", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "logical-link", + "to": "vpn-binding", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vserver", + "to": "flavor", + "label": "hasFlavor", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "l-interface", + "to": "l3-interface-ipv4-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "allotted-resource", + "to": "network-policy", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "vnfc", + "label": "hosts", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, { - "rules": [ - { - "from": "configuration", - "to": "logical-link", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "configuration", - "to": "metadatum", - "label": "owns", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "configuration", - "to": "allotted-resource", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "configuration", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "configuration", - "to": "logical-link", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "configuration", - "to": "allotted-resource", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "configuration", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "availability-zone", - "to": "complex", - "label": "groupsResourcesIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "license-key-resource", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "availability-zone", - "to": "service-capability", - "label": "supportsServiceCapability", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { "from": "esr-ems", "to": "esr-system-info", "label": "has", @@ -119,7 +108,8 @@ "contains-other-v": "${direction}", "delete-other-v": "${direction}", "SVC-INFRA": "NONE", - "prevent-delete": "NONE" + "prevent-delete": "NONE", + "default": "true" }, { "from": "esr-vnfm", @@ -130,7 +120,8 @@ "contains-other-v": "${direction}", "delete-other-v": "${direction}", "SVC-INFRA": "NONE", - "prevent-delete": "NONE" + "prevent-delete": "NONE", + "default": "true" }, { "from": "esr-thirdparty-sdnc", @@ -141,7 +132,8 @@ "contains-other-v": "${direction}", "delete-other-v": "${direction}", "SVC-INFRA": "NONE", - "prevent-delete": "NONE" + "prevent-delete": "NONE", + "default": "true" }, { "from": "esr-thirdparty-sdnc", @@ -152,7 +144,8 @@ "contains-other-v": "NONE", "delete-other-v": "NONE", "SVC-INFRA": "NONE", - "prevent-delete": "NONE" + "prevent-delete": "NONE", + "default": "true" }, { "from": "cloud-region", @@ -163,2097 +156,2109 @@ "contains-other-v": "${direction}", "delete-other-v": "${direction}", "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "cloud-region", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "cloud-region", - "to": "l3-network", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "cloud-region", - "to": "tenant", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "image", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "flavor", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "availability-zone", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "oam-network", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "dvs-switch", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "volume-group", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "group-assignment", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "snapshot", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "zone", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "complex", - "to": "ctag-pool", - "label": "hasCtagPool", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "complex", - "to": "l3-network", - "label": "usesL3Network", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "ctag-pool", - "to": "availability-zone", - "label": "supportsAvailabilityZone", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "customer", - "to": "service-subscription", - "label": "subscribesTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "NONE" - }, - { - "from": "dvs-switch", - "to": "availability-zone", - "label": "existsIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "availability-zone", - "label": "hasAvailabilityZone", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "lag-interface", - "label": "hasLAGInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "l3-network", - "label": "usesL3Network", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "pserver", - "label": "runsOnPserver", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "vnf-image", - "label": "usesVnfImage", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" + "prevent-delete": "NONE", + "default": "true" }, - { - "from": "generic-vnf", - "to": "vserver", - "label": "runsOnVserver", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "service-instance", - "label": "hasInstance", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "site-pair-set", - "label": "hasSitePairSet", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "network-profile", - "label": "hasNetworkProfile", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "pnf", - "label": "hostedOn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "esr-vnfm", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "group-assignment", - "to": "tenant", - "label": "has", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "group-assignment", - "to": "pserver", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "image", - "to": "metadatum", - "label": "hasMetaDatum", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "l-interface", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vnfc", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l-interface", - "to": "l-interface", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l-interface", - "to": "logical-link", - "label": "usesLogicalLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "lag-interface", - "to": "logical-link", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l-interface", - "to": "vlan", - "label": "hasVlan", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "l-interface", - "to": "sriov-vf", - "label": "has", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "${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-other-v": "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-other-v": "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-other-v": "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-other-v": "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-other-v": "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-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "l3-network", - "to": "vpn-binding", - "label": "usesVpnBinding", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "l3-network", - "to": "instance-group", - "label": "memberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "l3-network", - "to": "subnet", - "label": "hasSubnet", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l3-network", - "to": "service-instance", - "label": "hasInstance", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l3-network", - "to": "ctag-assignment", - "label": "hasCtagAssignment", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l3-network", - "to": "network-policy", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l3-network", - "to": "segmentation-assignment", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${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-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "lag-interface", - "to": "lag-link", - "label": "usesLAGLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "lag-interface", - "to": "p-interface", - "label": "usesPInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "lag-interface", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "line-of-business", - "to": "generic-vnf", - "label": "realizedBy", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "lag-link", - "label": "usesLAGLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "pnf", - "label": "bridgedTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "logical-link", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "model", - "to": "model-ver", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "model-ver", - "to": "model-element", - "label": "startsWith", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "model-element", - "to": "model-ver", - "label": "isA", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "model-ver", - "to": "metadatum", - "label": "hasMetaData", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "model-element", - "to": "model-element", - "label": "connectsTo", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "model-element", - "to": "model-constraint", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${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-other-v": "${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-other-v": "${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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "named-query", - "to": "model", - "label": "relatedTo", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "named-query-element", - "to": "model", - "label": "isA", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "instance-group", - "to": "model", - "label": "targets", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "newvce", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "oam-network", - "to": "complex", - "label": "definedFor", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "oam-network", - "to": "service-capability", - "label": "supportsServiceCapability", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "owning-entity", - "to": "service-instance", - "label": "owns", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "p-interface", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "p-interface", - "to": "physical-link", - "label": "usesPhysicalLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "p-interface", - "to": "logical-link", - "label": "usesLogicalLink", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "platform", - "to": "generic-vnf", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "port-group", - "to": "cvlan-tag", - "label": "hasCTag", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pserver", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "pserver", - "to": "cloud-region", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pserver", - "to": "availability-zone", - "label": "existsIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "pserver", - "to": "lag-interface", - "label": "hasLAGInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pserver", - "to": "p-interface", - "label": "hasPinterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pserver", - "to": "zone", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "pnf", - "to": "p-interface", - "label": "hasPinterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pnf", - "to": "lag-interface", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pnf", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "pnf", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "pnf", - "to": "zone", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "zone", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "project", - "to": "service-instance", - "label": "created", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "cvlan-tag", - "label": "hasIPAGFacingVLAN", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "pnf", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-subscription", - "to": "service-instance", - "label": "hasInstance", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "routing-instance", - "to": "site-pair", - "label": "hasSitePair", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "tenant", - "to": "l3-network", - "label": "usesL3Network", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "tenant", - "to": "service-subscription", - "label": "relatedTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "tenant", - "to": "vserver", - "label": "owns", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "${direction}" - }, - { - "from": "vce", - "to": "availability-zone", - "label": "hasAvailabilityZone", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "vce", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "vce", - "to": "port-group", - "label": "hasPortGroup", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vce", - "to": "vserver", - "label": "runsOnVserver", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vce", - "to": "service-instance", - "label": "hasServiceInstance", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "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-other-v": "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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vpls-pe", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "vpls-pe", - "to": "ctag-pool", - "label": "usesCtagPool", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vpls-pe", - "to": "p-interface", - "label": "hasPinterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vpls-pe", - "to": "lag-interface", - "label": "hasLAGinterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "flavor", - "label": "hasFlavor", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "vserver", - "to": "image", - "label": "hasImage", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "vserver", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "pserver", - "label": "runsOnPserver", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "vserver", - "to": "volume", - "label": "hasVolume", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "vnfc", - "label": "hosts", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "snapshot", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "connector", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "metadatum", - "label": "hasMetaData", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "logical-link", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "vlan", - "label": "dependsOn", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "service-instance", - "label": "dependsOn", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "connector", - "to": "virtual-data-center", - "label": "contains", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "connector", - "to": "metadatum", - "label": "hasMetaData", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${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-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "generic-vnf", - "label": "bridgedTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "pserver", - "label": "bridgedTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "vlan", - "to": "multicast-configuration", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "volume-group", - "to": "complex", - "label": "existsIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "volume-group", - "to": "tenant", - "label": "belongsTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "ipsec-configuration", - "to": "vig-server", - "label": "hasVigServer", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "ipsec-configuration", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "configuration", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vf-module", - "to": "volume-group", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "vf-module", - "label": "isPartOf", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vf-module", - "to": "l3-network", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vf-module", - "to": "vnfc", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "${direction}" - }, - { - "from": "generic-vnf", - "to": "vf-module", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "volume-group", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "vnfc", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vlan", - "to": "logical-link", - "label": "usesLogicalLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vpn-binding", - "to": "route-target", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "ctag-assignment", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "generic-vnf", - "label": "isPartOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "l3-network", - "label": "isPartOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "network-policy", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "vlan", - "label": "isPartOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "l-interface", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "tunnel-xconnect", - "label": "has", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "cloud-region", - "label": "existsIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "vpn-binding", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "entitlement", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "license", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vce", - "to": "entitlement", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vce", - "to": "license", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "zone", - "to": "complex", - "label": "existsIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "service-instance", - "to": "allotted-resource", - "label": "has", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "allotted-resource", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "vpn-binding", - "label": "belongsTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "allotted-resource", - "to": "allotted-resource", - "label": "bindsTo", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "ctag-pool", - "label": "usesCtagPool", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "p-interface", - "to": "sriov-pf", - "label": "has", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "sriov-vf", - "to": "sriov-pf", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "subnet", - "to": "host-route", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vnfc", - "to": "vip-ipv4-address-list", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vnfc", - "to": "vip-ipv6-address-list", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "cloud-region", - "to": "vip-ipv4-address-list", - "label": "hasIpAddress", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "cloud-region", - "to": "vip-ipv6-address-list", - "label": "hasIpAddress", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vip-ipv4-address-list", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vip-ipv6-address-list", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vip-ipv4-address-list", - "to": "subnet", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "vip-ipv6-address-list", - "to": "subnet", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "vnfc", - "to": "l3-interface-ipv4-address-list", - "label": "hasIpAddress", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vnfc", - "to": "l3-interface-ipv6-address-list", - "label": "hasIpAddress", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - } - ] +{ + "from": "cloud-region", + "to": "volume-group", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "vce", + "to": "service-instance", + "label": "hasServiceInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "service-instance", + "label": "dependsOn", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "flavor", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "generic-vnf", + "to": "pserver", + "label": "runsOnPserver", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "vip-ipv6-address-list", + "to": "subnet", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "logical-link", + "to": "pnf", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "virtual-data-center", + "to": "generic-vnf", + "label": "hasVNF", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "pnf", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vip-ipv4-address-list", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "pnf", + "label": "hostedOn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "p-interface", + "to": "physical-link", + "label": "usesPhysicalLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "model-element", + "to": "model-ver", + "label": "isA", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "pnf", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "l3-interface-ipv4-address-list", + "to": "subnet", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "oam-network", + "to": "service-capability", + "label": "supportsServiceCapability", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "pserver", + "to": "zone", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "segmentation-assignment", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "configuration", + "to": "metadatum", + "label": "owns", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "license", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "named-query-element", + "to": "related-lookup", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "pserver", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vip-ipv6-address-list", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "vserver", + "label": "runsOnVserver", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vpls-pe", + "to": "lag-interface", + "label": "hasLAGinterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "vnfc", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "named-query", + "to": "model", + "label": "relatedTo", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vf-module", + "to": "vnfc", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "${direction}" +}, +{ + "from": "generic-vnf", + "to": "entitlement", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vip-ipv4-address-list", + "to": "subnet", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "availability-zone", + "to": "service-capability", + "label": "supportsServiceCapability", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "l3-interface-ipv4-address-list", + "to": "l3-network", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "vip-ipv6-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "route-table-reference", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "model-element", + "to": "constrained-element-set", + "label": "connectsTo", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "configuration", + "to": "allotted-resource", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "configuration", + "to": "allotted-resource", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "dvs-switch", + "to": "availability-zone", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "pserver", + "to": "lag-interface", + "label": "hasLAGInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vpls-pe", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "allotted-resource", + "to": "vlan", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "zone", + "to": "complex", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "ctag-pool", + "to": "availability-zone", + "label": "supportsAvailabilityZone", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "owning-entity", + "to": "service-instance", + "label": "owns", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "port-group", + "label": "hasPortGroup", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "site-pair-set", + "to": "routing-instance", + "label": "hasRoutingInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "l3-interface-ipv6-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "allotted-resource", + "to": "generic-vnf", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vnfc", + "to": "l3-interface-ipv6-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "availability-zone", + "label": "hasAvailabilityZone", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vce", + "to": "vserver", + "label": "runsOnVserver", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "logical-link", + "to": "pserver", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "cloud-region", + "to": "oam-network", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "cloud-region", + "to": "dvs-switch", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "service-instance", + "to": "allotted-resource", + "label": "has", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "allotted-resource", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "configuration", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "subnet", + "to": "host-route", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "lag-interface", + "to": "lag-link", + "label": "usesLAGLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "logical-link", + "to": "generic-vnf", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "entitlement", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "sriov-vf", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "named-query-element", + "to": "model", + "label": "isA", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "group-assignment", + "to": "pserver", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vnfc", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "cvlan-tag", + "label": "hasIPAGFacingVLAN", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "line-of-business", + "to": "generic-vnf", + "label": "realizedBy", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "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-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "pserver", + "label": "runsOnPserver", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "operational-environment", + "to": "operational-environment", + "label": "managedBy", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "allotted-resource", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "availability-zone", + "label": "hasAvailabilityZone", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "l3-interface-ipv4-address-list", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "subnet", + "label": "hasSubnet", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "volume-group", + "to": "tenant", + "label": "belongsTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "generic-vnf", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "availability-zone", + "to": "complex", + "label": "groupsResourcesIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "allotted-resource", + "to": "vpn-binding", + "label": "belongsTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "project", + "to": "service-instance", + "label": "created", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "platform", + "to": "generic-vnf", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l3-interface-ipv6-address-list", + "to": "l3-network", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "port-group", + "to": "cvlan-tag", + "label": "hasCTag", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "image", + "to": "metadatum", + "label": "hasMetaDatum", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vnfc", + "to": "vip-ipv6-address-list", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "oam-network", + "to": "complex", + "label": "definedFor", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vlan", + "to": "l3-interface-ipv4-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "routing-instance", + "to": "site-pair", + "label": "hasSitePair", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vpn-binding", + "to": "route-target", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "allotted-resource", + "to": "tunnel-xconnect", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "ipsec-configuration", + "to": "vig-server", + "label": "hasVigServer", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "lag-interface", + "label": "hasLAGInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "model-constraint", + "to": "constrained-element-set", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "l-interface", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "lag-interface", + "to": "p-interface", + "label": "usesPInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "model-element", + "to": "model-constraint", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "connector", + "to": "virtual-data-center", + "label": "contains", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "model-element", + "to": "model-element", + "label": "connectsTo", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "tenant", + "to": "vserver", + "label": "owns", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "${direction}" +}, +{ + "from": "l-interface", + "to": "vlan", + "label": "hasVlan", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vpls-pe", + "to": "ctag-pool", + "label": "usesCtagPool", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "instance-group", + "to": "model", + "label": "targets", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "service-instance", + "to": "zone", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "pnf", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "configuration", + "to": "logical-link", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "configuration", + "to": "logical-link", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "pnf", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "ctag-assignment", + "label": "hasCtagAssignment", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "vf-module", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "complex", + "to": "ctag-pool", + "label": "hasCtagPool", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "constrained-element-set", + "to": "element-choice-set", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "p-interface", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vserver", + "to": "image", + "label": "hasImage", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "tenant", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "volume-group", + "to": "complex", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "logical-link", + "to": "cloud-region", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "sriov-vf", + "to": "sriov-pf", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "customer", + "to": "service-subscription", + "label": "subscribesTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "newvce", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "allotted-resource", + "to": "allotted-resource", + "label": "bindsTo", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "allotted-resource", + "to": "l3-network", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "p-interface", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "pserver", + "to": "availability-zone", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "pserver", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "model-ver", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "volume", + "label": "hasVolume", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "vip-ipv4-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "zone", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "availability-zone", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "site-pair", + "to": "class-of-service", + "label": "hasClassOfService", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "instance-group", + "label": "memberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "element-choice-set", + "to": "model-element", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "network-policy", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "vnf-image", + "label": "usesVnfImage", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "vlan", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "license", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "pnf", + "to": "zone", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vnfc", + "to": "vip-ipv4-address-list", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "lag-interface", + "to": "logical-link", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "p-interface", + "to": "sriov-pf", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l3-interface-ipv6-address-list", + "to": "subnet", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "generic-vnf", + "to": "volume-group", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "l3-network", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "group-assignment", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "group-assignment", + "to": "tenant", + "label": "has", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "virtual-data-center", + "to": "logical-link", + "label": "contains", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "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-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "connector", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "ctag-pool", + "label": "usesCtagPool", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "pserver", + "to": "cloud-region", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vf-module", + "to": "l3-network", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "snapshot", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "cloud-region", + "to": "tenant", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "${direction}" +}, +{ + "from": "cloud-region", + "to": "image", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "model-ver", + "to": "model-element", + "label": "startsWith", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "pnf", + "to": "lag-interface", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "snapshot", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "named-query-element", + "to": "property-constraint", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-subscription", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "logical-link", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "tenant", + "to": "service-subscription", + "label": "relatedTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "vlan", + "label": "dependsOn", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "logical-link", + "to": "lag-link", + "label": "usesLAGLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "lag-interface", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "named-query", + "to": "named-query-element", + "label": "startsWith", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "ctag-assignment", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "ipsec-configuration", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "site-pair-set", + "label": "hasSitePairSet", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "model", + "to": "model-ver", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "connector", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "network-profile", + "label": "hasNetworkProfile", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vf-module", + "to": "volume-group", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "configuration", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "configuration", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "logical-link", + "to": "logical-link", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vpls-pe", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "license-key-resource", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "l3-network", + "to": "vpn-binding", + "label": "usesVpnBinding", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "complex", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "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-other-v": "${direction}", + "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_v8.json b/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v8.json index 6d5b06f1..c78d427e 100644 --- a/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v8.json +++ b/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v8.json @@ -1,1478 +1,1478 @@ +{"rules": +[ { - "rules": [ - { - "from": "availability-zone", - "to": "complex", - "label": "groupsResourcesIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "license-key-resource", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "availability-zone", - "to": "service-capability", - "label": "supportsServiceCapability", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "cloud-region", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "cloud-region", - "to": "l3-network", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "cloud-region", - "to": "tenant", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "image", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "flavor", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "availability-zone", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "oam-network", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "dvs-switch", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "volume-group", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "group-assignment", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "snapshot", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "complex", - "to": "ctag-pool", - "label": "hasCtagPool", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "complex", - "to": "l3-network", - "label": "usesL3Network", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "ctag-pool", - "to": "availability-zone", - "label": "supportsAvailabilityZone", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "customer", - "to": "service-subscription", - "label": "subscribesTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "NONE" - }, - { - "from": "dvs-switch", - "to": "availability-zone", - "label": "existsIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "availability-zone", - "label": "hasAvailabilityZone", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "lag-interface", - "label": "hasLAGInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "l3-network", - "label": "usesL3Network", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "pserver", - "label": "runsOnPserver", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "vnf-image", - "label": "usesVnfImage", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "vserver", - "label": "runsOnVserver", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "service-instance", - "label": "hasInstance", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "site-pair-set", - "label": "hasSitePairSet", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "network-profile", - "label": "hasNetworkProfile", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "group-assignment", - "to": "tenant", - "label": "has", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "group-assignment", - "to": "pserver", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "image", - "to": "metadatum", - "label": "hasMetaDatum", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l-interface", - "to": "logical-link", - "label": "usesLogicalLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l-interface", - "to": "vlan", - "label": "hasVlan", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "l-interface", - "to": "sriov-vf", - "label": "has", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "${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-other-v": "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-other-v": "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-other-v": "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-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "l3-network", - "to": "vpn-binding", - "label": "usesVpnBinding", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "l3-network", - "to": "subnet", - "label": "hasSubnet", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l3-network", - "to": "service-instance", - "label": "hasInstance", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l3-network", - "to": "ctag-assignment", - "label": "hasCtagAssignment", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l3-network", - "to": "network-policy", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l3-network", - "to": "segmentation-assignment", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${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-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "lag-interface", - "to": "lag-link", - "label": "usesLAGLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "lag-interface", - "to": "p-interface", - "label": "usesPInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "lag-interface", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "lag-link", - "label": "usesLAGLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "pnf", - "label": "bridgedTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "logical-link", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "model", - "to": "model-element", - "label": "startsWith", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "model-element", - "to": "model", - "label": "isA", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "model", - "to": "metadatum", - "label": "hasMetaData", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "model-element", - "to": "model-element", - "label": "connectsTo", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "model-element", - "to": "model-constraint", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${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-other-v": "${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-other-v": "${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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "named-query", - "to": "model", - "label": "relatedTo", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "named-query-element", - "to": "model", - "label": "isA", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "newvce", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "oam-network", - "to": "complex", - "label": "definedFor", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "oam-network", - "to": "service-capability", - "label": "supportsServiceCapability", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "p-interface", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "p-interface", - "to": "physical-link", - "label": "usesPhysicalLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "p-interface", - "to": "logical-link", - "label": "usesLogicalLink", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "port-group", - "to": "cvlan-tag", - "label": "hasCTag", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pserver", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "pserver", - "to": "cloud-region", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pserver", - "to": "availability-zone", - "label": "existsIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "pserver", - "to": "lag-interface", - "label": "hasLAGInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pserver", - "to": "p-interface", - "label": "hasPinterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pnf", - "to": "p-interface", - "label": "hasPinterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pnf", - "to": "lag-interface", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pnf", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "service-instance", - "to": "cvlan-tag", - "label": "hasIPAGFacingVLAN", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-subscription", - "to": "service-instance", - "label": "hasInstance", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "routing-instance", - "to": "site-pair", - "label": "hasSitePair", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "tenant", - "to": "l3-network", - "label": "usesL3Network", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "tenant", - "to": "service-subscription", - "label": "relatedTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "tenant", - "to": "vserver", - "label": "owns", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "${direction}" - }, - { - "from": "vce", - "to": "availability-zone", - "label": "hasAvailabilityZone", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "vce", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "vce", - "to": "port-group", - "label": "hasPortGroup", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vce", - "to": "vserver", - "label": "runsOnVserver", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vce", - "to": "service-instance", - "label": "hasServiceInstance", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "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-other-v": "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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vpls-pe", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "vpls-pe", - "to": "ctag-pool", - "label": "usesCtagPool", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vpls-pe", - "to": "p-interface", - "label": "hasPinterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vpls-pe", - "to": "lag-interface", - "label": "hasLAGinterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "flavor", - "label": "hasFlavor", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "vserver", - "to": "image", - "label": "hasImage", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "vserver", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "pserver", - "label": "runsOnPserver", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "vserver", - "to": "volume", - "label": "hasVolume", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "vnfc", - "label": "hosts", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "snapshot", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "connector", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "metadatum", - "label": "hasMetaData", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "logical-link", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "vlan", - "label": "dependsOn", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "service-instance", - "label": "dependsOn", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "connector", - "to": "virtual-data-center", - "label": "contains", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "connector", - "to": "metadatum", - "label": "hasMetaData", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${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-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "generic-vnf", - "label": "bridgedTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "pserver", - "label": "bridgedTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "vlan", - "to": "multicast-configuration", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "volume-group", - "to": "complex", - "label": "existsIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "volume-group", - "to": "tenant", - "label": "belongsTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "ipsec-configuration", - "to": "vig-server", - "label": "hasVigServer", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "ipsec-configuration", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vf-module", - "to": "volume-group", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "vf-module", - "label": "isPartOf", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vf-module", - "to": "l3-network", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vf-module", - "to": "vnfc", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "${direction}" - }, - { - "from": "generic-vnf", - "to": "vf-module", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "volume-group", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "vnfc", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vlan", - "to": "logical-link", - "label": "usesLogicalLink", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - } - ] + "from": "ipsec-configuration", + "to": "vig-server", + "label": "hasVigServer", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vlan", + "to": "multicast-configuration", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "lag-interface", + "label": "hasLAGInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "model-constraint", + "to": "constrained-element-set", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "vf-module", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "lag-interface", + "to": "p-interface", + "label": "usesPInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "model-element", + "to": "model-constraint", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "connector", + "to": "virtual-data-center", + "label": "contains", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "model-element", + "to": "model-element", + "label": "connectsTo", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "tenant", + "to": "vserver", + "label": "owns", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "${direction}" +}, +{ + "from": "vserver", + "to": "flavor", + "label": "hasFlavor", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "l-interface", + "to": "vlan", + "label": "hasVlan", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "l3-interface-ipv4-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "model", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vpls-pe", + "to": "ctag-pool", + "label": "usesCtagPool", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "vnfc", + "label": "hosts", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "volume-group", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "l3-network", + "to": "ctag-assignment", + "label": "hasCtagAssignment", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "service-instance", + "label": "hasServiceInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "service-instance", + "label": "dependsOn", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "flavor", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "generic-vnf", + "to": "pserver", + "label": "runsOnPserver", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "logical-link", + "to": "pnf", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "virtual-data-center", + "to": "generic-vnf", + "label": "hasVNF", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "pnf", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "vf-module", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "complex", + "to": "ctag-pool", + "label": "hasCtagPool", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "constrained-element-set", + "to": "element-choice-set", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "p-interface", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "p-interface", + "to": "physical-link", + "label": "usesPhysicalLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "image", + "label": "hasImage", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "pnf", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "tenant", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l3-interface-ipv4-address-list", + "to": "subnet", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "volume-group", + "to": "complex", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "oam-network", + "to": "service-capability", + "label": "supportsServiceCapability", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "customer", + "to": "service-subscription", + "label": "subscribesTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "segmentation-assignment", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "named-query-element", + "to": "related-lookup", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "pserver", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "newvce", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "p-interface", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "vserver", + "label": "runsOnVserver", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "pserver", + "to": "availability-zone", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "vpls-pe", + "to": "lag-interface", + "label": "hasLAGinterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "vnfc", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "named-query", + "to": "model", + "label": "relatedTo", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vf-module", + "to": "vnfc", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "${direction}" +}, +{ + "from": "pserver", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "availability-zone", + "to": "service-capability", + "label": "supportsServiceCapability", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vserver", + "to": "volume", + "label": "hasVolume", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l3-interface-ipv4-address-list", + "to": "l3-network", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "route-table-reference", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "model-element", + "to": "constrained-element-set", + "label": "connectsTo", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "dvs-switch", + "to": "availability-zone", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "pserver", + "to": "lag-interface", + "label": "hasLAGInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "availability-zone", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "vpls-pe", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "site-pair", + "to": "class-of-service", + "label": "hasClassOfService", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "element-choice-set", + "to": "model-element", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "ctag-pool", + "to": "availability-zone", + "label": "supportsAvailabilityZone", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "l3-network", + "to": "network-policy", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "port-group", + "label": "hasPortGroup", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "generic-vnf", + "to": "vnf-image", + "label": "usesVnfImage", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "site-pair-set", + "to": "routing-instance", + "label": "hasRoutingInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vlan", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "l3-interface-ipv6-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "availability-zone", + "label": "hasAvailabilityZone", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vce", + "to": "vserver", + "label": "runsOnVserver", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l3-interface-ipv6-address-list", + "to": "subnet", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "generic-vnf", + "to": "volume-group", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "logical-link", + "to": "pserver", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "cloud-region", + "to": "oam-network", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "cloud-region", + "to": "dvs-switch", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "cloud-region", + "to": "l3-network", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "group-assignment", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "group-assignment", + "to": "tenant", + "label": "has", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "virtual-data-center", + "to": "logical-link", + "label": "contains", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "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-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "connector", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "lag-interface", + "to": "lag-link", + "label": "usesLAGLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "pserver", + "to": "cloud-region", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "logical-link", + "to": "generic-vnf", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vf-module", + "to": "l3-network", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "sriov-vf", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "named-query-element", + "to": "model", + "label": "isA", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "group-assignment", + "to": "pserver", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "cloud-region", + "to": "snapshot", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "cloud-region", + "to": "tenant", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "${direction}" +}, +{ + "from": "cloud-region", + "to": "image", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "service-instance", + "to": "cvlan-tag", + "label": "hasIPAGFacingVLAN", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "pnf", + "to": "lag-interface", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "snapshot", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "model-element", + "to": "model", + "label": "isA", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "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-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-subscription", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "logical-link", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "tenant", + "to": "service-subscription", + "label": "relatedTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "pserver", + "label": "runsOnPserver", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "service-instance", + "to": "vlan", + "label": "dependsOn", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "availability-zone", + "label": "hasAvailabilityZone", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "logical-link", + "to": "lag-link", + "label": "usesLAGLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "subnet", + "label": "hasSubnet", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "volume-group", + "to": "tenant", + "label": "belongsTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "generic-vnf", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "availability-zone", + "to": "complex", + "label": "groupsResourcesIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "lag-interface", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "named-query", + "to": "named-query-element", + "label": "startsWith", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "ipsec-configuration", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "site-pair-set", + "label": "hasSitePairSet", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "model", + "to": "model-element", + "label": "startsWith", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "connector", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "network-profile", + "label": "hasNetworkProfile", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vf-module", + "to": "volume-group", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "logical-link", + "to": "logical-link", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "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-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "port-group", + "to": "cvlan-tag", + "label": "hasCTag", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vpls-pe", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "image", + "to": "metadatum", + "label": "hasMetaDatum", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "license-key-resource", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "l3-network", + "to": "vpn-binding", + "label": "usesVpnBinding", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "complex", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "oam-network", + "to": "complex", + "label": "definedFor", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vlan", + "to": "l3-interface-ipv4-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "routing-instance", + "to": "site-pair", + "label": "hasSitePair", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vlan", + "to": "l3-interface-ipv6-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "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 88801e4c..82d995df 100644 --- a/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v9.json +++ b/aai-core/src/main/resources/dbedgerules/DbEdgeRules_v9.json @@ -1,1742 +1,1742 @@ +{"rules": +[ { - "rules": [ - { - "from": "availability-zone", - "to": "complex", - "label": "groupsResourcesIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "license-key-resource", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "availability-zone", - "to": "service-capability", - "label": "supportsServiceCapability", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "cloud-region", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "cloud-region", - "to": "l3-network", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "cloud-region", - "to": "tenant", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "image", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "flavor", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "availability-zone", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "oam-network", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "dvs-switch", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "volume-group", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "group-assignment", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "snapshot", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "${direction}" - }, - { - "from": "cloud-region", - "to": "zone", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "complex", - "to": "ctag-pool", - "label": "hasCtagPool", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "complex", - "to": "l3-network", - "label": "usesL3Network", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "ctag-pool", - "to": "availability-zone", - "label": "supportsAvailabilityZone", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "customer", - "to": "service-subscription", - "label": "subscribesTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "NONE" - }, - { - "from": "dvs-switch", - "to": "availability-zone", - "label": "existsIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "availability-zone", - "label": "hasAvailabilityZone", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "lag-interface", - "label": "hasLAGInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "l3-network", - "label": "usesL3Network", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "pserver", - "label": "runsOnPserver", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "vnf-image", - "label": "usesVnfImage", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "vserver", - "label": "runsOnVserver", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "service-instance", - "label": "hasInstance", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "site-pair-set", - "label": "hasSitePairSet", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "network-profile", - "label": "hasNetworkProfile", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "group-assignment", - "to": "tenant", - "label": "has", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "group-assignment", - "to": "pserver", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "image", - "to": "metadatum", - "label": "hasMetaDatum", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l-interface", - "to": "logical-link", - "label": "usesLogicalLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l-interface", - "to": "vlan", - "label": "hasVlan", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "l-interface", - "to": "sriov-vf", - "label": "has", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "${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-other-v": "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-other-v": "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-other-v": "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-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "l3-network", - "to": "vpn-binding", - "label": "usesVpnBinding", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "l3-network", - "to": "subnet", - "label": "hasSubnet", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l3-network", - "to": "service-instance", - "label": "hasInstance", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l3-network", - "to": "ctag-assignment", - "label": "hasCtagAssignment", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l3-network", - "to": "network-policy", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "l3-network", - "to": "segmentation-assignment", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${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-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "lag-interface", - "to": "lag-link", - "label": "usesLAGLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "lag-interface", - "to": "p-interface", - "label": "usesPInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "lag-interface", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "lag-link", - "label": "usesLAGLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "pnf", - "label": "bridgedTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "logical-link", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "model", - "to": "model-ver", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "model-ver", - "to": "model-element", - "label": "startsWith", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "model-element", - "to": "model-ver", - "label": "isA", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "model-ver", - "to": "metadatum", - "label": "hasMetaData", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "model-element", - "to": "model-element", - "label": "connectsTo", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "model-element", - "to": "model-constraint", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${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-other-v": "${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-other-v": "${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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "named-query", - "to": "model", - "label": "relatedTo", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "named-query-element", - "to": "model", - "label": "isA", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "instance-group", - "to": "model", - "label": "targets", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "newvce", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "oam-network", - "to": "complex", - "label": "definedFor", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "oam-network", - "to": "service-capability", - "label": "supportsServiceCapability", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "p-interface", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "p-interface", - "to": "physical-link", - "label": "usesPhysicalLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "p-interface", - "to": "logical-link", - "label": "usesLogicalLink", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "port-group", - "to": "cvlan-tag", - "label": "hasCTag", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pserver", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "pserver", - "to": "cloud-region", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pserver", - "to": "availability-zone", - "label": "existsIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "pserver", - "to": "lag-interface", - "label": "hasLAGInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pserver", - "to": "p-interface", - "label": "hasPinterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pserver", - "to": "zone", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "pnf", - "to": "p-interface", - "label": "hasPinterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pnf", - "to": "lag-interface", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "pnf", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "pnf", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "pnf", - "to": "zone", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "cvlan-tag", - "label": "hasIPAGFacingVLAN", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "pnf", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-subscription", - "to": "service-instance", - "label": "hasInstance", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "routing-instance", - "to": "site-pair", - "label": "hasSitePair", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "tenant", - "to": "l3-network", - "label": "usesL3Network", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "tenant", - "to": "service-subscription", - "label": "relatedTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "tenant", - "to": "vserver", - "label": "owns", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "!${direction}", - "prevent-delete": "${direction}" - }, - { - "from": "vce", - "to": "availability-zone", - "label": "hasAvailabilityZone", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "vce", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "vce", - "to": "port-group", - "label": "hasPortGroup", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vce", - "to": "vserver", - "label": "runsOnVserver", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vce", - "to": "service-instance", - "label": "hasServiceInstance", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "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-other-v": "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-other-v": "${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-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vpls-pe", - "to": "complex", - "label": "locatedIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "vpls-pe", - "to": "ctag-pool", - "label": "usesCtagPool", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vpls-pe", - "to": "p-interface", - "label": "hasPinterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vpls-pe", - "to": "lag-interface", - "label": "hasLAGinterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "flavor", - "label": "hasFlavor", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "vserver", - "to": "image", - "label": "hasImage", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "vserver", - "to": "l-interface", - "label": "hasLInterface", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "pserver", - "label": "runsOnPserver", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "vserver", - "to": "volume", - "label": "hasVolume", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "vnfc", - "label": "hosts", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "snapshot", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "connector", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "metadatum", - "label": "hasMetaData", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "logical-link", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "vlan", - "label": "dependsOn", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "service-instance", - "label": "dependsOn", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "connector", - "to": "virtual-data-center", - "label": "contains", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "connector", - "to": "metadatum", - "label": "hasMetaData", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${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-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "generic-vnf", - "label": "bridgedTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "pserver", - "label": "bridgedTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "vlan", - "to": "multicast-configuration", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "volume-group", - "to": "complex", - "label": "existsIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "!${direction}" - }, - { - "from": "volume-group", - "to": "tenant", - "label": "belongsTo", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "ipsec-configuration", - "to": "vig-server", - "label": "hasVigServer", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "ipsec-configuration", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vf-module", - "to": "volume-group", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vserver", - "to": "vf-module", - "label": "isPartOf", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vf-module", - "to": "l3-network", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vf-module", - "to": "vnfc", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "${direction}" - }, - { - "from": "generic-vnf", - "to": "vf-module", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "volume-group", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "vnfc", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "vlan", - "to": "logical-link", - "label": "usesLogicalLink", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "${direction}", - "SVC-INFRA": "${direction}", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "ctag-assignment", - "label": "uses", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "generic-vnf", - "label": "isPartOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "l3-network", - "label": "isPartOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "vlan", - "label": "isPartOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "instance-group", - "label": "isMemberOf", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "allotted-resource", - "to": "tunnel-xconnect", - "label": "has", - "direction": "OUT", - "multiplicity": "One2One", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "cloud-region", - "label": "existsIn", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "logical-link", - "to": "vpn-binding", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "generic-vnf", - "to": "entitlement", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "generic-vnf", - "to": "license", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vce", - "to": "entitlement", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "vce", - "to": "license", - "label": "has", - "direction": "OUT", - "multiplicity": "One2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "zone", - "to": "complex", - "label": "existsIn", - "direction": "OUT", - "multiplicity": "Many2One", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "!${direction}" - }, - { - "from": "service-instance", - "to": "allotted-resource", - "label": "has", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "${direction}", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - }, - { - "from": "service-instance", - "to": "allotted-resource", - "label": "uses", - "direction": "OUT", - "multiplicity": "Many2Many", - "contains-other-v": "NONE", - "delete-other-v": "NONE", - "SVC-INFRA": "NONE", - "prevent-delete": "NONE" - } - ] + "from": "ipsec-configuration", + "to": "vig-server", + "label": "hasVigServer", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vlan", + "to": "multicast-configuration", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "lag-interface", + "label": "hasLAGInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "model-constraint", + "to": "constrained-element-set", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "vf-module", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "lag-interface", + "to": "p-interface", + "label": "usesPInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "model-element", + "to": "model-constraint", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "connector", + "to": "virtual-data-center", + "label": "contains", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "model-element", + "to": "model-element", + "label": "connectsTo", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "logical-link", + "to": "vpn-binding", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "tenant", + "to": "vserver", + "label": "owns", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "${direction}" +}, +{ + "from": "vserver", + "to": "flavor", + "label": "hasFlavor", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "l-interface", + "to": "vlan", + "label": "hasVlan", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "l3-interface-ipv4-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vpls-pe", + "to": "ctag-pool", + "label": "usesCtagPool", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "vnfc", + "label": "hosts", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "instance-group", + "to": "model", + "label": "targets", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "pnf", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "volume-group", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "service-instance", + "to": "pnf", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "ctag-assignment", + "label": "hasCtagAssignment", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "service-instance", + "label": "hasServiceInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "service-instance", + "label": "dependsOn", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "flavor", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "service-instance", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "pserver", + "label": "runsOnPserver", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "logical-link", + "to": "pnf", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "virtual-data-center", + "to": "generic-vnf", + "label": "hasVNF", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "pnf", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "vf-module", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "complex", + "to": "ctag-pool", + "label": "hasCtagPool", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "constrained-element-set", + "to": "element-choice-set", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "p-interface", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "p-interface", + "to": "physical-link", + "label": "usesPhysicalLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "model-element", + "to": "model-ver", + "label": "isA", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vserver", + "to": "image", + "label": "hasImage", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "pnf", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "tenant", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l3-interface-ipv4-address-list", + "to": "subnet", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "volume-group", + "to": "complex", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "logical-link", + "to": "cloud-region", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "oam-network", + "to": "service-capability", + "label": "supportsServiceCapability", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "pserver", + "to": "zone", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "customer", + "to": "service-subscription", + "label": "subscribesTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "segmentation-assignment", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "license", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "named-query-element", + "to": "related-lookup", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "pserver", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "newvce", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "allotted-resource", + "to": "l3-network", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "p-interface", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "vserver", + "label": "runsOnVserver", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "pserver", + "to": "availability-zone", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "vpls-pe", + "to": "lag-interface", + "label": "hasLAGinterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "vnfc", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "named-query", + "to": "model", + "label": "relatedTo", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vf-module", + "to": "vnfc", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "${direction}" +}, +{ + "from": "pserver", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "model-ver", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "entitlement", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "availability-zone", + "to": "service-capability", + "label": "supportsServiceCapability", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vserver", + "to": "volume", + "label": "hasVolume", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l3-interface-ipv4-address-list", + "to": "l3-network", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "zone", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "route-table-reference", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "model-element", + "to": "constrained-element-set", + "label": "connectsTo", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "dvs-switch", + "to": "availability-zone", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "pserver", + "to": "lag-interface", + "label": "hasLAGInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "availability-zone", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "vpls-pe", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "allotted-resource", + "to": "vlan", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "zone", + "to": "complex", + "label": "existsIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "site-pair", + "to": "class-of-service", + "label": "hasClassOfService", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "element-choice-set", + "to": "model-element", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "ctag-pool", + "to": "availability-zone", + "label": "supportsAvailabilityZone", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "l3-network", + "to": "network-policy", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "port-group", + "label": "hasPortGroup", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "generic-vnf", + "to": "vnf-image", + "label": "usesVnfImage", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "site-pair-set", + "to": "routing-instance", + "label": "hasRoutingInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vlan", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "l3-interface-ipv6-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "allotted-resource", + "to": "generic-vnf", + "label": "isPartOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "license", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "pnf", + "to": "zone", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "availability-zone", + "label": "hasAvailabilityZone", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vce", + "to": "vserver", + "label": "runsOnVserver", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l3-interface-ipv6-address-list", + "to": "subnet", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "generic-vnf", + "to": "volume-group", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "logical-link", + "to": "pserver", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "cloud-region", + "to": "oam-network", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "cloud-region", + "to": "dvs-switch", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "service-instance", + "to": "allotted-resource", + "label": "has", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "allotted-resource", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "l3-network", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "group-assignment", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "group-assignment", + "to": "tenant", + "label": "has", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "logical-link", + "label": "usesLogicalLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "virtual-data-center", + "to": "logical-link", + "label": "contains", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "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-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "connector", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "lag-interface", + "to": "lag-link", + "label": "usesLAGLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "pserver", + "to": "cloud-region", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "logical-link", + "to": "generic-vnf", + "label": "bridgedTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vce", + "to": "entitlement", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vf-module", + "to": "l3-network", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l-interface", + "to": "sriov-vf", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "named-query-element", + "to": "model", + "label": "isA", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "group-assignment", + "to": "pserver", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "cloud-region", + "to": "snapshot", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "cloud-region", + "to": "tenant", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "${direction}" +}, +{ + "from": "cloud-region", + "to": "image", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "${direction}" +}, +{ + "from": "model-ver", + "to": "model-element", + "label": "startsWith", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "cvlan-tag", + "label": "hasIPAGFacingVLAN", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "pnf", + "to": "lag-interface", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "snapshot", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "named-query-element", + "to": "property-constraint", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-subscription", + "to": "service-instance", + "label": "hasInstance", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "logical-link", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "tenant", + "to": "service-subscription", + "label": "relatedTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vserver", + "to": "pserver", + "label": "runsOnPserver", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "service-instance", + "to": "vlan", + "label": "dependsOn", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "allotted-resource", + "to": "instance-group", + "label": "isMemberOf", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "availability-zone", + "label": "hasAvailabilityZone", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "!${direction}" +}, +{ + "from": "logical-link", + "to": "lag-link", + "label": "usesLAGLink", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "l3-network", + "to": "subnet", + "label": "hasSubnet", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "!${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "volume-group", + "to": "tenant", + "label": "belongsTo", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "cloud-region", + "to": "complex", + "label": "locatedIn", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "generic-vnf", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "availability-zone", + "to": "complex", + "label": "groupsResourcesIn", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "lag-interface", + "to": "l-interface", + "label": "hasLInterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "named-query", + "to": "named-query-element", + "label": "startsWith", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "service-instance", + "to": "ctag-assignment", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "ipsec-configuration", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "site-pair-set", + "label": "hasSitePairSet", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "model", + "to": "model-ver", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "connector", + "to": "metadatum", + "label": "hasMetaData", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "network-profile", + "label": "hasNetworkProfile", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vf-module", + "to": "volume-group", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "logical-link", + "to": "logical-link", + "label": "uses", + "direction": "OUT", + "multiplicity": "ONE2MANY", + "contains-other-v": "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-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "port-group", + "to": "cvlan-tag", + "label": "hasCTag", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "vpls-pe", + "to": "p-interface", + "label": "hasPinterface", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "image", + "to": "metadatum", + "label": "hasMetaDatum", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "generic-vnf", + "to": "license-key-resource", + "label": "uses", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "l3-network", + "to": "vpn-binding", + "label": "usesVpnBinding", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "complex", + "to": "l3-network", + "label": "usesL3Network", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "oam-network", + "to": "complex", + "label": "definedFor", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "!${direction}" +}, +{ + "from": "vlan", + "to": "l3-interface-ipv4-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "routing-instance", + "to": "site-pair", + "label": "hasSitePair", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" +}, +{ + "from": "vlan", + "to": "l3-interface-ipv6-address-list", + "label": "hasIpAddress", + "direction": "OUT", + "multiplicity": "MANY2MANY", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "${direction}", + "prevent-delete": "NONE" +}, +{ + "from": "allotted-resource", + "to": "tunnel-xconnect", + "label": "has", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" } +] +} \ No newline at end of file diff --git a/aai-core/src/test/java/org/onap/aai/serialization/db/EdgeRulesTest.java b/aai-core/src/test/java/org/onap/aai/serialization/db/EdgeRulesTest.java index 4bf6a6c2..e007f027 100644 --- a/aai-core/src/test/java/org/onap/aai/serialization/db/EdgeRulesTest.java +++ b/aai-core/src/test/java/org/onap/aai/serialization/db/EdgeRulesTest.java @@ -121,7 +121,7 @@ public class EdgeRulesTest extends AAISetup { EdgeRules rules = EdgeRules.getInstance(); EdgeRule rule = rules.getEdgeRule(EdgeType.TREE, v1, v2); assertEquals(true, "OUT".equalsIgnoreCase(rule.getContains())); - assertEquals(true, "NONE".equalsIgnoreCase(rule.getDeleteOtherV())); + assertEquals(true, "OUT".equalsIgnoreCase(rule.getDeleteOtherV())); assertEquals(true, MultiplicityRule.ONE2MANY.equals(rule.getMultiplicityRule())); assertEquals(true, "IN".equalsIgnoreCase(rule.getServiceInfrastructure())); assertEquals(true, "OUT".equalsIgnoreCase(rule.getPreventDelete())); @@ -192,7 +192,7 @@ public class EdgeRulesTest extends AAISetup { public void getAllRulesTest() { EdgeRules rules = EdgeRules.getInstance("/dbedgerules/DbEdgeRules_test.json"); Multimap allRules = rules.getAllRules(); - assertEquals(3, allRules.size()); + assertEquals(6, allRules.size()); assertEquals(true, allRules.containsKey("foo|bar")); assertEquals(true, allRules.containsKey("foo|bar")); assertEquals(true, allRules.containsKey("quux|foo")); diff --git a/aai-core/src/test/java/org/onap/aai/serialization/engines/query/GraphTraversalQueryEngineTest.java b/aai-core/src/test/java/org/onap/aai/serialization/engines/query/GraphTraversalQueryEngineTest.java new file mode 100644 index 00000000..4e3b7d0f --- /dev/null +++ b/aai-core/src/test/java/org/onap/aai/serialization/engines/query/GraphTraversalQueryEngineTest.java @@ -0,0 +1,75 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ + +package org.onap.aai.serialization.engines.query; + +import static org.junit.Assert.*; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource; +import org.apache.tinkerpop.gremlin.structure.Graph; +import org.apache.tinkerpop.gremlin.structure.T; +import org.apache.tinkerpop.gremlin.structure.Vertex; +import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph; +import org.junit.Test; +import org.onap.aai.exceptions.AAIException; +import org.onap.aai.serialization.db.EdgeRules; + +public class GraphTraversalQueryEngineTest { + + @Test + public void testFindDeletable() throws AAIException { + //setup + EdgeRules rules = EdgeRules.getInstance("/dbedgerules/DbEdgeRules_test.json"); + + Graph graph = TinkerGraph.open(); + Vertex parent = graph.addVertex(T.id, "00", "aai-node-type", "test-parent"); + Vertex child = graph.addVertex(T.id, "10", "aai-node-type", "test-child"); + Vertex cousin = graph.addVertex(T.id, "20", "aai-node-type", "test-cousin"); + Vertex grandchild = graph.addVertex(T.id, "30", "aai-node-type", "test-grandchild"); + + GraphTraversalSource g = graph.traversal(); + + rules.addTreeEdge(g, parent, child); //delete-other-v=none, no cascade + rules.addTreeEdge(g, child, grandchild); //d-o-v=out, yes from child + rules.addEdge(g, cousin, child); //d-o-v=out, yes from cousin + + List parentExpected = new ArrayList<>(Arrays.asList(parent)); + List childExpected = new ArrayList<>(Arrays.asList(child, grandchild)); + List cousinExpected = new ArrayList<>(Arrays.asList(cousin, child, grandchild)); + + GraphTraversalQueryEngine engine = new GraphTraversalQueryEngine(g); + + //tests + List parentDeletes = engine.findDeletable(parent); + assertTrue(parentExpected.containsAll(parentDeletes) && parentDeletes.containsAll(parentExpected)); + + List childDeletes = engine.findDeletable(child); + assertTrue(childExpected.containsAll(childDeletes) && childDeletes.containsAll(childExpected)); + + List cousinDeletes = engine.findDeletable(cousin); + assertTrue(cousinExpected.containsAll(cousinDeletes) && cousinDeletes.containsAll(cousinExpected)); + } +} diff --git a/aai-core/src/test/resources/dbedgerules/DbEdgeRules_test.json b/aai-core/src/test/resources/dbedgerules/DbEdgeRules_test.json index 0031d1f0..957129b2 100644 --- a/aai-core/src/test/resources/dbedgerules/DbEdgeRules_test.json +++ b/aai-core/src/test/resources/dbedgerules/DbEdgeRules_test.json @@ -32,6 +32,39 @@ "delete-other-v": "${direction}", "SVC-INFRA": "NONE", "prevent-delete": "NONE" + }, + { + "from": "test-parent", + "to": "test-child", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains-other-v": "${direction}", + "delete-other-v": "NONE", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "test-cousin", + "to": "test-child", + "label": "annoys", + "direction": "OUT", + "multiplicity": "One2Many", + "contains-other-v": "NONE", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" + }, + { + "from": "test-child", + "to": "test-grandchild", + "label": "has", + "direction": "OUT", + "multiplicity": "One2Many", + "contains-other-v": "${direction}", + "delete-other-v": "${direction}", + "SVC-INFRA": "NONE", + "prevent-delete": "NONE" } ] } \ No newline at end of file -- 2.16.6