generic-resource-api DG enhancement
[sdnc/oam.git] / platform-logic / restapi-templates / src / main / json / vf-module-assign.json
diff --git a/platform-logic/restapi-templates/src/main/json/vf-module-assign.json b/platform-logic/restapi-templates/src/main/json/vf-module-assign.json
new file mode 100644 (file)
index 0000000..c6e4b31
--- /dev/null
@@ -0,0 +1,279 @@
+{
+    "vf-module": [{
+        "vf-module-id": ${vf-module-topology-operation-input.vf-module-information.vf-module-id},
+        "vf-module-data": {
+            "sdnc-request-header": {
+                "svc-request-id": ${vf-module-data.sdnc-request-header.svc-request-id},
+                "svc-action": ${vf-module-data.sdnc-request-header.svc-action},
+                "svc-notification-url": ${vf-module-data.sdnc-request-header.svc-notification-url}
+            },
+            "request-information": {
+                "request-id": ${vf-module-data.request-information.request-id},
+                "request-action": ${vf-module-data.request-information.request-action},
+                "source": ${vf-module-data.request-information.source},
+                "notification-url": ${vf-module-data.request-information.notification-url},
+                "order-number": ${vf-module-data.request-information.order-number},
+                "order-version": ${vf-module-data.request-information.order-version}
+            },
+            "service-information": {
+                "service-id": ${vf-module-data.service-information.service-id},
+                "subscription-service-type": ${vf-module-data.service-information.subscription-service-type},
+                "onap-model-information": {
+                    "model-invariant-uuid": ${vf-module-data.service-information.onap-model-information.model-invariant-uuid},
+                    "model-customization-uuid": ${vf-module-data.service-information.onap-model-information.model-customization-uuid},
+                    "model-uuid": ${vf-module-data.service-information.onap-model-information.model-uuid},
+                    "model-version": ${vf-module-data.service-information.onap-model-information.model-version},
+                    "model-name": ${vf-module-data.service-information.onap-model-information.model-name}
+                },
+                "service-instance-id": ${vf-module-data.service-information.service-instance-id},
+                "global-customer-id": ${vf-module-data.service-information.global-customer-id},
+                "subscriber-name": ${vf-module-data.service-information.subscriber-name}
+            },
+            "vnf-information": {
+                "vnf-id": ${vf-module-data.vnf-information.vnf-id},
+                "vnf-type": ${vf-module-data.vnf-information.vnf-type},
+                "vnf-name": ${vf-module-data.vnf-information.vnf-name},
+                "onap-model-information": {
+                    "model-invariant-uuid": ${vf-module-data.vnf-information.onap-model-information.model-invariant-uuid},
+                    "model-customization-uuid": ${vf-module-data.vnf-information.onap-model-information.model-customization-uuid},
+                    "model-uuid": ${vf-module-data.vnf-information.onap-model-information.model-uuid},
+                    "model-version": ${vf-module-data.vnf-information.onap-model-information.model-version},
+                    "model-name": ${vf-module-data.vnf-information.onap-model-information.model-name}
+                }
+            },
+            "vf-module-information": {
+                "vf-module-id": ${vf-module-data.vf-module-information.vf-module-id},
+                "vf-module-type": ${vf-module-data.vf-module-information.vf-module-type},
+                               "from-preload": ${vf-module-data.vf-module-information.from-preload},
+                "onap-model-information": {
+                    "model-invariant-uuid": ${vf-module-data.vf-module-information.onap-model-information.model-invariant-uuid},
+                    "model-customization-uuid": ${vf-module-data.vf-module-information.onap-model-information.model-customization-uuid},
+                    "model-uuid": ${vf-module-data.vf-module-information.onap-model-information.model-uuid},
+                    "model-version": ${vf-module-data.vf-module-information.onap-model-information.model-version},
+                    "model-name": ${vf-module-data.vf-module-information.onap-model-information.model-name}
+                }
+            },
+            "vf-module-request-input": {
+                "request-version": ${vf-module-data.vf-module-request-input.request-version},
+                "vf-module-name": ${vf-module-data.vf-module-request-input.vf-module-name},
+                "tenant": ${vf-module-data.vf-module-request-input.tenant},
+                "aic-cloud-region": ${vf-module-data.vf-module-request-input.aic-cloud-region},
+                "aic-clli": ${vf-module-data.vf-module-request-input.aic-clli},
+                "vf-module-input-parameters": {
+                    "param": [
+${repeat:vf-module-data.vf-module-request-input.vf-module-input-parameters.param_length:
+                        {
+                            "name": ${vf-module-data.vf-module-request-input.vf-module-input-parameters.param[${1}].name},
+                            "value": ${vf-module-data.vf-module-request-input.vf-module-input-parameters.param[${1}].value}
+                        },
+}
+                    ]
+                }
+            },
+            "vf-module-topology": {
+                "vf-module-topology-identifier": {
+                    "vf-module-id": ${vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-id},
+                    "vf-module-name": ${vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-name},
+                    "vf-module-type": ${vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-type}
+                },
+                "tenant": ${vf-module-data.vf-module-topology.tenant},
+                "aic-cloud-region": ${vf-module-data.vf-module-topology.aic-cloud-region},
+                "cloud-owner": ${vf-module-data.vf-module-topology.cloud-owner},
+                "aic-clli": ${vf-module-data.vf-module-topology.aic-clli},
+                "onap-model-information": {
+                    "model-invariant-uuid": ${vf-module-data.vf-module-topology.onap-model-information.model-invariant-uuid},
+                    "model-customization-uuid": ${vf-module-data.vf-module-topology.onap-model-information.model-customization-uuid},
+                    "model-uuid": ${vf-module-data.vf-module-topology.onap-model-information.model-uuid},
+                    "model-version": ${vf-module-data.vf-module-topology.onap-model-information.model-version},
+                    "model-name": ${vf-module-data.vf-module-topology.onap-model-information.model-name}
+                },
+                "vf-module-assignments": {
+                                       "vf-module-status": ${vf-module-data.vf-module-topology.vf-module-assignments.vf-module-status},
+                    "vms": {
+                        "vm": [
+${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm_length:
+                            {
+                                "vm-type": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-type},
+                                "onap-model-information": {
+                                    "model-invariant-uuid": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].onap-model-information.model-invariant-uuid},
+                                    "model-customization-uuid": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].onap-model-information.model-customization-uuid},
+                                    "model-uuid": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].onap-model-information.model-uuid},
+                                    "model-version": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].onap-model-information.model-version},
+                                    "model-name": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].onap-model-information.model-name}
+                                },
+                                                               "nfc-naming-code": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].nfc-naming-code},
+                                                               "vm-type-tag": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-type-tag},
+                                                               "vm-count": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-count},
+                                "vm-names": {
+                                                                       "vm-name": [
+${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vm-name_length:
+                                                                               ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vm-name[${2}]},
+}
+                                                                       ],
+                                    "vnfc-names": [
+${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names_length:
+                                        {
+                                            "vnfc-name": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-name},
+                                            "vnfc-networks": {
+                                                "vnfc-network-data": [
+${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data_length:
+                                                    {
+                                                        "vnfc-network-role": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].vnfc-network-role},
+                                                        "vnfc-type": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].vnfc-type},
+                                                        "connection-point": {
+                                                            "connection-point-id": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].connection-point.connection-point-id},
+                                                            "port-id": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].connection-point.port-id},
+                                                            "vlan-data": [
+${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].connection-point.vlan-data_length:
+                                                               {
+                                                                       "vlan-uuid": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].connection-point.vlan-data[${4}].vlan-uuid},
+                                                                       "vlan-tag-id": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].connection-point.vlan-data[${4}].vlan-tag-id},
+                                                                       "vlan-tag-description": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].connection-point.vlan-data[${4}].vlan-tag-description},
+                                                                       "vlan-role": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].connection-point.vlan-data[${4}].vlan-role}
+                                                               },
+}
+                                                               ]
+                                                       },
+                                                                                                               "vnfc-subnet": {
+                                                                                                                       "vnfc-subnet-role": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].vnfc-subnet.vnfc-subnet-role},
+                                                                                                                       "vnfc-ip-assignments": [
+${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].vnfc-subnet.vnfc-ip-assignments_length:
+                                                                                                                               {
+                                                                                                                                       "vnfc-address-family": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].vnfc-subnet.vnfc-ip-assignments[${4}].vnfc-ip-assignments},
+                                                                                                                                       "vnfc-subnet-dhcp": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].vnfc-subnet.vnfc-ip-assignments[${4}].vnfc-subnet-dhcp},
+                                                                                                                                       "vnfc-subnet-ip-count": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].vnfc-subnet.vnfc-ip-assignments[${4}].vnfc-subnet-ip-count},
+                                                                                                                                       "vnfc-subnet-ip": [
+${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].vnfc-subnet.vnfc-ip-assignments[${4}].vnfc-subnet-ip_length:
+                                                                                                                                               {
+                                                                                                                                                       "vnfc-ip-address": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].vnfc-subnet.vnfc-ip-assignments[${4}].vnfc-subnet-ip[${5}].vnfc-ip-address},
+                                                                                                                                                       "vnfc-client-key": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].vnfc-subnet.vnfc-ip-assignments[${4}].vnfc-subnet-ip[${5}].vnfc-client-key},
+                                                                                                                                                       "ip-type": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-names.vnfc-names[${2}].vnfc-networks.vnfc-network-data[${3}].vnfc-subnet.vnfc-ip-assignments[${4}].vnfc-subnet-ip[${5}].ip-type}
+                                                                                                                                               }
+}
+                                                                                                                                               ]
+                                                                                                                               }
+}
+                                                                                                                       ]
+                                                                                                               }
+                                                                                                       },
+}
+                                                ]
+                                                                                       }
+                                                                               },
+}
+                                    ]
+                                },
+                                                               "vm-networks": {
+                                                                       "vm-network": [
+${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network_length:
+                                                                               {
+                                                                                       "network-role": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].network-role},
+                                                                                       "network-role-tag": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].network-role-tag},
+                                                                                       "network-information-items": {
+                                                                                               "network-information-item": [
+${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].network-information-items.network-information-item_length:
+                                                                                                       {
+                                                                                                               "ip-version": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].network-information-items.network-information-item[${3}].ip-version},
+                                                                                                               "use-dhcp": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].network-information-items.network-information-item[${3}].use-dhcp},
+                                                                                                               "ip-count": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].network-information-items.network-information-item[${3}].ip-count},
+                                                                                                               "network-ips": {
+                                                                                                                       "network-ip": [
+${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].network-information-items.network-information-item[${3}].network-ips.network-ip_length:
+                                                                                                                               ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].network-information-items.network-information-item[${3}].network-ips.network-ip[${4}]},
+}
+                                                                                                                       ]
+                                                                                                               }
+                                                                                                       },
+}
+                                                                                               ]
+                                                                                       },
+                                                                                       "mac-addresses": {
+                                                                                               "mac-address": [
+${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].mac-addresses.mac-address_length:
+                                                                                                       ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].mac-addresses.mac-address[${3}]},
+}
+                                                                                               ]
+                                                                                       },
+                                                                                       "floating-ips": {
+                                                                                               "floating-ip-v4": [
+${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].floating-ips.floating-ip-v4_length:
+                                                                                                       ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].floating-ips.floating-ip-v4[${3}]},
+}
+                                                                                               ],
+                                                                                               "floating-ip-v6": [
+${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].floating-ips.floating-ip-v6_length:
+                                                                                                       ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].floating-ips.floating-ip-v6[${3}]},
+}
+                                                                                               ]
+                                                                                       },
+                                                                                       "interface-route-prefixes": {
+                                                                                               "interface-route-prefix": [
+${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].interface-route-prefixes.interface-route-prefix:
+                                                                                                       ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].interface-route-prefixes.interface-route-prefix[${3}]},
+}
+                                                                                               ]
+                                                                                       },
+                                                                                       "is-trunked": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].is-trunked},
+                                                                                       "segmentation-id": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].segmentation-id},
+                                                                                       "related-networks": {
+                                                                                               "related-network": [
+${repeat:vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].related-networks.related-network_length:
+                                                                                                       {
+                                                                                                               "network-id": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].related-networks.related-network[${3}].network-id},
+                                                                                                               "network-role": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].related-networks.related-network[${3}].network-role},
+                                                                                                               "vlan-tags": {
+                                                                                                                       "vlan-interface": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].related-networks.related-network[${3}].vlan-tags.vlan-interface},
+                                                                                                                       "upper-tag-id": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].related-networks.related-network[${3}].vlan-tags.upper-tag-id},
+                                                                                                                       "lower-tag-id": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].related-networks.related-network[${3}].vlan-tags.lower-tag-id},
+                                                                                                                       "is-private": ${vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[${1}].vm-networks.vm-network[${2}].related-networks.related-network[${3}].vlan-tags.is-private}
+                                                                                                               }
+                                                                                                       },
+}
+                                                                                               ]
+                                                                                       }
+                                                                               },
+}
+                                                                       ]
+                                                               }
+                                                       },
+}
+                        ]
+                    }
+                },
+                "vf-module-parameters": {
+                    "param": [
+${repeat:vf-module-data.vf-module-topology.vf-module-parameters.param_length:
+                        {
+                            "name": ${vf-module-data.vf-module-topology.vf-module-parameters.param[${1}].name},
+                            "value": ${vf-module-data.vf-module-topology.vf-module-parameters.param[${1}].value},
+                            "resource-resolution-data": {
+                                "resource-key": [
+${repeat:vf-module-data.vf-module-topology.vf-module-parameters.param[${1}].resource-resolution-data.resource-key_length:
+                                    {
+                                        "name": ${vf-module-data.vf-module-topology.vf-module-parameters.param[${1}].resource-resolution-data.resource-key[${2}].name},
+                                        "value": ${vf-module-data.vf-module-topology.vf-module-parameters.param[${1}].resource-resolution-data.resource-key[${2}].value}
+                                    },
+}
+                                ],
+                                "status": ${vf-module-data.vf-module-topology.vf-module-parameters.param[${1}].resource-resolution-data.status},
+                                "capability-name": ${vf-module-data.vf-module-topology.vf-module-parameters.param[${1}].resource-resolution-data.capability-name}
+                            },
+                        },
+}
+                    ]
+                },
+                "sdnc-generated-cloud-resources": ${vf-module-data.vf-module-topology.sdnc-generated-cloud-resources}
+            },
+            "vf-module-level-oper-status": {
+                "order-status": ${vf-module-data.vf-module-level-oper-status.order-status},
+                "last-rpc-action": ${vf-module-data.vf-module-level-oper-status.last-rpc-action},
+                "last-action": ${vf-module-data.vf-module-level-oper-status.last-action},
+                "last-svc-request-id": ${vf-module-data.vf-module-level-oper-status.last-svc-request-id},
+                "last-order-status": ${vf-module-data.vf-module-level-oper-status.last-order-status},
+                "create-timestamp": ${vf-module-data.vf-module-level-oper-status.create-timestamp},
+                "modify-timestamp": ${vf-module-data.vf-module-level-oper-status.modify-timestamp}
+            }
+        }
+    }]
+}
+