From edfd51b6ac224d8d4eef723f109c78a532684a74 Mon Sep 17 00:00:00 2001 From: "Cheung, Pat (kc1472)" Date: Wed, 4 Sep 2019 22:06:21 +0000 Subject: generic-resource-api DG enhancement Add vnf and vf-module async and concurrency support Issue-ID: SDNC-854 Signed-off-by: Cheung, Pat (kc1472) Change-Id: I2d1ebecca6661ef84d01994a77f5ec2f57c81497 Former-commit-id: 49752d7a66e8edf73e94fd2f7c6191dba1d2d2fc --- .../src/main/json/so-response.json | 10 + .../src/main/json/vf-module-assign.json | 279 +++++++++++++++++++++ .../src/main/json/vnf-data-assign.json | 250 ++++++++++++++++++ 3 files changed, 539 insertions(+) create mode 100644 platform-logic/restapi-templates/src/main/json/so-response.json create mode 100644 platform-logic/restapi-templates/src/main/json/vf-module-assign.json create mode 100644 platform-logic/restapi-templates/src/main/json/vnf-data-assign.json (limited to 'platform-logic/restapi-templates') diff --git a/platform-logic/restapi-templates/src/main/json/so-response.json b/platform-logic/restapi-templates/src/main/json/so-response.json new file mode 100644 index 00000000..2e47fb0f --- /dev/null +++ b/platform-logic/restapi-templates/src/main/json/so-response.json @@ -0,0 +1,10 @@ +{ + "service-information": { + "service-instance-id": ${so.service-instance-id}, + "service-type": ${so.service-type} + }, + "svc-request-id": ${so.svc-request-id}, + "response-code": ${so.response-code}, + "response-message": ${so.response-message}, + "ack-final-indicator": ${so.ack-final-indicator} +} 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 index 00000000..c6e4b31b --- /dev/null +++ b/platform-logic/restapi-templates/src/main/json/vf-module-assign.json @@ -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} + } + } + }] +} + diff --git a/platform-logic/restapi-templates/src/main/json/vnf-data-assign.json b/platform-logic/restapi-templates/src/main/json/vnf-data-assign.json new file mode 100644 index 00000000..74ac8f7f --- /dev/null +++ b/platform-logic/restapi-templates/src/main/json/vnf-data-assign.json @@ -0,0 +1,250 @@ +{ + "vnf": [{ + "vnf-id": ${vnf-topology-operation-input.vnf-information.vnf-id}, + "vnf-data": { + "sdnc-request-header": { + "svc-request-id": ${vnf-data.sdnc-request-header.svc-request-id}, + "svc-action": ${vnf-data.sdnc-request-header.svc-action}, + "svc-notification-url": ${vnf-data.sdnc-request-header.svc-notification-url} + }, + "request-information": { + "request-id": ${vnf-data.request-information.request-id}, + "request-action": ${vnf-data.request-information.request-action}, + "source": ${vnf-data.request-information.source}, + "notification-url": ${vnf-data.request-information.notification-url}, + "order-number": ${vnf-data.request-information.order-number}, + "order-version": ${vnf-data.request-information.order-version} + }, + "service-information": { + "service-id": ${vnf-data.service-information.service-id}, + "subscription-service-type": ${vnf-data.service-information.subscription-service-type}, + "onap-model-information": { + "model-invariant-uuid": ${vnf-data.service-information.onap-model-information.model-invariant-uuid}, + "model-customization-uuid": ${vnf-data.service-information.onap-model-information.model-customization-uuid}, + "model-uuid": ${vnf-data.service-information.onap-model-information.model-uuid}, + "model-version": ${vnf-data.service-information.onap-model-information.model-version}, + "model-name": ${vnf-data.service-information.onap-model-information.model-name} + }, + "service-instance-id": ${vnf-data.service-information.service-instance-id}, + "global-customer-id": ${vnf-data.service-information.global-customer-id}, + "subscriber-name": ${vnf-data.service-information.subscriber-name} + }, + "vnf-information": { + "vnf-id": ${vnf-data.vnf-information.vnf-id}, + "vnf-type": ${vnf-data.vnf-information.vnf-type}, + "vnf-name": ${vnf-data.vnf-information.vnf-name}, + "onap-model-information": { + "model-invariant-uuid": ${vnf-data.vnf-information.onap-model-information.model-invariant-uuid}, + "model-customization-uuid": ${vnf-data.vnf-information.onap-model-information.model-customization-uuid}, + "model-uuid": ${vnf-data.vnf-information.onap-model-information.model-uuid}, + "model-version": ${vnf-data.vnf-information.onap-model-information.model-version}, + "model-name": ${vnf-data.vnf-information.onap-model-information.model-name} + } + }, + "vnf-request-input": { + "request-version": ${vnf-data.vnf-request-input.request-version}, + "vnf-name": ${vnf-data.vnf-request-input.vnf-name}, + "tenant": ${vnf-data.vnf-request-input.tenant}, + "aic-cloud-region": ${vnf-data.vnf-request-input.aic-cloud-region}, + "cloud-owner": ${vnf-data.vnf-request-input.cloud-owner}, + "aic-clli": ${vnf-data.vnf-request-input.aic-clli}, + "vnf-networks": { + "vnf-network": [ +${repeat:vnf-data.vnf-request-input.vnf-networks.vnf-network_length: + { + "network-role": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].network-role}, + "network-name": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].network-name}, + "neutron-id": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].neutron-id}, + "network-id": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].network-id}, + "contrail-network-fqdn": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].contrail-network-fqdn}, + "subnets-data": { + "subnet-data": [ +${repeat:vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].subnets-data.subnet-data_length: + { + "sdnc-subnet-id": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].sdnc-subnet-id}, + "subnet-role": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].subnet-role}, + "subnet-name": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].subnet-name}, + "ip-version": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].ip-version}, + "subnet-id": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].subnet-id}, + "dhcp-enabled": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].dhcp-enabled}, + "network-start-address": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].network-start-address}, + "gateway-address": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].gateway-address}, + "cidr-mask": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].cidr-mask} + }, +} + ] + }, + "is-trunked": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].is-trunked}, + "segmentation-id": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].segmentation-id}, + "related-networks": { + "related-network": [ +${repeat:vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].related-networks.related-network_length: + { + "network-id": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].network-id}, + "network-role": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].network-role}, + "vlan-tags": { + "vlan-interface": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].vlan-tags.vlan-interface}, + "upper-tag-id": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].vlan-tags.upper-tag-id}, + "lower-tag-id": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].vlan-tags.lower-tag-id}, + "is-private": ${vnf-data.vnf-request-input.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].vlan-tags.is-private} + } + }, +} + ] + }, + }, +} + ] + }, + "vnf-network-instance-group-ids": [ +${repeat:vnf-data.vnf-request-input.vnf-network-instance-group-ids_length: + { + "vnf-network-instance-group-id": ${vnf-data.vnf-request-input.vnf-network-instance-group-ids[${1}].vnf-network-instance-group-id} + }, +} + ], + "vnf-input-parameters": { + "param": [ +${repeat:vnf-data.vnf-request-input.vnf-input-parameters.param_length: + { + "name": ${vnf-data.vnf-request-input.vnf-input-parameters.param[${1}].name}, + "value": ${vnf-data.vnf-request-input.vnf-input-parameters.param[${1}].value} + }, +} + ] + } + }, + "vnf-topology": { + "vnf-topology-identifier-structure": { + "vnf-id": ${vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id}, + "vnf-type": ${vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-type}, + "nf-type": ${vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-type}, + "nf-role": ${vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role}, + "nf-function": ${vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-function}, + "nf-code": ${vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-code}, + "vnf-name": ${vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name}, + }, + "tenant": ${vnf-data.vnf-topology.tenant}, + "aic-cloud-region": ${vnf-data.vnf-topology.aic-cloud-region}, + "cloud-owner": ${vnf-data.vnf-topology.cloud-owner}, + "aic-clli": ${vnf-data.vnf-topology.aic-clli}, + "onap-model-information": { + "model-invariant-uuid": ${vnf-data.vnf-topology.onap-model-information.model-invariant-uuid}, + "model-customization-uuid": ${vnf-data.vnf-topology.onap-model-information.model-customization-uuid}, + "model-uuid": ${vnf-data.vnf-topology.onap-model-information.model-uuid}, + "model-version": ${vnf-data.vnf-topology.onap-model-information.model-version}, + "model-name": ${vnf-data.vnf-topology.onap-model-information.model-name}, + }, + "vnf-resource-assignments": { + "vnf-status": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-status}, + "availability-zones": { + "availability-zone": [ +${repeat:vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone_length: + ${vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[${1}]}, +} + ] + }, + "vnf-networks": { + "vnf-network": [ +${repeat:vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length: + { + "network-role": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].network-role}, + "network-name": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].network-name}, + "neutron-id": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].neutron-id}, + "network-id": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].network-id}, + "contrail-network-fqdn": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].contrail-network-fqdn}, + "subnets-data": { + "subnet-data": [ +${repeat:vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].subnets-data.subnet-data_length: + { + "sdnc-subnet-id": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].sdnc-subnet-id}, + "subnet-role": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].subnet-role}, + "subnet-name": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].subnet-name}, + "ip-version": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].ip-version}, + "subnet-id": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].subnet-id}, + "dhcp-enabled": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].dhcp-enabled}, + "network-start-address": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].network-start-address}, + "gateway-address": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].gateway-address}, + "cidr-mask": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].subnets-data.subnet-data[${2}].cidr-mask} + }, +} + ] + }, + "is-trunked": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].is-trunked}, + "segmentation-id": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].segmentation-id}, + "related-networks": { + "related-network": [ +${repeat:vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].related-networks.related-network_length: + { + "network-id": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].network-id}, + "network-role": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].network-role}, + "vlan-tags": { + "vlan-interface": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].vlan-tags.vlan-interface}, + "upper-tag-id": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].vlan-tags.upper-tag-id}, + "lower-tag-id": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].vlan-tags.lower-tag-id}, + "is-private": ${vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[${1}].related-networks.related-network[${2}].vlan-tags.is-private} + } + }, +} + ] + } + }, +} + ] + } + }, + "vnf-parameters-data": { + "param": [ +${repeat:vnf-data.vnf-topology.vnf-parameters-data.param_length: + { + "name": ${vnf-data.vnf-topology.vnf-parameters-data.param[${1}].name}, + "value": ${vnf-data.vnf-topology.vnf-parameters-data.param[${1}].value} + }, +} + ] + }, + "sdnc-generated-cloud-resources": ${vnf-data.vnf-topology.sdnc-generated-cloud-resources}, + }, + "vnf-network-collections": { + "vnf-network-collection": [ +${repeat:vnf-data.vnf-network-collections.vnf-network-collection_length: + { + "network-instance-group-function": ${vnf-data.vnf-network-collections.vnf-network-collection[${1}].network-instance-group-function}, + "network-instance-group-id": ${vnf-data.vnf-network-collections.vnf-network-collection[${1}].network-instance-group-id}, + "network-collection-service-instance-id": ${vnf-data.vnf-network-collections.vnf-network-collection[${1}].network-collection-service-instance-id}, + "network-collection-customization-uuid": ${vnf-data.vnf-network-collections.vnf-network-collection[${1}].network-collection-customization-uuid}, + "networks": { + "network": [ +${repeat:vnf-data.vnf-network-collections.vnf-network-collection[${1}].networks.network_length: + { + "network-id": ${vnf-data.vnf-network-collections.vnf-network-collection[${1}].networks.network[${2}].network-id}, + "neutron-network-id": ${vnf-data.vnf-network-collections.vnf-network-collection[${1}].networks.network[${2}].neutron-network-id} + }, +} + ] + }, + "vnf-floating-ip": { + "ip-addresses": { + "ipv4-address": ${vnf-data.vnf-network-collections.vnf-network-collection[${1}].vnf-floating-ip.ip-addresses.ipv4-address}, + "ipv6-address": ${vnf-data.vnf-network-collections.vnf-network-collection[${1}].vnf-floating-ip.ip-addresses.ipv6-address}, + "vipv4-address": ${vnf-data.vnf-network-collections.vnf-network-collection[${1}].vnf-floating-ip.ip-addresses.vipv4-address}, + "vipv6-address": ${vnf-data.vnf-network-collections.vnf-network-collection[${1}].vnf-floating-ip.ip-addresses.vipv6-address} + } + } + }, +} + ] + }, + "vnf-level-oper-status": { + "order-status": ${vnf-data.vnf-level-oper-status.order-status}, + "last-rpc-action": ${vnf-data.vnf-level-oper-status.last-rpc-action}, + "last-action": ${vnf-data.vnf-level-oper-status.last-action}, + "last-svc-request-id": ${vnf-data.vnf-level-oper-status.last-svc-request-id}, + "last-order-status": ${vnf-data.vnf-level-oper-status.last-order-status}, + "create-timestamp": ${vnf-data.vnf-level-oper-status.create-timestamp}, + "modify-timestamp": ${vnf-data.vnf-level-oper-status.modify-timestamp} + } + } + }] +} + -- cgit 1.2.3-korg