Add v23 schema to onap
[aai/schema-service.git] / aai-schema / src / main / resources / onap / dbedgerules / v23 / DbEdgeRules_ccvpn_v23.json
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v23/DbEdgeRules_ccvpn_v23.json b/aai-schema/src/main/resources/onap/dbedgerules/v23/DbEdgeRules_ccvpn_v23.json
new file mode 100644 (file)
index 0000000..0c7e77c
--- /dev/null
@@ -0,0 +1,537 @@
+
+{
+  "rules": [
+       {
+               "from": "allotted-resource",
+               "to": "p-interface",
+               "label": "org.onap.relationships.inventory.Uses",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"AAI-1925 For CCVPN Usecase"
+       },
+       {
+               "from": "vpn-binding",
+               "to": "p-interface",
+               "label": "org.onap.relationships.inventory.BindsTo",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "sp-partner",
+               "to": "service-instance",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "connectivity",
+               "to": "service-instance",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "connectivity",
+               "to": "vpn-binding",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "lan-port-config",
+               "to": "service-instance",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "lan-port-config",
+               "to": "dhcp-service",
+               "label": "org.onap.relationships.inventory.Uses",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "${direction}",
+               "delete-other-v": "${direction}",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "network-resource",
+               "to": "vpn-binding",
+               "label": "org.onap.relationships.inventory.Uses",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "pnf",
+               "to": "network-resource",
+               "label": "tosca.relationships.network.LinksTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "!${direction}",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "site-resource",
+               "to": "service-instance",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "site-resource",
+               "to": "allotted-resource",
+               "label": "org.onap.relationships.inventory.Uses",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "site-resource",
+               "to": "complex",
+               "label": "org.onap.relationships.inventory.Uses",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "sdwan-vpn",
+               "to": "service-instance",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "sdwan-vpn",
+               "to": "tenant",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "sdwan-vpn",
+               "to": "vpn-binding",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "device",
+               "to": "service-instance",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "device",
+               "to": "generic-vnf",
+               "label": "org.onap.relationships.inventory.Uses",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "sdwan-vpn",
+               "to": "generic-vnf",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+        {
+               "from": "connectivity",
+               "to": "generic-vnf",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+        {
+               "from": "uni",
+               "to": "generic-vnf",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "site-resource",
+               "to": "generic-vnf",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "wan-port-config",
+               "to": "generic-vnf",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "lan-port-config",
+               "to": "generic-vnf",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "wan-port-config",
+               "to": "service-instance",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "ext-aai-network",
+               "to": "esr-system-info",
+               "label": "org.onap.relationships.inventory.Uses",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "${direction}",
+               "delete-other-v": "${direction}",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "logical-link",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "vpn-binding",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "pnf",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "connectivity",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "lan-port-config",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "network-resource",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "site-resource",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "sdwan-vpn",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "device",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "wan-port-config",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+        {
+               "from": "tunnel-termination-point",
+               "to": "pnf",
+               "label": "tosca.relationships.network.BindsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "!${direction}",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "p-interface",
+               "to": "tunnel-termination-point",
+               "label": "tosca.relationships.network.BindsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "!${direction}",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "p-interface",
+               "to": "interlayer-attachment",
+               "label": "tosca.relationships.network.LinksTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "!${direction}",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+
+       },
+       {
+               "from": "tunnel-termination-point",
+               "to": "interlayer-attachment",
+               "label": "tosca.relationships.network.LinksTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "!${direction}",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+
+       },
+       {
+               "from": "uni",
+               "to": "p-interface",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "logical-link",
+               "to": "te-link-attribute",
+               "label": "tosca.relationships.network.LinksTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "!${direction}",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+
+       },
+       {
+               "from": "label-restriction",
+               "to": "te-link-attribute",
+               "label": "tosca.relationships.network.LinksTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "!${direction}",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+
+       },
+        {
+                "from": "bandwidth-attribute",
+                "to": "p-interface",
+                "label": "org.onap.relationships.inventory.BelongsTo",
+                "direction": "OUT",
+                "multiplicity": "MANY2ONE",
+                "contains-other-v": "!${direction}",
+                "delete-other-v": "!${direction}",
+                "prevent-delete": "NONE",
+                "default": "true",
+                "description":"For MDONS usecase"
+        },
+        {
+                "from": "available-bandwidth",
+                "to": "bandwidth-attribute",
+                "label": "org.onap.relationships.inventory.BelongsTo",
+                "direction": "OUT",
+                "multiplicity": "MANY2ONE",
+                "contains-other-v": "!${direction}",
+                "delete-other-v": "!${direction}",
+                "prevent-delete": "NONE",
+                "default": "true",
+                "description":"For MDONS usecase"
+        }
+  ]
+}