Fix multiplicity between service-instance and pnf
[aai/aai-common.git] / aai-core / src / main / resources / dbedgerules / DbEdgeRules_v11.json
index 9ebd047..1108555 100644 (file)
@@ -1,12 +1,56 @@
 {
        "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": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "!${direction}"
@@ -17,7 +61,7 @@
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "!${direction}"
                        "label": "supportsServiceCapability",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "!${direction}"
                },
+               {
+                       "from": "esr-ems",
+                       "to": "esr-system-info",
+                       "label": "has",
+                       "direction": "OUT",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "${direction}",
+                       "delete-other-v": "${direction}",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "NONE"
+               },
+               {
+                       "from": "esr-vnfm",
+                       "to": "esr-system-info",
+                       "label": "has",
+                       "direction": "OUT",
+                       "multiplicity": "One2One",
+                       "contains-other-v": "${direction}",
+                       "delete-other-v": "${direction}",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "NONE"
+               },
+               {
+                       "from": "esr-thirdparty-sdnc",
+                       "to": "esr-system-info",
+                       "label": "has",
+                       "direction": "OUT",
+                       "multiplicity": "One2One",
+                       "contains-other-v": "${direction}",
+                       "delete-other-v": "${direction}",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "NONE"
+               },
+               {
+                       "from": "esr-thirdparty-sdnc",
+                       "to": "pnf",
+                       "label": "has",
+                       "direction": "OUT",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "NONE"
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "esr-system-info",
+                       "label": "has",
+                       "direction": "OUT",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "${direction}",
+                       "delete-other-v": "${direction}",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "NONE"
+               },
                {
                        "from": "cloud-region",
                        "to": "complex",
                        "label": "locatedIn",
                        "direction": "OUT",
                        "multiplicity": "Many2One",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "!${direction}"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "!${direction}",
                        "prevent-delete": "${direction}"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "${direction}"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "${direction}"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "${direction}"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "${direction}"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "${direction}"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
-                       "uses-resource": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "${direction}"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "${direction}"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "${direction}"
                        "label": "isMemberOf",
                        "direction": "OUT",
                        "multiplicity": "Many2One",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "hasCtagPool",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "usesL3Network",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "supportsAvailabilityZone",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "!${direction}"
                        "label": "subscribesTo",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "!${direction}",
                        "prevent-delete": "NONE"
                        "label": "existsIn",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "!${direction}"
                        "label": "hasLInterface",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "hasAvailabilityZone",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "!${direction}"
                        "label": "hasLAGInterface",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "usesL3Network",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
-                       "uses-resource": "${direction}",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "runsOnPserver",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
-                       "uses-resource": "${direction}",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "!${direction}"
                        "label": "usesVnfImage",
                        "direction": "OUT",
                        "multiplicity": "Many2One",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "!${direction}"
                        "label": "runsOnVserver",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "NONE",
-                       "uses-resource": "${direction}",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "hasInstance",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
-                       "uses-resource": "${direction}",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "hasSitePairSet",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "hasNetworkProfile",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "hostedOn",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "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": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "!${direction}"
                },
-               {
-                       "from": "image",
-                       "to": "metadata",
-                       "label": "hasMetaData",
-                       "direction": "OUT",
-                       "multiplicity": "Many2Many",
-                       "contains": "${direction}",
-                       "delete-other-v": "NONE",
-                       "SVC-INFRA": "NONE",
-                       "prevent-delete": "NONE"
-               },
                {
                        "from": "image",
                        "to": "metadatum",
                        "label": "hasMetaDatum",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "isMemberOf",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "isMemberOf",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "hasIpAddress",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "hasIpAddress",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "usesLogicalLink",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "${direction}",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "${direction}",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "hasVlan",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2One",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "isMemberOf",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "isMemberOf",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "isMemberOf",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "isMemberOf",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "isMemberOf",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "!${direction}"
                        "label": "isMemberOf",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "!${direction}"
                        "label": "usesVpnBinding",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "!${direction}"
                        "label": "memberOf",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "hasSubnet",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "!${direction}",
                        "prevent-delete": "NONE"
                        "label": "hasInstance",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "!${direction}",
                        "prevent-delete": "NONE"
                        "label": "hasCtagAssignment",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "usesLAGLink",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
-                       "uses-resource": "${direction}",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "${direction}",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "usesPInterface",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
-                       "uses-resource": "${direction}",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "hasLInterface",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "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": "NONE",
-                       "uses-resource": "${direction}",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "bridgedTo",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "startsWith",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "isA",
                        "direction": "OUT",
                        "multiplicity": "Many2One",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "!${direction}"
                        "label": "hasMetaData",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "connectsTo",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "connectsTo",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "relatedTo",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "!${direction}"
                        "label": "startsWith",
                        "direction": "OUT",
                        "multiplicity": "One2One",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "connectsTo",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "isA",
                        "direction": "OUT",
                        "multiplicity": "Many2One",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "!${direction}"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "targets",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "!${direction}"
                        "label": "hasLInterface",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "definedFor",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "!${direction}"
                        "label": "supportsServiceCapability",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "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": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "usesPhysicalLink",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "${direction}",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "usesLogicalLink",
                        "direction": "OUT",
                        "multiplicity": "Many2One",
-                       "contains": "NONE",
+                       "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": "${direction}",
-                       "uses-resource": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "locatedIn",
                        "direction": "OUT",
                        "multiplicity": "Many2One",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "!${direction}"
                        "label": "locatedIn",
                        "direction": "OUT",
                        "multiplicity": "Many2One",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "existsIn",
                        "direction": "OUT",
                        "multiplicity": "Many2One",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "!${direction}"
                        "label": "hasLAGInterface",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "hasPinterface",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
-                       "uses-resource": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "isMemberOf",
                        "direction": "OUT",
                        "multiplicity": "Many2One",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "hasPinterface",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
-                       "uses-resource": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "locatedIn",
                        "direction": "OUT",
                        "multiplicity": "Many2One",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "!${direction}"
                        "label": "isMemberOf",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "isMemberOf",
                        "direction": "OUT",
                        "multiplicity": "Many2One",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "locatedIn",
                        "direction": "OUT",
                        "multiplicity": "Many2One",
-                       "contains": "NONE",
-                       "uses-resource": "${direction}",
+                       "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",
                        "label": "hasIPAGFacingVLAN",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
-                       "uses-resource": "${direction}",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "to": "pnf",
                        "label": "uses",
                        "direction": "OUT",
-                       "multiplicity": "One2Many",
-                       "contains": "NONE",
-                       "uses-resource": "${direction}",
+                       "multiplicity": "Many2Many",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "hasInstance",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "!${direction}",
                        "prevent-delete": "NONE"
                        "label": "hasRoutingInstance",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "hasSitePair",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "hasClassOfService",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "usesL3Network",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "relatedTo",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "owns",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "!${direction}",
                        "prevent-delete": "${direction}"
                        "label": "hasAvailabilityZone",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "!${direction}"
                        "label": "locatedIn",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "!${direction}"
                        "label": "hasPortGroup",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
-                       "uses-resource": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "runsOnVserver",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
-                       "uses-resource": "${direction}",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "hasServiceInstance",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "!${direction}",
                        "prevent-delete": "NONE"
                        "label": "hasVNF",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "!${direction}",
                        "prevent-delete": "NONE"
                        "label": "hasIpAddress",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "hasIpAddress",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                },
-               {
-                       "from": "vpe",
-                       "to": "complex",
-                       "label": "locatedIn",
-                       "direction": "OUT",
-                       "multiplicity": "Many2Many",
-                       "contains": "NONE",
-                       "delete-other-v": "NONE",
-                       "SVC-INFRA": "NONE",
-                       "prevent-delete": "!${direction}"
-               },
-               {
-                       "from": "vpe",
-                       "to": "ctag-pool",
-                       "label": "usesCtagPool",
-                       "direction": "OUT",
-                       "multiplicity": "Many2Many",
-                       "contains": "NONE",
-                       "delete-other-v": "NONE",
-                       "SVC-INFRA": "NONE",
-                       "prevent-delete": "NONE"
-               },
-               {
-                       "from": "vpe",
-                       "to": "l-interface",
-                       "label": "hasLInterface",
-                       "direction": "OUT",
-                       "multiplicity": "Many2Many",
-                       "contains": "${direction}",
-                       "delete-other-v": "NONE",
-                       "SVC-INFRA": "NONE",
-                       "prevent-delete": "NONE"
-               },
-               {
-                       "from": "vpe",
-                       "to": "lag-interface",
-                       "label": "hasLAGInterface",
-                       "direction": "OUT",
-                       "multiplicity": "Many2Many",
-                       "contains": "${direction}",
-                       "delete-other-v": "NONE",
-                       "SVC-INFRA": "NONE",
-                       "prevent-delete": "NONE"
-               },
-               {
-                       "from": "vpe",
-                       "to": "vserver",
-                       "label": "runsOnVserver",
-                       "direction": "OUT",
-                       "multiplicity": "Many2Many",
-                       "contains": "NONE",
-                       "uses-resource": "${direction}",
-                       "delete-other-v": "NONE",
-                       "SVC-INFRA": "NONE",
-                       "prevent-delete": "NONE"
-               },
                {
                        "from": "vpls-pe",
                        "to": "complex",
                        "label": "locatedIn",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "!${direction}"
                        "label": "usesCtagPool",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "hasPinterface",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "hasLAGinterface",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "hasFlavor",
                        "direction": "OUT",
                        "multiplicity": "Many2One",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "!${direction}"
                        "label": "hasImage",
                        "direction": "OUT",
                        "multiplicity": "Many2One",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "!${direction}"
                },
-               {
-                       "from": "vserver",
-                       "to": "ipaddress",
-                       "label": "hasIpAddress",
-                       "direction": "OUT",
-                       "multiplicity": "Many2Many",
-                       "contains": "${direction}",
-                       "uses-resource": "${direction}",
-                       "delete-other-v": "NONE",
-                       "SVC-INFRA": "NONE",
-                       "prevent-delete": "NONE"
-               },
                {
                        "from": "vserver",
                        "to": "l-interface",
                        "label": "hasLInterface",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "runsOnPserver",
                        "direction": "OUT",
                        "multiplicity": "Many2One",
-                       "contains": "NONE",
-                       "uses-resource": "${direction}",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "!${direction}"
                        "label": "hasVolume",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
-                       "uses-resource": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "hosts",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
-                       "uses-resource": "${direction}",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "One2One",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
-                       "uses-resource": "${direction}",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "hasMetaData",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "${direction}",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "dependsOn",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "NONE",
-                       "uses-resource": "${direction}",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "dependsOn",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "NONE",
-                       "uses-resource": "${direction}",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "contains",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "hasMetaData",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "contains",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
-                       "uses-resource": "${direction}",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "bridgedTo",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "bridgedTo",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "!${direction}"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
-                       "uses-resource": "${direction}",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "existsIn",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "!${direction}"
                        "label": "belongsTo",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "hasVigServer",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
-                       "uses-resource": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "Many2One",
-                       "contains": "NONE",
-                       "uses-resource": "${direction}",
+                       "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": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "isPartOf",
                        "direction": "OUT",
                        "multiplicity": "Many2One",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "${direction}",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "${direction}"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "${direction}",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "usesLogicalLink",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "${direction}",
                        "SVC-INFRA": "${direction}",
                        "prevent-delete": "NONE"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "isPartOf",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "isPartOf",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "isMemberOf",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "One2One",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "isPartOf",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "isMemberOf",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "isMemberOf",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2One",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "existsIn",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "!${direction}"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2Many",
-                       "contains": "${direction}",
-                       "delete-other-v": "NONE",
-                       "SVC-INFRA": "NONE",
-                       "prevent-delete": "NONE"
-               },
-               {
-                       "from": "vpe",
-                       "to": "entitlement",
-                       "label": "has",
-                       "direction": "OUT",
-                       "multiplicity": "One2Many",
-                       "contains": "${direction}",
-                       "delete-other-v": "NONE",
-                       "SVC-INFRA": "NONE",
-                       "prevent-delete": "NONE"
-               },
-               {
-                       "from": "vpe",
-                       "to": "license",
-                       "label": "has",
-                       "direction": "OUT",
-                       "multiplicity": "One2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "existsIn",
                        "direction": "OUT",
                        "multiplicity": "Many2One",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "!${direction}"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "belongsTo",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "!${direction}"
                        "label": "bindsTo",
                        "direction": "OUT",
                        "multiplicity": "One2One",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "locatedIn",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "!${direction}"
                        "label": "usesCtagPool",
                        "direction": "OUT",
                        "multiplicity": "Many2Many",
-                       "contains": "NONE",
+                       "contains-other-v": "NONE",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "has",
                        "direction": "OUT",
                        "multiplicity": "One2One",
-                       "contains": "${direction}",
+                       "contains-other-v": "${direction}",
                        "delete-other-v": "NONE",
                        "SVC-INFRA": "NONE",
                        "prevent-delete": "NONE"
                        "label": "uses",
                        "direction": "OUT",
                        "multiplicity": "Many2One",
-                       "contains": "NONE",
-                       "uses-resource": "${direction}",
+                       "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"
                }
        ]
 }