contains-other-v no longer implies delete-other-v 15/25115/4
authorThreefoot, Jane (jt6620) <jt6620@att.com>
Tue, 28 Nov 2017 19:02:53 +0000 (14:02 -0500)
committerThreefoot, Jane (jt6620) <jt6620@att.com>
Tue, 28 Nov 2017 20:06:53 +0000 (15:06 -0500)
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) <jt6620@att.com>
aai-core/src/main/java/org/onap/aai/serialization/engines/query/GraphTraversalQueryEngine.java
aai-core/src/main/resources/dbedgerules/DbEdgeRules_v10.json
aai-core/src/main/resources/dbedgerules/DbEdgeRules_v11.json
aai-core/src/main/resources/dbedgerules/DbEdgeRules_v12.json
aai-core/src/main/resources/dbedgerules/DbEdgeRules_v8.json
aai-core/src/main/resources/dbedgerules/DbEdgeRules_v9.json
aai-core/src/test/java/org/onap/aai/serialization/db/EdgeRulesTest.java
aai-core/src/test/java/org/onap/aai/serialization/engines/query/GraphTraversalQueryEngineTest.java [new file with mode: 0644]
aai-core/src/test/resources/dbedgerules/DbEdgeRules_test.json

index 872b0c5..692fd53 100644 (file)
@@ -113,14 +113,8 @@ public class GraphTraversalQueryEngine extends QueryEngine {
                GraphTraversal<Vertex, Vertex> 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()
                                        )
                                );
                
index 7c9cf4b..1f41e2d 100644 (file)
+{"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
index 1108555..06eb558 100644 (file)
+{"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",
                        "contains-other-v": "${direction}",
                        "delete-other-v": "${direction}",
                        "SVC-INFRA": "NONE",
-                       "prevent-delete": "NONE"
+                       "prevent-delete": "NONE",
+                       "default": "true"
                },
                {
                        "from": "esr-vnfm",
                        "contains-other-v": "${direction}",
                        "delete-other-v": "${direction}",
                        "SVC-INFRA": "NONE",
-                       "prevent-delete": "NONE"
+                       "prevent-delete": "NONE",
+                       "default": "true"
                },
                {
                        "from": "esr-thirdparty-sdnc",
                        "contains-other-v": "${direction}",
                        "delete-other-v": "${direction}",
                        "SVC-INFRA": "NONE",
-                       "prevent-delete": "NONE"
+                       "prevent-delete": "NONE",
+                       "default": "true"
                },
                {
                        "from": "esr-thirdparty-sdnc",
                        "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
-                       "prevent-delete": "NONE"
+                       "prevent-delete": "NONE",
+                       "default": "true"
                },
                {
                        "from": "cloud-region",
                        "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
index 3d0f501..4e14995 100644 (file)
+{"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",
                        "contains-other-v": "${direction}",
                        "delete-other-v": "${direction}",
                        "SVC-INFRA": "NONE",
-                       "prevent-delete": "NONE"
+                       "prevent-delete": "NONE",
+                       "default": "true"
                },
                {
                        "from": "esr-vnfm",
                        "contains-other-v": "${direction}",
                        "delete-other-v": "${direction}",
                        "SVC-INFRA": "NONE",
-                       "prevent-delete": "NONE"
+                       "prevent-delete": "NONE",
+                       "default": "true"
                },
                {
                        "from": "esr-thirdparty-sdnc",
                        "contains-other-v": "${direction}",
                        "delete-other-v": "${direction}",
                        "SVC-INFRA": "NONE",
-                       "prevent-delete": "NONE"
+                       "prevent-delete": "NONE",
+                       "default": "true"
                },
                {
                        "from": "esr-thirdparty-sdnc",
                        "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
-                       "prevent-delete": "NONE"
+                       "prevent-delete": "NONE",
+                       "default": "true"
                },
                {
                        "from": "cloud-region",
                        "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
index 6d5b06f..c78d427 100644 (file)
+{"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
index 88801e4..82d995d 100644 (file)
+{"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
index 4bf6a6c..e007f02 100644 (file)
@@ -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<String, EdgeRule> 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 (file)
index 0000000..4e3b7d0
--- /dev/null
@@ -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<Vertex> parentExpected = new ArrayList<>(Arrays.asList(parent));
+               List<Vertex> childExpected = new ArrayList<>(Arrays.asList(child, grandchild));
+               List<Vertex> cousinExpected = new ArrayList<>(Arrays.asList(cousin, child, grandchild));
+               
+               GraphTraversalQueryEngine engine = new GraphTraversalQueryEngine(g);
+               
+               //tests
+               List<Vertex> parentDeletes = engine.findDeletable(parent);
+               assertTrue(parentExpected.containsAll(parentDeletes) && parentDeletes.containsAll(parentExpected));
+               
+               List<Vertex> childDeletes = engine.findDeletable(child);
+               assertTrue(childExpected.containsAll(childDeletes) && childDeletes.containsAll(childExpected));
+               
+               List<Vertex> cousinDeletes = engine.findDeletable(cousin);
+               assertTrue(cousinExpected.containsAll(cousinDeletes) && cousinDeletes.containsAll(cousinExpected));
+       }
+}
index 0031d1f..957129b 100644 (file)
                        "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