diff options
Diffstat (limited to 'platform-logic/generic-resource-api/src')
13 files changed, 4757 insertions, 820 deletions
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-activate.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-activate.json new file mode 100644 index 00000000..c640ab5b --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-activate.json @@ -0,0 +1,816 @@ +[ + { + "id": "8213d9f3.3e3b78", + "type": "dgstart", + "name": "DGSTART", + "outputs": 1, + "x": 134.01040649414062, + "y": 78.01041412353516, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "3fd007b3.454158" + ] + ] + }, + { + "id": "3fd007b3.454158", + "type": "service-logic", + "name": "GENERIC-RESOURCE-API ${project.version}", + "module": "GENERIC-RESOURCE-API", + "version": "${project.version}", + "comments": "", + "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>", + "outputs": 1, + "x": 209.29611206054688, + "y": 118.24852561950684, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "f3d8ce84.4fd8" + ] + ] + }, + { + "id": "f3d8ce84.4fd8", + "type": "method", + "name": "method site-vnf-topology-operation-activate", + "xml": "<method rpc='site-vnf-topology-operation-activate' mode='sync'>\n", + "comments": "", + "outputs": 1, + "x": 230.43902587890625, + "y": 208.01041412353516, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "931047c0.e29ba8" + ] + ] + }, + { + "id": "931047c0.e29ba8", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 210.67707061767578, + "y": 379.67708587646484, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "87b79277.d3a8", + "443f31de.8f2cf", + "e48e518f.1dc2a", + "4a014615.6e9cf8", + "bf95d9ae.8087f8", + "c850e5af.e42fa8", + "b4c6f1a.73d561", + "d7008318.12e1b", + "3993fb6.79aca04", + "2b37bcac.68f084" + ] + ] + }, + { + "id": "87b79277.d3a8", + "type": "for", + "name": "for loop i - VNF input parameters", + "xml": "<for index='idx' start='0' end='`$ctx.vnf-data.vnf-request-input.vnf-input-parameters.param_length`' >\n", + "comments": "", + "outputs": 1, + "x": 663.1151428222656, + "y": 267.0782470703125, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "73aa520a.b2adbc" + ] + ] + }, + { + "id": "73aa520a.b2adbc", + "type": "block", + "name": "block", + "xml": "<block>\n", + "atomic": "false", + "comments": "", + "outputs": 1, + "x": 909.893337726593, + "y": 267.6338765351102, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "ac680e81.777c9", + "27ece0ee.53311", + "2e9d64a5.63180c", + "ad341ac7.a856e8", + "43160102.ca0c8", + "8a88d2d2.3cbb4" + ] + ] + }, + { + "id": "ac680e81.777c9", + "type": "switchNode", + "name": "switch name", + "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'name'`\">\n", + "comments": "", + "outputs": 1, + "x": 1115.1152267456055, + "y": 222.63385391235352, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "f0bc6f88.f42a7" + ] + ] + }, + { + "id": "f0bc6f88.f42a7", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1302.1152267456055, + "y": 218.63385391235352, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "a80ac0f1.029e7" + ] + ] + }, + { + "id": "a80ac0f1.029e7", + "type": "set", + "name": "set name", + "xml": "<set>\n<parameter name='prop.site.name' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1470.1152267456055, + "y": 219.23386001586914, + "z": "68309cb5.9fbe94", + "wires": [ + + ] + }, + { + "id": "27ece0ee.53311", + "type": "switchNode", + "name": "switch description", + "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'description'`\">\n", + "comments": "", + "outputs": 1, + "x": 1132.9549446105957, + "y": 265.63384914398193, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "3c96f97e.2329d6" + ] + ] + }, + { + "id": "3c96f97e.2329d6", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1319.9549446105957, + "y": 261.63384914398193, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "38a8969d.eda21a" + ] + ] + }, + { + "id": "38a8969d.eda21a", + "type": "set", + "name": "set description", + "xml": "<set>\n<parameter name='prop.site.description' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1481.2884254455566, + "y": 261.09500885009766, + "z": "68309cb5.9fbe94", + "wires": [ + + ] + }, + { + "id": "2e9d64a5.63180c", + "type": "switchNode", + "name": "switch location", + "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'location'`\">\n", + "comments": "", + "outputs": 1, + "x": 1123.04105758667, + "y": 308.0411911010742, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "4384d4ab.76bf6c" + ] + ] + }, + { + "id": "4384d4ab.76bf6c", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1310.04105758667, + "y": 304.0411911010742, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "3079a852.4cd8f8" + ] + ] + }, + { + "id": "3079a852.4cd8f8", + "type": "set", + "name": "set location", + "xml": "<set>\n<parameter name='prop.site.location' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1478.04105758667, + "y": 304.64119720458984, + "z": "68309cb5.9fbe94", + "wires": [ + + ] + }, + { + "id": "ad341ac7.a856e8", + "type": "switchNode", + "name": "switch id", + "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'id'`\">\n", + "comments": "", + "outputs": 1, + "x": 1113.0103759765625, + "y": 176.607177734375, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "653e71ed.565a9" + ] + ] + }, + { + "id": "653e71ed.565a9", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1300.0103759765625, + "y": 172.607177734375, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "2466a0b0.31d85" + ] + ] + }, + { + "id": "2466a0b0.31d85", + "type": "set", + "name": "set id", + "xml": "<set>\n<parameter name='prop.site.id' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1468.0103759765625, + "y": 173.20718383789062, + "z": "68309cb5.9fbe94", + "wires": [ + + ] + }, + { + "id": "43160102.ca0c8", + "type": "switchNode", + "name": "switch type", + "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'type'`\">\n", + "comments": "", + "outputs": 1, + "x": 1122.0103759765625, + "y": 351.60717010498047, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "5f80b289.c102cc" + ] + ] + }, + { + "id": "5f80b289.c102cc", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1309.0103759765625, + "y": 347.60717010498047, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "123b0821.89fa08" + ] + ] + }, + { + "id": "123b0821.89fa08", + "type": "set", + "name": "set type & sdwan.site", + "xml": "<set>\n<parameter name='prop.site.type' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n<parameter name='tmp.sdwan.site' value='true' />", + "comments": "", + "x": 1507.0103759765625, + "y": 347.2071838378906, + "z": "68309cb5.9fbe94", + "wires": [ + + ] + }, + { + "id": "8a88d2d2.3cbb4", + "type": "switchNode", + "name": "switch role", + "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'role'`\">\n", + "comments": "", + "outputs": 1, + "x": 1125.0103759765625, + "y": 394.60717010498047, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "dbc514.9b453af" + ] + ] + }, + { + "id": "dbc514.9b453af", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1312.0103759765625, + "y": 390.60717010498047, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "78dc31fa.1149c" + ] + ] + }, + { + "id": "78dc31fa.1149c", + "type": "set", + "name": "set role & sdwan.site", + "xml": "<set>\n<parameter name='prop.site.role' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n<parameter name='tmp.sdwan.site' value='true' />\n", + "comments": "", + "x": 1520.0103759765625, + "y": 390.2071838378906, + "z": "68309cb5.9fbe94", + "wires": [ + + ] + }, + { + "id": "443f31de.8f2cf", + "type": "switchNode", + "name": "switch service-data.vnfs.vnf_length", + "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n", + "comments": "", + "outputs": 1, + "x": 671, + "y": 69, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "d2748c44.5140a", + "132b0e47.fe6172", + "6c7ae40f.24628c" + ] + ] + }, + { + "id": "d2748c44.5140a", + "type": "other", + "name": "Null", + "xml": "<outcome value=''>\n", + "comments": "", + "outputs": 1, + "x": 1084, + "y": 62.00006103515625, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "910f30c.abfcad" + ] + ] + }, + { + "id": "910f30c.abfcad", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data\" />\n", + "comments": "", + "x": 1302.7774658203125, + "y": 37.889007568359375, + "z": "68309cb5.9fbe94", + "wires": [ + + ] + }, + { + "id": "132b0e47.fe6172", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 996.0003662109375, + "y": 116.00007629394531, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "2df38444.65759c" + ] + ] + }, + { + "id": "2df38444.65759c", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 1167.2698974609375, + "y": 99.55461120605469, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "1580b603.a7115a", + "2393097b.207106" + ] + ] + }, + { + "id": "1580b603.a7115a", + "type": "for", + "name": "for vidx..service-data.vnfs.vnf_length[]", + "xml": "<for index='vidx' start='0' end='`$service-data.vnfs.vnf_length`' >\n", + "comments": "", + "outputs": 1, + "x": 1465.285888671875, + "y": 80.42861938476562, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "d610b844.0652c8" + ] + ] + }, + { + "id": "2393097b.207106", + "type": "switchNode", + "name": "switch tmp.vidx ", + "xml": "<switch test=\"`$tmp.vidx`\">\n\n", + "comments": "", + "outputs": 1, + "x": 1386.5872802734375, + "y": 123.41180419921875, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "dd032095.3aded" + ] + ] + }, + { + "id": "dd032095.3aded", + "type": "outcome", + "name": "NULL", + "xml": "<outcome value=''>\n", + "comments": "", + "outputs": 1, + "x": 1587.015869140625, + "y": 128.98321533203125, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "40072c93.943294" + ] + ] + }, + { + "id": "d610b844.0652c8", + "type": "switchNode", + "name": "switch vnfid found", + "xml": "<switch test=\"`$service-data.vnfs.vnf[$vidx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`\">\n\n", + "comments": "", + "outputs": 1, + "x": 1775.7144775390625, + "y": 78.6787109375, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "fc26d8de.94b0a8" + ] + ] + }, + { + "id": "40072c93.943294", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data\" />\n", + "comments": "", + "x": 1758.4443359375, + "y": 129.12606811523438, + "z": "68309cb5.9fbe94", + "wires": [ + + ] + }, + { + "id": "fc26d8de.94b0a8", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1981.666748046875, + "y": 77.57144165039062, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "7149eeb8.6b351" + ] + ] + }, + { + "id": "7149eeb8.6b351", + "type": "set", + "name": "set tmp.vidx and ctx.vnf-data", + "xml": "<set>\n<parameter name='tmp.vidx' value='`$vidx`' />\n<parameter name='ctx.vnf-data.' value='`$service-data.vnfs.vnf[$vidx].`' />\n", + "comments": "", + "x": 2220.198486328125, + "y": 73.32144165039062, + "z": "68309cb5.9fbe94", + "wires": [ + + ] + }, + { + "id": "6c7ae40f.24628c", + "type": "outcome", + "name": "0", + "xml": "<outcome value='0'>\n", + "comments": "", + "outputs": 1, + "x": 1077.96875, + "y": 25.96875, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "910f30c.abfcad" + ] + ] + }, + { + "id": "cdf59db6.a5688", + "type": "comment", + "name": "TODO: Check validation", + "info": "", + "comments": "", + "x": 628, + "y": 21, + "z": "68309cb5.9fbe94", + "wires": [ + + ] + }, + { + "id": "e48e518f.1dc2a", + "type": "returnSuccess", + "name": "return success", + "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n", + "comments": "", + "x": 606.3436889648438, + "y": 717.34375, + "z": "68309cb5.9fbe94", + "wires": [ + + ] + }, + { + "id": "4a014615.6e9cf8", + "type": "set", + "name": "set vnf-level-oper-status to Active", + "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='Active' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n", + "comments": "", + "x": 662.8237915039062, + "y": 543.680908203125, + "z": "68309cb5.9fbe94", + "wires": [ + + ] + }, + { + "id": "bf95d9ae.8087f8", + "type": "set", + "name": "copy input data to service data", + "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id' value='`$prop.vnf-index`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />\n\n", + "comments": "", + "x": 652.6769409179688, + "y": 502.6771240234375, + "z": "68309cb5.9fbe94", + "wires": [ + + ] + }, + { + "id": "c850e5af.e42fa8", + "type": "save", + "name": "update siteInstance configuration in AAI", + "xml": "<update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='generic-vnf' \n key='generic-vnf.vnf-id = $prop.vnf-index' >\n<parameter name='vnf-id' value='`$prop.vnf-index`' />\n<parameter name='in-maint' value='true' />\n<parameter name='is-closed-loop-disabled' value='false' />\n<parameter name='orchestration-status' value='Active' />\n<parameter name='operational-status' value='Active' />\n<parameter name='model-customization-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />\n<parameter name='model-invariant-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />\n<parameter name='model-version-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />\n<parameter name='selflink' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` \" />\n", + "comments": "", + "outputs": 1, + "x": 683.0104370117188, + "y": 627.5659790039062, + "z": "68309cb5.9fbe94", + "wires": [ + [ + + ] + ] + }, + { + "id": "b4c6f1a.73d561", + "type": "save", + "name": "save service relationship in AAI", + "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list' \n key='service-instance.service-instance-id = $service-data.service-information.service-instance-id \n AND customer.global-customer-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.global-customer-id \n AND service-subscription.service-type = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.subscription-service-type' \n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"generic-vnf\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/generic-vnfs/generic-vnf/' + $prop.vnf-index`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"generic-vnf.vnf-id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.vnf-index`\" />", + "comments": "", + "outputs": 1, + "x": 654.0104370117188, + "y": 668.34375, + "z": "68309cb5.9fbe94", + "wires": [ + [ + + ] + ] + }, + { + "id": "d7008318.12e1b", + "type": "set", + "name": "set vnf-index and vnf-object-path", + "xml": "<set>\n<parameter name='vnfId' value='`$prop.vnf-index`' />\n<parameter name=\"vnf-object-path\" value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` \" />", + "comments": "", + "x": 659.5104370117188, + "y": 585.34375, + "z": "68309cb5.9fbe94", + "wires": [ + + ] + }, + { + "id": "2b37bcac.68f084", + "type": "switchNode", + "name": "switch sdwan.site", + "xml": "<switch test=\"`$tmp.sdwan.site`\">\n", + "comments": "", + "outputs": 1, + "x": 615, + "y": 348, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "a9004d13.a7ec4", + "27d5839b.ac9ebc" + ] + ] + }, + { + "id": "3993fb6.79aca04", + "type": "set", + "name": "set sdwan.site", + "xml": "<set>\n<parameter name='tmp.sdwan.site' value='false' />\n", + "comments": "", + "x": 606, + "y": 217, + "z": "68309cb5.9fbe94", + "wires": [ + + ] + }, + { + "id": "27d5839b.ac9ebc", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 751, + "y": 441, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "1ed61d3a.a1c323" + ] + ] + }, + { + "id": "a9004d13.a7ec4", + "type": "outcomeTrue", + "name": "false", + "xml": "<outcome value='false'>\n", + "comments": "", + "outputs": 1, + "x": 794.8887939453125, + "y": 361.00006103515625, + "z": "68309cb5.9fbe94", + "wires": [ + [ + "289c3fbe.f462" + ] + ] + }, + { + "id": "289c3fbe.f462", + "type": "block", + "name": "block", + "xml": "<block>\n", + "atomic": "false", + "comments": "", + "outputs": 1, + "x": 934, + "y": 361, + "z": "68309cb5.9fbe94", + "wires": [ + [ + + ] + ] + }, + { + "id": "1ed61d3a.a1c323", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 913, + "y": 440, + "z": "68309cb5.9fbe94", + "wires": [ + [ + + ] + ] + }, + { + "id": "ce5d0a29.098d18", + "type": "comment", + "name": "TODO: SDWAN implementation for site", + "info": "", + "comments": "", + "x": 1097, + "y": 485, + "z": "68309cb5.9fbe94", + "wires": [ + + ] + }, + { + "id": "ba135787.4aba08", + "type": "comment", + "name": "Site and role will be used to identify SDWAN service", + "info": "", + "comments": "", + "x": 1829, + "y": 358, + "z": "68309cb5.9fbe94", + "wires": [ + + ] + }, + { + "id": "c30ca451.c8aa78", + "type": "comment", + "name": "TODO: AAI", + "info": "", + "comments": "", + "x": 900, + "y": 638, + "z": "68309cb5.9fbe94", + "wires": [ + + ] + } +] diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-create.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-create.json new file mode 100644 index 00000000..bc081931 --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-create.json @@ -0,0 +1,690 @@ +[ + { + "id": "b9ac105c.8ec8f", + "type": "dgstart", + "name": "DGSTART", + "outputs": 1, + "x": 97.01041412353516, + "y": 47.41365957260132, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "cdfd9c31.ba898" + ] + ] + }, + { + "id": "cdfd9c31.ba898", + "type": "service-logic", + "name": "GENERIC-RESOURCE-API ${project.version}", + "module": "GENERIC-RESOURCE-API", + "version": "${project.version}", + "comments": "", + "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>", + "outputs": 1, + "x": 196.29611206054688, + "y": 121.65176746528596, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "8cec72fa.c96d5" + ] + ] + }, + { + "id": "8cec72fa.c96d5", + "type": "method", + "name": "method site-vnf-topology-operation-create", + "xml": "<method rpc='site-vnf-topology-operation-create' mode='sync'>\n", + "comments": "", + "outputs": 1, + "x": 217.43902587890625, + "y": 211.41365596931428, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "c88bbc51.c05a" + ] + ] + }, + { + "id": "c88bbc51.c05a", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 197.67707061767578, + "y": 383.08032772224396, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "6bf31f55.e7d98", + "c99fe643.20ccd8", + "34e47add.75c586", + "fe017e7c.6df8", + "bb192e9e.a5c6c", + "10180061.fe9e8", + "bc730e3d.2a3f4", + "fd6d952f.2ce658", + "bb650f09.4befc", + "c7f37fdc.75322", + "8a7774f7.eba7c8" + ] + ] + }, + { + "id": "34e47add.75c586", + "type": "returnSuccess", + "name": "return success", + "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n", + "comments": "", + "x": 520.3436431884766, + "y": 741.7469849586487, + "z": "c9244d8c.dbc33", + "wires": [ + + ] + }, + { + "id": "c99fe643.20ccd8", + "type": "set", + "name": "set vnf-level-oper-status to Created", + "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='Created' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n", + "comments": "", + "x": 579.8237457275391, + "y": 568.0841431617737, + "z": "c9244d8c.dbc33", + "wires": [ + + ] + }, + { + "id": "6bf31f55.e7d98", + "type": "set", + "name": "copy input data to service data", + "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id' value='`$prop.vnf-index`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />\n\n", + "comments": "", + "x": 566.6768951416016, + "y": 466.0803589820862, + "z": "c9244d8c.dbc33", + "wires": [ + + ] + }, + { + "id": "fe017e7c.6df8", + "type": "execute", + "name": "execute generate-vnf-index", + "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\n<parameter name=\"ctx-destination\" value=\"prop.vnf-index\"/>\n", + "comments": "", + "outputs": 1, + "x": 559.0103912353516, + "y": 404.7469849586487, + "z": "c9244d8c.dbc33", + "wires": [ + [ + + ] + ] + }, + { + "id": "bb192e9e.a5c6c", + "type": "set", + "name": "set vnf-index to service data", + "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.vnf-id' value='`$prop.vnf-index`' />\n", + "comments": "", + "x": 557.0103912353516, + "y": 521.7469849586487, + "z": "c9244d8c.dbc33", + "wires": [ + + ] + }, + { + "id": "10180061.fe9e8", + "type": "switchNode", + "name": "switch service-data.vnfs.vnf_length", + "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n", + "comments": "", + "outputs": 1, + "x": 581.0103912353516, + "y": 284.7469849586487, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "da5d62eb.78235", + "6a8033d.3310ccc" + ] + ] + }, + { + "id": "da5d62eb.78235", + "type": "other", + "name": "NULL", + "xml": "<outcome value=''>\n", + "comments": "", + "outputs": 1, + "x": 836.7247467041016, + "y": 274.8898072242737, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "aa63df44.dc701" + ] + ] + }, + { + "id": "aa63df44.dc701", + "type": "set", + "name": "set vnf-index=0", + "xml": "<set>\n<parameter name='vnf-index' value='0' />\n", + "comments": "", + "x": 1001.0104675292969, + "y": 273.8898854255676, + "z": "c9244d8c.dbc33", + "wires": [ + + ] + }, + { + "id": "6a8033d.3310ccc", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 838.1533088684082, + "y": 339.17562532424927, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "62e804c3.fcb0ec" + ] + ] + }, + { + "id": "fde7e6bf.6c5328", + "type": "set", + "name": "set vnf-index = vnf_length", + "xml": "<set>\n<parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />\n", + "comments": "", + "x": 1177.0104637145996, + "y": 317.4613137245178, + "z": "c9244d8c.dbc33", + "wires": [ + + ] + }, + { + "id": "59c71e1.00ba4e", + "type": "for", + "name": "for each existing VNF", + "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n", + "comments": "", + "outputs": 1, + "x": 1162.4389762878418, + "y": 363.4612526893616, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "17e77a68.a0edf6" + ] + ] + }, + { + "id": "62e804c3.fcb0ec", + "type": "block", + "name": "block", + "xml": "<block>\n", + "atomic": "false", + "comments": "", + "outputs": 1, + "x": 973.8675689697266, + "y": 339.1755909919739, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "fde7e6bf.6c5328", + "59c71e1.00ba4e" + ] + ] + }, + { + "id": "17e77a68.a0edf6", + "type": "switchNode", + "name": "switch vnf-information.vnf-id == service-data.vnfs.vnf[].vnf-id", + "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>\n", + "comments": "", + "outputs": 1, + "x": 1538.7247467041016, + "y": 351.0327515602112, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "5bee4b88.02f404" + ] + ] + }, + { + "id": "5bee4b88.02f404", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1639.0103912353516, + "y": 420.6041626930237, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "45cdc14c.e4a58" + ] + ] + }, + { + "id": "45cdc14c.e4a58", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id\n + ' already exists, and has order status ' + $service-data.vnfs.vnf[$idx].vnf-data.vnf-level-oper-status.order-status`\" />\n", + "comments": "", + "x": 1664.581802368164, + "y": 480.6041626930237, + "z": "c9244d8c.dbc33", + "wires": [ + + ] + }, + { + "id": "22974b6a.26eb04", + "type": "comment", + "name": "make sure this VNF doesn't exist already", + "info": "", + "comments": "", + "x": 1503.867473602295, + "y": 320.6041626930237, + "z": "c9244d8c.dbc33", + "wires": [ + + ] + }, + { + "id": "bc730e3d.2a3f4", + "type": "set", + "name": "set new vnf_length", + "xml": "<set>\n<parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />\n", + "comments": "", + "x": 533.0103912353516, + "y": 359.7469849586487, + "z": "c9244d8c.dbc33", + "wires": [ + + ] + }, + { + "id": "fd6d952f.2ce658", + "type": "save", + "name": "save siteInstance configuration in AAI", + "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='generic-vnf' \n key='generic-vnf.vnf-id = $prop.vnf-index' >\n<parameter name='vnf-id' value='`$prop.vnf-index`' />\n<parameter name='vnf-name' value='`$prop.site.name`' />\n<parameter name='vnf-name2' value='`$prop.site.description`' />\n<parameter name='regional-resource-zone' value='`$prop.site.location`' />\n<parameter name='vnf-type' value='prop.site.type' />\n<parameter name='in-maint' value='true' />\n<parameter name='is-closed-loop-disabled' value='false' />\n<parameter name='orchestration-status' value='Created' />\n<parameter name='operational-status' value='Created' />\n<parameter name='model-customization-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />\n<parameter name='model-invariant-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />\n<parameter name='model-version-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />\n<parameter name='selflink' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` \" />\n", + "comments": "", + "outputs": 1, + "x": 588.0103797912598, + "y": 654.9692330360413, + "z": "c9244d8c.dbc33", + "wires": [ + [ + + ] + ] + }, + { + "id": "bb650f09.4befc", + "type": "save", + "name": "save service relationship in AAI", + "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list' \n key='service-instance.service-instance-id = $service-data.service-information.service-instance-id \n AND customer.global-customer-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.global-customer-id \n AND service-subscription.service-type = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.subscription-service-type' \n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"generic-vnf\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/generic-vnfs/generic-vnf/' + $prop.vnf-index`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"generic-vnf.vnf-id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.vnf-index`\" />", + "comments": "", + "outputs": 1, + "x": 568.0103912353516, + "y": 692.7469849586487, + "z": "c9244d8c.dbc33", + "wires": [ + [ + + ] + ] + }, + { + "id": "c7f37fdc.75322", + "type": "set", + "name": "set vnf-index and vnf-object-path", + "xml": "<set>\n<parameter name='vnfId' value='`$prop.vnf-index`' />\n<parameter name=\"vnf-object-path\" value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` \" />", + "comments": "", + "x": 573.5103912353516, + "y": 609.7469849586487, + "z": "c9244d8c.dbc33", + "wires": [ + + ] + }, + { + "id": "8a7774f7.eba7c8", + "type": "for", + "name": "for loop i - VNF input parameters", + "xml": "<for index=\"idx\" start=\"0\" end=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`\">\n", + "comments": "", + "outputs": 1, + "x": 586.1151275634766, + "y": 141.48147916793823, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "359fa75f.492d58" + ] + ] + }, + { + "id": "359fa75f.492d58", + "type": "block", + "name": "block", + "xml": "<block>\n", + "atomic": "false", + "comments": "", + "outputs": 1, + "x": 973.8933715820312, + "y": 142.03711557388306, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "f0758e90.0e45c", + "2de72527.9a032a", + "378d80e2.17f6", + "7702e686.8af7a8", + "75b119e9.762ed8", + "1c70f9bf.47a396" + ] + ] + }, + { + "id": "f0758e90.0e45c", + "type": "switchNode", + "name": "switch name", + "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'name'`\">\n", + "comments": "", + "outputs": 1, + "x": 1177.1152682304382, + "y": 88.03709030151367, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "665f8a5d.1e1384" + ] + ] + }, + { + "id": "665f8a5d.1e1384", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1364.1152682304382, + "y": 84.03709030151367, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "303b324.5f06cce" + ] + ] + }, + { + "id": "303b324.5f06cce", + "type": "set", + "name": "set name", + "xml": "<set>\n<parameter name='prop.site.name' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1532.1152682304382, + "y": 84.6370964050293, + "z": "c9244d8c.dbc33", + "wires": [ + + ] + }, + { + "id": "2de72527.9a032a", + "type": "switchNode", + "name": "switch description", + "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'description'`\">\n", + "comments": "", + "outputs": 1, + "x": 1194.9549860954285, + "y": 131.0370855331421, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "ea9a727f.74db9" + ] + ] + }, + { + "id": "ea9a727f.74db9", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1381.9549860954285, + "y": 127.03708553314209, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "965ea5a4.e205c8" + ] + ] + }, + { + "id": "965ea5a4.e205c8", + "type": "set", + "name": "set description", + "xml": "<set>\n<parameter name='prop.site.description' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1543.2884669303894, + "y": 126.49824523925781, + "z": "c9244d8c.dbc33", + "wires": [ + + ] + }, + { + "id": "378d80e2.17f6", + "type": "switchNode", + "name": "switch location", + "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'location'`\">\n", + "comments": "", + "outputs": 1, + "x": 1185.0410990715027, + "y": 173.44442749023438, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "aa90cf46.db3a1" + ] + ] + }, + { + "id": "aa90cf46.db3a1", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1372.0410990715027, + "y": 169.44442749023438, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "77618d13.d7cf34" + ] + ] + }, + { + "id": "77618d13.d7cf34", + "type": "set", + "name": "set location", + "xml": "<set>\n<parameter name='prop.site.location' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1540.0410990715027, + "y": 170.04443359375, + "z": "c9244d8c.dbc33", + "wires": [ + + ] + }, + { + "id": "7702e686.8af7a8", + "type": "switchNode", + "name": "switch id", + "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'id'`\">\n", + "comments": "", + "outputs": 1, + "x": 1175.0104174613953, + "y": 42.010414123535156, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "ed13080f.421188" + ] + ] + }, + { + "id": "ed13080f.421188", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1362.0104174613953, + "y": 38.010414123535156, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "23e732a.cf615ce" + ] + ] + }, + { + "id": "23e732a.cf615ce", + "type": "set", + "name": "set id", + "xml": "<set>\n<parameter name='prop.site.id' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1530.0104174613953, + "y": 38.61042022705078, + "z": "c9244d8c.dbc33", + "wires": [ + + ] + }, + { + "id": "75b119e9.762ed8", + "type": "switchNode", + "name": "switch type", + "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'type'`\">\n", + "comments": "", + "outputs": 1, + "x": 1184.0104174613953, + "y": 217.01040649414062, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "2190e18f.1b285e" + ] + ] + }, + { + "id": "2190e18f.1b285e", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1371.0104174613953, + "y": 213.01040649414062, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "195e7aa3.f12db5" + ] + ] + }, + { + "id": "195e7aa3.f12db5", + "type": "set", + "name": "set type", + "xml": "<set>\n<parameter name='prop.site.type' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1539.0104174613953, + "y": 213.61041259765625, + "z": "c9244d8c.dbc33", + "wires": [ + + ] + }, + { + "id": "1c70f9bf.47a396", + "type": "switchNode", + "name": "switch role", + "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'role'`\">\n", + "comments": "", + "outputs": 1, + "x": 1187.0104174613953, + "y": 260.0104064941406, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "6e1ae54c.95dc4c" + ] + ] + }, + { + "id": "6e1ae54c.95dc4c", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1374.0104174613953, + "y": 256.0104064941406, + "z": "c9244d8c.dbc33", + "wires": [ + [ + "338b1db2.4b0a32" + ] + ] + }, + { + "id": "338b1db2.4b0a32", + "type": "set", + "name": "set role", + "xml": "<set>\n<parameter name='prop.site.role' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1542.0104174613953, + "y": 256.61041259765625, + "z": "c9244d8c.dbc33", + "wires": [ + + ] + }, + { + "id": "63e9e578.e6c03c", + "type": "comment", + "name": "TODO: AAI", + "info": "", + "comments": "", + "x": 813, + "y": 651, + "z": "c9244d8c.dbc33", + "wires": [ + + ] + } +] diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-deactivate.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-deactivate.json new file mode 100644 index 00000000..ad6eb1e4 --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-deactivate.json @@ -0,0 +1,803 @@ +[ + { + "id": "29fa8678.95f9ca", + "type": "dgstart", + "name": "DGSTART", + "outputs": 1, + "x": 131, + "y": 118, + "z": "af5ae803.904aa8", + "wires": [ + [ + "d48a6f16.dbc94" + ] + ] + }, + { + "id": "d48a6f16.dbc94", + "type": "service-logic", + "name": "GENERIC-RESOURCE-API ${project.version}", + "module": "GENERIC-RESOURCE-API", + "version": "${project.version}", + "comments": "", + "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>", + "outputs": 1, + "x": 206.28570556640625, + "y": 158.23811149597168, + "z": "af5ae803.904aa8", + "wires": [ + [ + "7ed81cb7.0a51d4" + ] + ] + }, + { + "id": "7ed81cb7.0a51d4", + "type": "method", + "name": "method site-vnf-topology-operation-deactivate", + "xml": "<method rpc='site-vnf-topology-operation-deactivate' mode='sync'>\n", + "comments": "", + "outputs": 1, + "x": 227.42861938476562, + "y": 248, + "z": "af5ae803.904aa8", + "wires": [ + [ + "aa23d49.327ed28" + ] + ] + }, + { + "id": "aa23d49.327ed28", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 207.66666412353516, + "y": 419.6666717529297, + "z": "af5ae803.904aa8", + "wires": [ + [ + "9bb8f3a8.802f5", + "15d3779a.2c8a88", + "9540c63d.a06978", + "78df0c0e.576094", + "99b35972.99c3a8", + "61eb6b8d.7cad14", + "4080214.adfeae", + "6f647857.5c6b48", + "4302e938.be3ef8", + "1364166a.1d494a" + ] + ] + }, + { + "id": "9bb8f3a8.802f5", + "type": "for", + "name": "for loop i - VNF input parameters", + "xml": "<for index='idx' start='0' end='`$ctx.vnf-data.vnf-request-input.vnf-input-parameters.param_length`' >\n", + "comments": "", + "outputs": 1, + "x": 660.104736328125, + "y": 307.06783294677734, + "z": "af5ae803.904aa8", + "wires": [ + [ + "a5175fe3.e03a" + ] + ] + }, + { + "id": "a5175fe3.e03a", + "type": "block", + "name": "block", + "xml": "<block>\n", + "atomic": "false", + "comments": "", + "outputs": 1, + "x": 906.8829312324524, + "y": 307.623462411575, + "z": "af5ae803.904aa8", + "wires": [ + [ + "a25f1f5b.132b7", + "617dd8fe.aa7948", + "15ed8251.27c1ce", + "984a8326.9a457", + "ff594d8d.7aa95", + "20f2971f.ecec88" + ] + ] + }, + { + "id": "a25f1f5b.132b7", + "type": "switchNode", + "name": "switch name", + "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'name'`\">\n", + "comments": "", + "outputs": 1, + "x": 1112.1048202514648, + "y": 262.62343978881836, + "z": "af5ae803.904aa8", + "wires": [ + [ + "e1ea29c6.845788" + ] + ] + }, + { + "id": "e1ea29c6.845788", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1299.1048202514648, + "y": 258.62343978881836, + "z": "af5ae803.904aa8", + "wires": [ + [ + "cda20cf5.41ce9" + ] + ] + }, + { + "id": "cda20cf5.41ce9", + "type": "set", + "name": "set name", + "xml": "<set>\n<parameter name='prop.site.name' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1467.1048202514648, + "y": 259.223445892334, + "z": "af5ae803.904aa8", + "wires": [ + + ] + }, + { + "id": "617dd8fe.aa7948", + "type": "switchNode", + "name": "switch description", + "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'description'`\">\n", + "comments": "", + "outputs": 1, + "x": 1129.944538116455, + "y": 305.6234350204468, + "z": "af5ae803.904aa8", + "wires": [ + [ + "9accb009.2112d" + ] + ] + }, + { + "id": "9accb009.2112d", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1316.944538116455, + "y": 301.6234350204468, + "z": "af5ae803.904aa8", + "wires": [ + [ + "8ca9a7db.ec8f18" + ] + ] + }, + { + "id": "8ca9a7db.ec8f18", + "type": "set", + "name": "set description", + "xml": "<set>\n<parameter name='prop.site.description' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1478.278018951416, + "y": 301.0845947265625, + "z": "af5ae803.904aa8", + "wires": [ + + ] + }, + { + "id": "15ed8251.27c1ce", + "type": "switchNode", + "name": "switch location", + "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'location'`\">\n", + "comments": "", + "outputs": 1, + "x": 1120.0306510925293, + "y": 348.03077697753906, + "z": "af5ae803.904aa8", + "wires": [ + [ + "8dc32f9.9a097d" + ] + ] + }, + { + "id": "8dc32f9.9a097d", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1307.0306510925293, + "y": 344.03077697753906, + "z": "af5ae803.904aa8", + "wires": [ + [ + "c9cae02e.83783" + ] + ] + }, + { + "id": "c9cae02e.83783", + "type": "set", + "name": "set location", + "xml": "<set>\n<parameter name='prop.site.location' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1475.0306510925293, + "y": 344.6307830810547, + "z": "af5ae803.904aa8", + "wires": [ + + ] + }, + { + "id": "984a8326.9a457", + "type": "switchNode", + "name": "switch id", + "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'id'`\">\n", + "comments": "", + "outputs": 1, + "x": 1109.9999694824219, + "y": 216.59676361083984, + "z": "af5ae803.904aa8", + "wires": [ + [ + "96a74444.b53228" + ] + ] + }, + { + "id": "96a74444.b53228", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1296.9999694824219, + "y": 212.59676361083984, + "z": "af5ae803.904aa8", + "wires": [ + [ + "df6964b4.228f78" + ] + ] + }, + { + "id": "df6964b4.228f78", + "type": "set", + "name": "set id", + "xml": "<set>\n<parameter name='prop.site.id' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1464.9999694824219, + "y": 213.19676971435547, + "z": "af5ae803.904aa8", + "wires": [ + + ] + }, + { + "id": "ff594d8d.7aa95", + "type": "switchNode", + "name": "switch type", + "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'type'`\">\n", + "comments": "", + "outputs": 1, + "x": 1118.9999694824219, + "y": 391.5967559814453, + "z": "af5ae803.904aa8", + "wires": [ + [ + "343eddcc.c79502" + ] + ] + }, + { + "id": "343eddcc.c79502", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1305.9999694824219, + "y": 387.5967559814453, + "z": "af5ae803.904aa8", + "wires": [ + [ + "c923d4d2.c53e48" + ] + ] + }, + { + "id": "c923d4d2.c53e48", + "type": "set", + "name": "set type", + "xml": "<set>\n<parameter name='prop.site.type' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n<parameter name='tmp.sdwan.site' value='true' />", + "comments": "", + "x": 1473.9999694824219, + "y": 388.19676208496094, + "z": "af5ae803.904aa8", + "wires": [ + + ] + }, + { + "id": "20f2971f.ecec88", + "type": "switchNode", + "name": "switch role", + "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'role'`\">\n", + "comments": "", + "outputs": 1, + "x": 1121.9999694824219, + "y": 434.5967559814453, + "z": "af5ae803.904aa8", + "wires": [ + [ + "4a74022c.fbbfdc" + ] + ] + }, + { + "id": "4a74022c.fbbfdc", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1308.9999694824219, + "y": 430.5967559814453, + "z": "af5ae803.904aa8", + "wires": [ + [ + "ed0bb784.6f5f28" + ] + ] + }, + { + "id": "ed0bb784.6f5f28", + "type": "set", + "name": "set role & sdwan.site", + "xml": "<set>\n<parameter name='prop.site.role' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n<parameter name='tmp.sdwan.site' value='true' />\n", + "comments": "", + "x": 1516.9999694824219, + "y": 430.19676971435547, + "z": "af5ae803.904aa8", + "wires": [ + + ] + }, + { + "id": "15d3779a.2c8a88", + "type": "switchNode", + "name": "switch service-data.vnfs.vnf_length", + "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n", + "comments": "", + "outputs": 1, + "x": 667.9895935058594, + "y": 108.98958587646484, + "z": "af5ae803.904aa8", + "wires": [ + [ + "ce757eba.3051d", + "317e6180.be733e", + "355929c1.e3c516" + ] + ] + }, + { + "id": "ce757eba.3051d", + "type": "other", + "name": "Null", + "xml": "<outcome value=''>\n", + "comments": "", + "outputs": 1, + "x": 1080.9895935058594, + "y": 101.9896469116211, + "z": "af5ae803.904aa8", + "wires": [ + [ + "3a71c6fc.a403ea" + ] + ] + }, + { + "id": "3a71c6fc.a403ea", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data\" />\n", + "comments": "", + "x": 1299.7670593261719, + "y": 77.87859344482422, + "z": "af5ae803.904aa8", + "wires": [ + + ] + }, + { + "id": "317e6180.be733e", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 992.9899597167969, + "y": 155.98966217041016, + "z": "af5ae803.904aa8", + "wires": [ + [ + "6231a17a.01c0e" + ] + ] + }, + { + "id": "6231a17a.01c0e", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 1164.2594909667969, + "y": 139.54419708251953, + "z": "af5ae803.904aa8", + "wires": [ + [ + "b34aef0c.acf71", + "8f0f5852.1fb888" + ] + ] + }, + { + "id": "b34aef0c.acf71", + "type": "for", + "name": "for vidx..service-data.vnfs.vnf_length[]", + "xml": "<for index='vidx' start='0' end='`$service-data.vnfs.vnf_length`' >\n", + "comments": "", + "outputs": 1, + "x": 1462.2754821777344, + "y": 120.41820526123047, + "z": "af5ae803.904aa8", + "wires": [ + [ + "dbdd8064.8b575" + ] + ] + }, + { + "id": "8f0f5852.1fb888", + "type": "switchNode", + "name": "switch tmp.vidx ", + "xml": "<switch test=\"`$tmp.vidx`\">\n\n", + "comments": "", + "outputs": 1, + "x": 1383.5768737792969, + "y": 163.4013900756836, + "z": "af5ae803.904aa8", + "wires": [ + [ + "790650c4.ec7c" + ] + ] + }, + { + "id": "790650c4.ec7c", + "type": "outcome", + "name": "NULL", + "xml": "<outcome value=''>\n", + "comments": "", + "outputs": 1, + "x": 1584.0054626464844, + "y": 168.9728012084961, + "z": "af5ae803.904aa8", + "wires": [ + [ + "3c6f340.b39b3cc" + ] + ] + }, + { + "id": "dbdd8064.8b575", + "type": "switchNode", + "name": "switch vnfid found", + "xml": "<switch test=\"`$service-data.vnfs.vnf[$vidx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`\">\n\n", + "comments": "", + "outputs": 1, + "x": 1772.7040710449219, + "y": 118.66829681396484, + "z": "af5ae803.904aa8", + "wires": [ + [ + "442b99c7.862238" + ] + ] + }, + { + "id": "3c6f340.b39b3cc", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data\" />\n", + "comments": "", + "x": 1755.4339294433594, + "y": 169.11565399169922, + "z": "af5ae803.904aa8", + "wires": [ + + ] + }, + { + "id": "442b99c7.862238", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1978.6563415527344, + "y": 117.56102752685547, + "z": "af5ae803.904aa8", + "wires": [ + [ + "9a4c2f33.323f8" + ] + ] + }, + { + "id": "9a4c2f33.323f8", + "type": "set", + "name": "set tmp.vidx and ctx.vnf-data", + "xml": "<set>\n<parameter name='tmp.vidx' value='`$vidx`' />\n<parameter name='ctx.vnf-data.' value='`$service-data.vnfs.vnf[$vidx].`' />\n", + "comments": "", + "x": 2217.1880798339844, + "y": 113.31102752685547, + "z": "af5ae803.904aa8", + "wires": [ + + ] + }, + { + "id": "355929c1.e3c516", + "type": "outcome", + "name": "0", + "xml": "<outcome value='0'>\n", + "comments": "", + "outputs": 1, + "x": 1074.9583435058594, + "y": 65.95833587646484, + "z": "af5ae803.904aa8", + "wires": [ + [ + "3a71c6fc.a403ea" + ] + ] + }, + { + "id": "28632f1f.75eb4", + "type": "comment", + "name": "TODO: Check validation", + "info": "", + "comments": "", + "x": 624.9895935058594, + "y": 60.989585876464844, + "z": "af5ae803.904aa8", + "wires": [ + + ] + }, + { + "id": "9540c63d.a06978", + "type": "returnSuccess", + "name": "return success", + "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n", + "comments": "", + "x": 603.3332824707031, + "y": 757.3333358764648, + "z": "af5ae803.904aa8", + "wires": [ + + ] + }, + { + "id": "78df0c0e.576094", + "type": "set", + "name": "set vnf-level-oper-status to PendingDelete", + "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingDelete' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n", + "comments": "", + "x": 682.8133850097656, + "y": 585.6704711914062, + "z": "af5ae803.904aa8", + "wires": [ + + ] + }, + { + "id": "99b35972.99c3a8", + "type": "set", + "name": "copy input data to service data", + "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id' value='`$prop.vnf-index`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />\n\n", + "comments": "", + "x": 649.6665344238281, + "y": 542.6667098999023, + "z": "af5ae803.904aa8", + "wires": [ + + ] + }, + { + "id": "61eb6b8d.7cad14", + "type": "save", + "name": "update siteInstance configuration in AAI", + "xml": "<update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='generic-vnf' \n key='generic-vnf.vnf-id = $prop.vnf-index' >\n<parameter name='vnf-id' value='`$prop.vnf-index`' />\n<parameter name='in-maint' value='true' />\n<parameter name='is-closed-loop-disabled' value='false' />\n<parameter name='orchestration-status' value='PendingDelete' />\n<parameter name='operational-status' value='PendingDelete' />\n<parameter name='model-customization-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />\n<parameter name='model-invariant-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />\n<parameter name='model-version-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />\n<parameter name='selflink' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` \" />\n", + "comments": "", + "outputs": 1, + "x": 677, + "y": 665.5556030273438, + "z": "af5ae803.904aa8", + "wires": [ + [ + + ] + ] + }, + { + "id": "4080214.adfeae", + "type": "save", + "name": "save service relationship in AAI", + "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list' \n key='service-instance.service-instance-id = $service-data.service-information.service-instance-id \n AND customer.global-customer-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.global-customer-id \n AND service-subscription.service-type = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.subscription-service-type' \n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"generic-vnf\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/generic-vnfs/generic-vnf/' + $prop.vnf-index`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"generic-vnf.vnf-id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.vnf-index`\" />", + "comments": "", + "outputs": 1, + "x": 651.0000305175781, + "y": 708.3333358764648, + "z": "af5ae803.904aa8", + "wires": [ + [ + + ] + ] + }, + { + "id": "6f647857.5c6b48", + "type": "set", + "name": "set vnf-index and vnf-object-path", + "xml": "<set>\n<parameter name='vnfId' value='`$prop.vnf-index`' />\n<parameter name=\"vnf-object-path\" value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` \" />", + "comments": "", + "x": 656.5000305175781, + "y": 625.3333358764648, + "z": "af5ae803.904aa8", + "wires": [ + + ] + }, + { + "id": "1364166a.1d494a", + "type": "switchNode", + "name": "switch sdwan.site", + "xml": "<switch test=\"`$tmp.sdwan.site`\">\n", + "comments": "", + "outputs": 1, + "x": 611.9895935058594, + "y": 387.98958587646484, + "z": "af5ae803.904aa8", + "wires": [ + [ + "2e02ce5b.120d72", + "c3598024.ef229" + ] + ] + }, + { + "id": "4302e938.be3ef8", + "type": "set", + "name": "set sdwan.site", + "xml": "<set>\n<parameter name='tmp.sdwan.site' value='false' />\n", + "comments": "", + "x": 602.9895935058594, + "y": 256.98958587646484, + "z": "af5ae803.904aa8", + "wires": [ + + ] + }, + { + "id": "c3598024.ef229", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 747.9895935058594, + "y": 480.98958587646484, + "z": "af5ae803.904aa8", + "wires": [ + [ + "38d8d2a8.f58c0e" + ] + ] + }, + { + "id": "2e02ce5b.120d72", + "type": "outcomeTrue", + "name": "false", + "xml": "<outcome value='false'>\n", + "comments": "", + "outputs": 1, + "x": 791.8783874511719, + "y": 400.9896469116211, + "z": "af5ae803.904aa8", + "wires": [ + [ + "ad672f8e.2adcd" + ] + ] + }, + { + "id": "ad672f8e.2adcd", + "type": "block", + "name": "block", + "xml": "<block>\n", + "atomic": "false", + "comments": "", + "outputs": 1, + "x": 930.9895935058594, + "y": 400.98958587646484, + "z": "af5ae803.904aa8", + "wires": [ + [ + + ] + ] + }, + { + "id": "38d8d2a8.f58c0e", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 909.9895935058594, + "y": 479.98958587646484, + "z": "af5ae803.904aa8", + "wires": [ + [ + + ] + ] + }, + { + "id": "d9bbd64d.c1dfa8", + "type": "comment", + "name": "TODO: SDWAN implementation for site", + "info": "", + "comments": "", + "x": 1067.9895935058594, + "y": 521.9895858764648, + "z": "af5ae803.904aa8", + "wires": [ + + ] + }, + { + "id": "dfb2bb0b.f25f38", + "type": "comment", + "name": "TODO: AAI", + "info": "", + "comments": "", + "x": 902, + "y": 671, + "z": "af5ae803.904aa8", + "wires": [ + + ] + } +] diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-delete.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-delete.json new file mode 100644 index 00000000..0c552342 --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_site-vnf-topology-operation-delete.json @@ -0,0 +1,617 @@ +[ + { + "id": "a2b91e00.0dacb", + "type": "dgstart", + "name": "DGSTART", + "outputs": 1, + "x": 119, + "y": 37, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "17fbd1a8.a9b4ce" + ] + ] + }, + { + "id": "17fbd1a8.a9b4ce", + "type": "service-logic", + "name": "GENERIC-RESOURCE-API ${project.version}", + "module": "GENERIC-RESOURCE-API", + "version": "${project.version}", + "comments": "", + "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>", + "outputs": 1, + "x": 194.28570556640625, + "y": 77.23811149597168, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "cd1ac734.4667a8" + ] + ] + }, + { + "id": "cd1ac734.4667a8", + "type": "method", + "name": "method site-vnf-topology-operation-delete", + "xml": "<method rpc='site-vnf-topology-operation-delete' mode='sync'>\n", + "comments": "", + "outputs": 1, + "x": 215.42861938476562, + "y": 167, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "8f642f93.2a801" + ] + ] + }, + { + "id": "8f642f93.2a801", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 347.6666564941406, + "y": 226.66668701171875, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "76c48b79.d84cf4", + "bfaa0886.4026e8", + "d0626629.81a8c8", + "a00c6468.40dc18", + "d6cddc91.15c3a", + "1aa89ef4.371e21" + ] + ] + }, + { + "id": "76c48b79.d84cf4", + "type": "switchNode", + "name": "switch service-data.vnfs.vnf_length", + "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n", + "comments": "", + "outputs": 1, + "x": 668.9895935058594, + "y": 73.98958587646484, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "e84dd0b6.bd49f", + "6abf3e26.6123e", + "cad37430.9a8ae8" + ] + ] + }, + { + "id": "e84dd0b6.bd49f", + "type": "other", + "name": "Null", + "xml": "<outcome value=''>\n", + "comments": "", + "outputs": 1, + "x": 1081.9895935058594, + "y": 66.9896469116211, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "1e4a1529.eacc1b" + ] + ] + }, + { + "id": "1e4a1529.eacc1b", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data\" />\n", + "comments": "", + "x": 1300.7670593261719, + "y": 42.87859344482422, + "z": "7bfb2dad.3744a4", + "wires": [ + + ] + }, + { + "id": "6abf3e26.6123e", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 993.9899597167969, + "y": 120.98966217041016, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "8e41da85.f0c968" + ] + ] + }, + { + "id": "8e41da85.f0c968", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 1165.2594909667969, + "y": 104.54419708251953, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "40ff91c4.16b8c", + "901feb4d.552588" + ] + ] + }, + { + "id": "40ff91c4.16b8c", + "type": "for", + "name": "for vidx..service-data.vnfs.vnf_length[]", + "xml": "<for index='vidx' start='0' end='`$service-data.vnfs.vnf_length`' >\n", + "comments": "", + "outputs": 1, + "x": 1463.2754821777344, + "y": 85.41820526123047, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "21662e74.a22c42" + ] + ] + }, + { + "id": "901feb4d.552588", + "type": "switchNode", + "name": "switch tmp.vidx ", + "xml": "<switch test=\"`$tmp.vidx`\">\n\n", + "comments": "", + "outputs": 1, + "x": 1384.5768737792969, + "y": 128.4013900756836, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "ee9e043e.1f4d08" + ] + ] + }, + { + "id": "ee9e043e.1f4d08", + "type": "outcome", + "name": "NULL", + "xml": "<outcome value=''>\n", + "comments": "", + "outputs": 1, + "x": 1585.0054626464844, + "y": 133.9728012084961, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "b08c7bb.174c688" + ] + ] + }, + { + "id": "21662e74.a22c42", + "type": "switchNode", + "name": "switch vnfid found", + "xml": "<switch test=\"`$service-data.vnfs.vnf[$vidx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`\">\n\n", + "comments": "", + "outputs": 1, + "x": 1773.7040710449219, + "y": 83.66829681396484, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "c6e29244.22831" + ] + ] + }, + { + "id": "b08c7bb.174c688", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data\" />\n", + "comments": "", + "x": 1756.4339294433594, + "y": 134.11565399169922, + "z": "7bfb2dad.3744a4", + "wires": [ + + ] + }, + { + "id": "c6e29244.22831", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1979.6563415527344, + "y": 82.56102752685547, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "34cb4af6.5dade6" + ] + ] + }, + { + "id": "34cb4af6.5dade6", + "type": "set", + "name": "set tmp.vidx and ctx.vnf-data", + "xml": "<set>\n<parameter name='tmp.vidx' value='`$vidx`' />\n<parameter name='ctx.vnf-data.' value='`$service-data.vnfs.vnf[$vidx].`' />\n", + "comments": "", + "x": 2218.1880798339844, + "y": 78.31102752685547, + "z": "7bfb2dad.3744a4", + "wires": [ + + ] + }, + { + "id": "cad37430.9a8ae8", + "type": "outcome", + "name": "0", + "xml": "<outcome value='0'>\n", + "comments": "", + "outputs": 1, + "x": 1075.9583435058594, + "y": 30.958335876464844, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "1e4a1529.eacc1b" + ] + ] + }, + { + "id": "4dc3e987.9fd4e8", + "type": "comment", + "name": "TODO: Check validation", + "info": "", + "comments": "", + "x": 625.9895935058594, + "y": 25.989585876464844, + "z": "7bfb2dad.3744a4", + "wires": [ + + ] + }, + { + "id": "bfaa0886.4026e8", + "type": "returnSuccess", + "name": "return success", + "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n", + "comments": "", + "x": 590.333251953125, + "y": 562.3333740234375, + "z": "7bfb2dad.3744a4", + "wires": [ + + ] + }, + { + "id": "728d2d28.940264", + "type": "for", + "name": "for each vnf", + "xml": "<for index='idx' start='`$vnf-index + 1`' end='`$service-data.vnfs.vnf_length`' >\n", + "comments": "", + "outputs": 1, + "x": 1117.7793083190918, + "y": 393.66661167144775, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "7caecd51.491534" + ] + ] + }, + { + "id": "347e4d01.6da902", + "type": "comment", + "name": "Remove VNF from service data", + "info": "", + "comments": "", + "x": 640.9380798339844, + "y": 342.2382507324219, + "z": "7bfb2dad.3744a4", + "wires": [ + + ] + }, + { + "id": "7caecd51.491534", + "type": "set", + "name": "move vnf to remove one", + "xml": "<set>\n\t<parameter name=\"$tmpidx\" value=\"`$idx - 1`\"/>\n\t<parameter name=\"service-data.vnfs.vnf[$tmpidx].\" value=\"$service-data.vnfs.vnf[$idx].\" />\n\t\n", + "comments": "", + "x": 1351.3704414367676, + "y": 392.6905632019043, + "z": "7bfb2dad.3744a4", + "wires": [ + + ] + }, + { + "id": "d6cddc91.15c3a", + "type": "switchNode", + "name": "switch vnf_length", + "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n", + "comments": "", + "outputs": 1, + "x": 604.0371704101562, + "y": 395.2462406158447, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "f6c22b0f.9c87a8", + "3909fa08.1288e6" + ] + ] + }, + { + "id": "f6c22b0f.9c87a8", + "type": "outcome", + "name": "1", + "xml": "<outcome value='1'>\n", + "comments": "", + "outputs": 1, + "x": 781.0372123718262, + "y": 355.91282749176025, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "489f0baa.cc5474" + ] + ] + }, + { + "id": "489f0baa.cc5474", + "type": "set", + "name": "Remove vnfs", + "xml": "<set>\n\t<parameter name=\"service-data.vnfs.\" value=\"\"/>\n\n", + "comments": "", + "x": 944.7037086486816, + "y": 355.91292667388916, + "z": "7bfb2dad.3744a4", + "wires": [ + + ] + }, + { + "id": "3909fa08.1288e6", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 779.7039566040039, + "y": 439.2461004257202, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "1459edc6.fe9a92" + ] + ] + }, + { + "id": "e0ce4e15.0694e", + "type": "set", + "name": "set new vnf length", + "xml": "<set>\n\t<parameter name=\"service-data.vnfs.vnf_length\" value=\"`$service-data.vnfs.vnf_length - 1`\"/>\n\n\t\n", + "comments": "", + "x": 1137.333396911621, + "y": 484.2461853027344, + "z": "7bfb2dad.3744a4", + "wires": [ + + ] + }, + { + "id": "1b0c5771.6e6a79", + "type": "set", + "name": "Remove the last vnf in the list", + "xml": "<set>\n\t<parameter name=\"service-data.vnfs.vnf[$service-data.vnfs.vnf_length-1].\" value=\"\"/>\n\n", + "comments": "", + "x": 1173.037052154541, + "y": 439.3572063446045, + "z": "7bfb2dad.3744a4", + "wires": [ + + ] + }, + { + "id": "1459edc6.fe9a92", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 948.3704452514648, + "y": 439.9127473831177, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "728d2d28.940264", + "1b0c5771.6e6a79", + "e0ce4e15.0694e" + ] + ] + }, + { + "id": "d0626629.81a8c8", + "type": "switchNode", + "name": "switch current vnf-level-oper-status == PendingDelete", + "xml": "<switch test=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status == 'PendingDelete'`\">\n", + "comments": "", + "outputs": 1, + "x": 702.9999885559082, + "y": 181.00003623962402, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "aa414c85.4ebad" + ] + ] + }, + { + "id": "350728d2.6ecb38", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Cannot delete a VNF in a Created state\" />\n", + "comments": "", + "x": 1165.9999809265137, + "y": 180, + "z": "7bfb2dad.3744a4", + "wires": [ + + ] + }, + { + "id": "a00c6468.40dc18", + "type": "switchNode", + "name": "switch current vf-module_length", + "xml": "<switch test=\"`$ctx.vnf-data.vf-modules.vf-module_length`\">\n", + "comments": "", + "outputs": 1, + "x": 653.3333320617676, + "y": 267.00000190734863, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "e2c40a8f.28c2e8", + "efcade27.df8a7", + "fdf813a0.7dec9" + ] + ] + }, + { + "id": "e2c40a8f.28c2e8", + "type": "outcome", + "name": "0", + "xml": "<outcome value='0'>\n", + "comments": "", + "outputs": 1, + "x": 881.9999732971191, + "y": 223.6666431427002, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "4056136c.450bfc" + ] + ] + }, + { + "id": "efcade27.df8a7", + "type": "outcome", + "name": "NULL", + "xml": "<outcome value=''>", + "comments": "", + "outputs": 1, + "x": 880.5713844299316, + "y": 265.0953006744385, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "4056136c.450bfc" + ] + ] + }, + { + "id": "4056136c.450bfc", + "type": "block", + "name": "block", + "xml": "<block>\n", + "atomic": "false", + "comments": "", + "outputs": 1, + "x": 1029.1428985595703, + "y": 245.0953016281128, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + + ] + ] + }, + { + "id": "fdf813a0.7dec9", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 880.5714340209961, + "y": 306.52388858795166, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "dbbd756.2a74488" + ] + ] + }, + { + "id": "dbbd756.2a74488", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Cannot delete the VNF because there are VFs defined\" />\n", + "comments": "", + "x": 1047.7143287658691, + "y": 306.09527683258057, + "z": "7bfb2dad.3744a4", + "wires": [ + + ] + }, + { + "id": "aa414c85.4ebad", + "type": "outcomeTrue", + "name": "false", + "xml": "<outcome value='false'>\n", + "comments": "", + "outputs": 1, + "x": 1005, + "y": 181, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + "350728d2.6ecb38" + ] + ] + }, + { + "id": "1aa89ef4.371e21", + "type": "delete", + "name": "delete Site in AAI", + "xml": "<delete plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='generic-vnf' \n key='generic-vnf.vnf-id = $prop.vnf-index' >", + "comments": "", + "outputs": 1, + "x": 604, + "y": 510, + "z": "7bfb2dad.3744a4", + "wires": [ + [ + + ] + ] + }, + { + "id": "e61bcb70.9a5e48", + "type": "comment", + "name": "TODO: AAI", + "info": "", + "comments": "", + "x": 775, + "y": 512, + "z": "7bfb2dad.3744a4", + "wires": [ + + ] + } +] diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-vnf-input.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-vnf-input.json index 548017d5..3ebab100 100644 --- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-vnf-input.json +++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-vnf-input.json @@ -1,487 +1,461 @@ [ - { - "id": "b38b0b37.4fbba8", - "type": "block", - "name": "block : atomic", - "xml": "<block atomic=\"true\">", - "atomic": "true", - "outputs": 1, - "x": 156.66665649414062, - "y": 414.16667597634455, - "z": "19ac43dc.b5de6c", - "wires": [ - [ - "52d79f98.236c9", - "db0b2c04.23c78", - "2090c272.2f2dae", - "f3ec5636.aa7578", - "de04dcb6.e0093", - "286a5aeb.cd2826" - ] - ] - }, - { - "id": "52d79f98.236c9", - "type": "switchNode", - "name": "switch svc-request-id", - "xml": "<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`'>\n", - "comments": "", - "outputs": 1, - "x": 439.4285659790039, - "y": 297.24701404571533, - "z": "19ac43dc.b5de6c", - "wires": [ - [ - "f9ab1dd1.ac849" - ] - ] - }, - { - "id": "f9ab1dd1.ac849", - "type": "outcome", - "name": "NULL", - "xml": "<outcome value=''>", - "comments": "", - "outputs": 1, - "x": 665.1428604125977, - "y": 297.2470178604126, - "z": "19ac43dc.b5de6c", - "wires": [ - [ - "a08153b.30607b" - ] - ] - }, - { - "id": "a08153b.30607b", - "type": "returnFailure", - "name": "return failure", - "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-request-id is a required input\" />\n", - "comments": "", - "x": 816.5714263916016, - "y": 297.24701595306396, - "z": "19ac43dc.b5de6c", - "wires": [] - }, - { - "id": "db0b2c04.23c78", - "type": "switchNode", - "name": "switch svc-action", - "xml": "<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>\n", - "comments": "", - "outputs": 1, - "x": 427.99992915562234, - "y": 255.81844561440607, - "z": "19ac43dc.b5de6c", - "wires": [ - [ - "eeea9033.66cb9" - ] - ] - }, - { - "id": "eeea9033.66cb9", - "type": "outcome", - "name": "NULL", - "xml": "<outcome value=''>", - "comments": "", - "outputs": 1, - "x": 663.7142808096751, - "y": 254.38984339577814, - "z": "19ac43dc.b5de6c", - "wires": [ - [ - "d8278276.52076" - ] - ] - }, - { - "id": "d8278276.52076", - "type": "returnFailure", - "name": "return failure", - "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-action is a required input\" />\n", - "comments": "", - "x": 813.7142541067942, - "y": 254.3898529325213, - "z": "19ac43dc.b5de6c", - "wires": [] - }, - { - "id": "2090c272.2f2dae", - "type": "switchNode", - "name": "switch request-action", - "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n", - "comments": "", - "outputs": 1, - "x": 437.99998256138406, - "y": 340.1041607175555, - "z": "19ac43dc.b5de6c", - "wires": [ - [ - "3462c626.b9b84a" - ] - ] - }, - { - "id": "3462c626.b9b84a", - "type": "outcome", - "name": "NULL", - "xml": "<outcome value=''>", - "comments": "", - "outputs": 1, - "x": 665.1428560529439, - "y": 340.10417161669056, - "z": "19ac43dc.b5de6c", - "wires": [ - [ - "b3d88cc6.52ff2" - ] - ] - }, - { - "id": "b3d88cc6.52ff2", - "type": "returnFailure", - "name": "return failure", - "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"request-information.request-action is a required input\" />\n", - "comments": "", - "x": 816.5714220319478, - "y": 340.10416970934193, - "z": "19ac43dc.b5de6c", - "wires": [] - }, - { - "id": "e6d8c21d.71c1c", - "type": "switchNode", - "name": "switch model-customization-id", - "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`'>\n", - "comments": "", - "outputs": 1, - "x": 972.4645347595215, - "y": 486.53292655944824, - "z": "19ac43dc.b5de6c", - "wires": [ - [ - "de43bd69.67fda" - ] - ] - }, - { - "id": "de43bd69.67fda", - "type": "outcome", - "name": "NULL", - "xml": "<outcome value=''>", - "comments": "", - "outputs": 1, - "x": 1177.4645347595215, - "y": 486.53290939331055, - "z": "19ac43dc.b5de6c", - "wires": [ - [ - "4575d060.3b037" - ] - ] - }, - { - "id": "4575d060.3b037", - "type": "returnFailure", - "name": "return failure", - "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-information.onap-model-information.model-customization-uuid is a required input\" />\n", - "comments": "", - "x": 1328.8931007385254, - "y": 486.5329074859619, - "z": "19ac43dc.b5de6c", - "wires": [] - }, - { - "id": "689a33f6.b4cc9c", - "type": "switchNode", - "name": "switch tenant", - "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.tenant`'>\n", - "comments": "", - "outputs": 1, - "x": 918.3216133117676, - "y": 527.9614372253418, - "z": "19ac43dc.b5de6c", - "wires": [ - [ - "238e5ffc.d0317" - ] - ] - }, - { - "id": "238e5ffc.d0317", - "type": "outcome", - "name": "NULL", - "xml": "<outcome value=''>", - "comments": "", - "outputs": 1, - "x": 1176.035930633545, - "y": 527.9614715576172, - "z": "19ac43dc.b5de6c", - "wires": [ - [ - "bcaf5c05.49c86" - ] - ] - }, - { - "id": "bcaf5c05.49c86", - "type": "returnFailure", - "name": "return failure", - "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-information.vnf-request-input.tenant is a required input\" />\n", - "comments": "", - "x": 1327.4644966125488, - "y": 527.9614696502686, - "z": "19ac43dc.b5de6c", - "wires": [] - }, - { - "id": "c2b4e8d1.4fcae8", - "type": "comment", - "name": "Validation of required fields", - "info": "", - "comments": "", - "x": 587.9999389648438, - "y": 211.53272819519043, - "z": "19ac43dc.b5de6c", - "wires": [] - }, - { - "id": "f3ec5636.aa7578", - "type": "switchNode", - "name": "switch svc-action", - "xml": "<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>\n", - "comments": "", - "outputs": 1, - "x": 423.238037109375, - "y": 528.7947521209717, - "z": "19ac43dc.b5de6c", - "wires": [ - [ - "2acfd81d.e2f408" - ] - ] - }, - { - "id": "2acfd81d.e2f408", - "type": "outcome", - "name": "assign", - "xml": "<outcome value='assign'>\n", - "comments": "", - "outputs": 1, - "x": 585.738037109375, - "y": 528.7947521209717, - "z": "19ac43dc.b5de6c", - "wires": [ - [ - "5a45a048.95a1d" - ] - ] - }, - { - "id": "5a45a048.95a1d", - "type": "block", - "name": "block : atomic", - "xml": "<block atomic=\"true\">", - "atomic": "true", - "outputs": 1, - "x": 740.738037109375, - "y": 528.7947521209717, - "z": "19ac43dc.b5de6c", - "wires": [ - [ - "e6d8c21d.71c1c", - "689a33f6.b4cc9c", - "217fcc81.9f4ba4" - ] - ] - }, - { - "id": "a37f14a8.387e78", - "type": "dgstart", - "name": "DGSTART", - "outputs": 1, - "x": 100.41666630336204, - "y": 84.0803279876709, - "z": "19ac43dc.b5de6c", - "wires": [ - [ - "b399deb4.255d6" - ] - ] - }, - { - "id": "b399deb4.255d6", - "type": "service-logic", - "name": "GENERIC-RESOURCE-API ${project.version}", - "module": "GENERIC-RESOURCE-API", - "version": "${project.version}", - "comments": "", - "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>", - "outputs": 1, - "x": 175.70237186976829, - "y": 124.31843948364258, - "z": "19ac43dc.b5de6c", - "wires": [ - [ - "869696da.e07a18" - ] - ] - }, - { - "id": "869696da.e07a18", - "type": "method", - "name": "method validate-vnf-input", - "xml": "<method rpc='validate-vnf-input' mode='sync'>\n", - "comments": "", - "outputs": 1, - "x": 151.0952933175222, - "y": 165.33032417297363, - "z": "19ac43dc.b5de6c", - "wires": [ - [ - "b38b0b37.4fbba8" - ] - ] - }, - { - "id": "9789ee81.07f95", - "type": "comment", - "name": "validate-vnf-input", - "info": "", - "comments": "", - "x": 494.76152256556907, - "y": 31.666671752929688, - "z": "19ac43dc.b5de6c", - "wires": [] - }, - { - "id": "de04dcb6.e0093", - "type": "switchNode", - "name": "switch service-instance-id", - "xml": "<switch test='`$vnf-topology-operation-input.service-information.service-instance-id`'>\n", - "comments": "", - "outputs": 1, - "x": 451.0238135201589, - "y": 384.16668701171875, - "z": "19ac43dc.b5de6c", - "wires": [ - [ - "54e9ea0e.6ae744" - ] - ] - }, - { - "id": "54e9ea0e.6ae744", - "type": "outcome", - "name": "NULL", - "xml": "<outcome value=''>", - "comments": "", - "outputs": 1, - "x": 663.4523947579519, - "y": 384.1666831970215, - "z": "19ac43dc.b5de6c", - "wires": [ - [ - "d1e3ee4b.ceb14" - ] - ] - }, - { - "id": "d1e3ee4b.ceb14", - "type": "returnFailure", - "name": "return failure", - "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"service-information.service-instance-id is a required input\" />\n", - "comments": "", - "x": 814.8809607369558, - "y": 384.16668128967285, - "z": "19ac43dc.b5de6c", - "wires": [] - }, - { - "id": "286a5aeb.cd2826", - "type": "switchNode", - "name": "switch vnf-id", - "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.vnf-id`'>\n", - "comments": "", - "outputs": 1, - "x": 408.5238227844238, - "y": 427.6666774749756, - "z": "19ac43dc.b5de6c", - "wires": [ - [ - "bb28e2bc.36c43" - ] - ] - }, - { - "id": "bb28e2bc.36c43", - "type": "outcome", - "name": "NULL", - "xml": "<outcome value=''>", - "comments": "", - "outputs": 1, - "x": 663.8095321655273, - "y": 426.23810958862305, - "z": "19ac43dc.b5de6c", - "wires": [ - [ - "9c9ba7cb.f1d4b8" - ] - ] - }, - { - "id": "9c9ba7cb.f1d4b8", - "type": "returnFailure", - "name": "return failure", - "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-information.vnf-id is a required input\" />\n", - "comments": "", - "x": 815.2380981445312, - "y": 426.2381076812744, - "z": "19ac43dc.b5de6c", - "wires": [] - }, - { - "id": "217fcc81.9f4ba4", - "type": "switchNode", - "name": "switch aic-cloud-region", - "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>\n", - "comments": "", - "outputs": 1, - "x": 947.6666946411133, - "y": 570.238094329834, - "z": "19ac43dc.b5de6c", - "wires": [ - [ - "30f287b7.9d1118" - ] - ] - }, - { - "id": "30f287b7.9d1118", - "type": "outcome", - "name": "NULL", - "xml": "<outcome value=''>", - "comments": "", - "outputs": 1, - "x": 1174.3810119628906, - "y": 570.2381286621094, - "z": "19ac43dc.b5de6c", - "wires": [ - [ - "44a324d9.932adc" - ] - ] - }, - { - "id": "44a324d9.932adc", - "type": "returnFailure", - "name": "return failure", - "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-request-input.aic-cloud-region is a required input\" />\n", - "comments": "", - "x": 1325.8095779418945, - "y": 570.2381267547607, - "z": "19ac43dc.b5de6c", - "wires": [] - } + { + "id": "c428e8d.27cce18", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 189, + "y": 416.50000422341486, + "z": "a20f7f20.3dd04", + "wires": [ + [ + "3ab2d225.c8f26e", + "f97f4e94.92985", + "99754530.a920a8", + "77ab2ae3.a31c54", + "c2bc3d2d.6fb7d" + ] + ] + }, + { + "id": "3ab2d225.c8f26e", + "type": "switchNode", + "name": "switch svc-request-id", + "xml": "<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`'>\n", + "comments": "", + "outputs": 1, + "x": 471.7619094848633, + "y": 299.58034229278564, + "z": "a20f7f20.3dd04", + "wires": [ + [ + "a9a2f3f.7cb551" + ] + ] + }, + { + "id": "a9a2f3f.7cb551", + "type": "outcome", + "name": "NULL", + "xml": "<outcome value=''>", + "comments": "", + "outputs": 1, + "x": 697.476203918457, + "y": 299.5803461074829, + "z": "a20f7f20.3dd04", + "wires": [ + [ + "cb1db5f9.619c48" + ] + ] + }, + { + "id": "cb1db5f9.619c48", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-request-id is a required input\" />\n", + "comments": "", + "x": 848.9047698974609, + "y": 299.5803442001343, + "z": "a20f7f20.3dd04", + "wires": [ + + ] + }, + { + "id": "f97f4e94.92985", + "type": "switchNode", + "name": "switch svc-action", + "xml": "<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>\n", + "comments": "", + "outputs": 1, + "x": 460.3332726614817, + "y": 258.1517738614764, + "z": "a20f7f20.3dd04", + "wires": [ + [ + "4bce0fc2.589ce" + ] + ] + }, + { + "id": "4bce0fc2.589ce", + "type": "outcome", + "name": "NULL", + "xml": "<outcome value=''>", + "comments": "", + "outputs": 1, + "x": 696.0476243155344, + "y": 256.72317164284846, + "z": "a20f7f20.3dd04", + "wires": [ + [ + "8b6ba872.3b8a98" + ] + ] + }, + { + "id": "8b6ba872.3b8a98", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-action is a required input\" />\n", + "comments": "", + "x": 846.0475976126536, + "y": 256.7231811795916, + "z": "a20f7f20.3dd04", + "wires": [ + + ] + }, + { + "id": "99754530.a920a8", + "type": "switchNode", + "name": "switch request-action", + "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n", + "comments": "", + "outputs": 1, + "x": 470.33332606724343, + "y": 342.4374889646258, + "z": "a20f7f20.3dd04", + "wires": [ + [ + "1356b9d1.f1abc6" + ] + ] + }, + { + "id": "1356b9d1.f1abc6", + "type": "outcome", + "name": "NULL", + "xml": "<outcome value=''>", + "comments": "", + "outputs": 1, + "x": 697.4761995588033, + "y": 342.4374998637609, + "z": "a20f7f20.3dd04", + "wires": [ + [ + "9bdd0c3e.f5034" + ] + ] + }, + { + "id": "9bdd0c3e.f5034", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"request-information.request-action is a required input\" />\n", + "comments": "", + "x": 848.9047655378072, + "y": 342.43749795641224, + "z": "a20f7f20.3dd04", + "wires": [ + + ] + }, + { + "id": "77407e17.13aa", + "type": "switchNode", + "name": "switch model-customization-id", + "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`'>\n", + "comments": "", + "outputs": 1, + "x": 1004.7978782653809, + "y": 488.86625480651855, + "z": "a20f7f20.3dd04", + "wires": [ + [ + "c78e5862.3ed2f8" + ] + ] + }, + { + "id": "c78e5862.3ed2f8", + "type": "outcome", + "name": "NULL", + "xml": "<outcome value=''>", + "comments": "", + "outputs": 1, + "x": 1209.7978782653809, + "y": 488.86623764038086, + "z": "a20f7f20.3dd04", + "wires": [ + [ + "a0bae35d.bd0f3" + ] + ] + }, + { + "id": "a0bae35d.bd0f3", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-information.onap-model-information.model-customization-uuid is a required input\" />\n", + "comments": "", + "x": 1361.2264442443848, + "y": 488.8662357330322, + "z": "a20f7f20.3dd04", + "wires": [ + + ] + }, + { + "id": "9b39e778.02f938", + "type": "switchNode", + "name": "switch tenant", + "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.tenant`'>\n", + "comments": "", + "outputs": 1, + "x": 950.654956817627, + "y": 530.2947654724121, + "z": "a20f7f20.3dd04", + "wires": [ + [ + "204bc24c.52717e" + ] + ] + }, + { + "id": "204bc24c.52717e", + "type": "outcome", + "name": "NULL", + "xml": "<outcome value=''>", + "comments": "", + "outputs": 1, + "x": 1208.3692741394043, + "y": 530.2947998046875, + "z": "a20f7f20.3dd04", + "wires": [ + [ + "cd515ce9.de34" + ] + ] + }, + { + "id": "cd515ce9.de34", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-information.vnf-request-input.tenant is a required input\" />\n", + "comments": "", + "x": 1359.7978401184082, + "y": 530.2947978973389, + "z": "a20f7f20.3dd04", + "wires": [ + + ] + }, + { + "id": "38ecaf2a.7759a", + "type": "comment", + "name": "Validation of required fields", + "info": "", + "comments": "", + "x": 620.3332824707031, + "y": 213.86605644226074, + "z": "a20f7f20.3dd04", + "wires": [ + + ] + }, + { + "id": "77ab2ae3.a31c54", + "type": "switchNode", + "name": "switch svc-action", + "xml": "<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>\n", + "comments": "", + "outputs": 1, + "x": 455.5713806152344, + "y": 531.128080368042, + "z": "a20f7f20.3dd04", + "wires": [ + [ + "8e972969.bb2dd8" + ] + ] + }, + { + "id": "8e972969.bb2dd8", + "type": "outcome", + "name": "assign", + "xml": "<outcome value='assign'>\n", + "comments": "", + "outputs": 1, + "x": 618.0713806152344, + "y": 531.128080368042, + "z": "a20f7f20.3dd04", + "wires": [ + [ + "f91647c8.1d72f8" + ] + ] + }, + { + "id": "f91647c8.1d72f8", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 773.0713806152344, + "y": 531.128080368042, + "z": "a20f7f20.3dd04", + "wires": [ + [ + "77407e17.13aa", + "9b39e778.02f938", + "4108c244.bc563c" + ] + ] + }, + { + "id": "bfe21f2e.7dff3", + "type": "dgstart", + "name": "DGSTART", + "outputs": 1, + "x": 132.7500098092214, + "y": 86.41365623474121, + "z": "a20f7f20.3dd04", + "wires": [ + [ + "d64c66df.cad6c8" + ] + ] + }, + { + "id": "d64c66df.cad6c8", + "type": "service-logic", + "name": "GENERIC-RESOURCE-API ${project.version}", + "module": "GENERIC-RESOURCE-API", + "version": "${project.version}", + "comments": "", + "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>", + "outputs": 1, + "x": 208.03571537562766, + "y": 126.65176773071289, + "z": "a20f7f20.3dd04", + "wires": [ + [ + "2e84fc71.260244" + ] + ] + }, + { + "id": "2e84fc71.260244", + "type": "method", + "name": "method validate-vnf-input", + "xml": "<method rpc='validate-vnf-input' mode='sync'>\n", + "comments": "", + "outputs": 1, + "x": 183.42863682338157, + "y": 167.66365242004395, + "z": "a20f7f20.3dd04", + "wires": [ + [ + "c428e8d.27cce18" + ] + ] + }, + { + "id": "580b25f3.b0273c", + "type": "comment", + "name": "validate-vnf-input", + "info": "", + "comments": "", + "x": 527.0948660714284, + "y": 34, + "z": "a20f7f20.3dd04", + "wires": [ + + ] + }, + { + "id": "c2bc3d2d.6fb7d", + "type": "switchNode", + "name": "switch service-instance-id", + "xml": "<switch test='`$vnf-topology-operation-input.service-information.service-instance-id`'>\n", + "comments": "", + "outputs": 1, + "x": 483.3571570260183, + "y": 386.50001525878906, + "z": "a20f7f20.3dd04", + "wires": [ + [ + "4f2dc133.3331a" + ] + ] + }, + { + "id": "4f2dc133.3331a", + "type": "outcome", + "name": "NULL", + "xml": "<outcome value=''>", + "comments": "", + "outputs": 1, + "x": 695.7857382638113, + "y": 386.5000114440918, + "z": "a20f7f20.3dd04", + "wires": [ + [ + "46f09548.364bec" + ] + ] + }, + { + "id": "46f09548.364bec", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"service-information.service-instance-id is a required input\" />\n", + "comments": "", + "x": 847.2143042428152, + "y": 386.50000953674316, + "z": "a20f7f20.3dd04", + "wires": [ + + ] + }, + { + "id": "4108c244.bc563c", + "type": "switchNode", + "name": "switch aic-cloud-region", + "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>\n", + "comments": "", + "outputs": 1, + "x": 980.0000381469727, + "y": 572.5714225769043, + "z": "a20f7f20.3dd04", + "wires": [ + [ + "c4c6b560.de5ab8" + ] + ] + }, + { + "id": "c4c6b560.de5ab8", + "type": "outcome", + "name": "NULL", + "xml": "<outcome value=''>", + "comments": "", + "outputs": 1, + "x": 1206.71435546875, + "y": 572.5714569091797, + "z": "a20f7f20.3dd04", + "wires": [ + [ + "c4c87ecd.ccad2" + ] + ] + }, + { + "id": "c4c87ecd.ccad2", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-request-input.aic-cloud-region is a required input\" />\n", + "comments": "", + "x": 1358.142921447754, + "y": 572.571455001831, + "z": "a20f7f20.3dd04", + "wires": [ + + ] + } ] diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation.json index bfb38e5c..dcdfbec8 100644 --- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation.json +++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation.json @@ -1,271 +1,679 @@ [ - { - "id": "7fb1a187.9549f", - "type": "dgstart", - "name": "DGSTART", - "outputs": 1, - "x": 96.66666412353516, - "y": 86.66666412353516, - "z": "dcb795e3.12ddb8", - "wires": [ - [ - "c2b8a7b8.a5e428" - ] - ] - }, - { - "id": "c2b8a7b8.a5e428", - "type": "service-logic", - "name": "GENERIC-RESOURCE-API ${project.version}", - "module": "GENERIC-RESOURCE-API", - "version": "${project.version}", - "comments": "", - "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>", - "outputs": 1, - "x": 171.9523696899414, - "y": 126.90477561950684, - "z": "dcb795e3.12ddb8", - "wires": [ - [ - "89a5ce6c.8a947" - ] - ] - }, - { - "id": "89a5ce6c.8a947", - "type": "method", - "name": "method vnf-topology-operation", - "xml": "<method rpc='vnf-topology-operation' mode='sync'>\n", - "comments": "", - "outputs": 1, - "x": 165.0952911376953, - "y": 166.66665840148926, - "z": "dcb795e3.12ddb8", - "wires": [ - [ - "baea3ff6.bd225" - ] - ] - }, - { - "id": "435f3efd.64ab3", - "type": "comment", - "name": "vnf-topology-operation", - "info": "", - "comments": "", - "x": 491.0115203857422, - "y": 34.253007888793945, - "z": "dcb795e3.12ddb8", - "wires": [] - }, - { - "id": "baea3ff6.bd225", - "type": "block", - "name": "block : atomic", - "xml": "<block atomic=\"true\">", - "atomic": "true", - "outputs": 1, - "x": 177.8333740234375, - "y": 334.36017417907715, - "z": "dcb795e3.12ddb8", - "wires": [ - [ - "f2687cfc.01d4c", - "b4265d07.b24f2", - "b14b13c7.baa14" - ] - ] - }, - { - "id": "f2687cfc.01d4c", - "type": "returnSuccess", - "name": "return success", - "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n", - "comments": "", - "x": 470.3333282470703, - "y": 484.52420711517334, - "z": "dcb795e3.12ddb8", - "wires": [] - }, - { - "id": "b4265d07.b24f2", - "type": "switchNode", - "name": "switch svc-action", - "xml": "<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>\n", - "comments": "", - "outputs": 1, - "x": 473.23804473876953, - "y": 332.5714178085327, - "z": "dcb795e3.12ddb8", - "wires": [ - [ - "76164f7d.903b1", - "117347a9.8b7218", - "e07500fb.cff53", - "9b91fc07.60be4", - "bc77aaba.4aabe8" - ] - ] - }, - { - "id": "76164f7d.903b1", - "type": "outcome", - "name": "assign", - "xml": "<outcome value='assign'>\n", - "comments": "", - "outputs": 1, - "x": 672.0475540161133, - "y": 265.1905632019043, - "z": "dcb795e3.12ddb8", - "wires": [ - [ - "5ec13553.7c0efc" - ] - ] - }, - { - "id": "117347a9.8b7218", - "type": "outcome", - "name": "unassign", - "xml": "<outcome value='unassign'>\n", - "comments": "", - "outputs": 1, - "x": 676.0951766967773, - "y": 395.38128662109375, - "z": "dcb795e3.12ddb8", - "wires": [ - [ - "9d96816e.64ca5" - ] - ] - }, - { - "id": "9b91fc07.60be4", - "type": "other", - "name": "other", - "xml": "<outcome value='Other'>\n", - "comments": "", - "outputs": 1, - "x": 670.8094024658203, - "y": 439.57136249542236, - "z": "dcb795e3.12ddb8", - "wires": [ - [ - "2717cc4c.7bccc4" - ] - ] - }, - { - "id": "2717cc4c.7bccc4", - "type": "returnFailure", - "name": "return failure", - "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`$vnf-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`\" />\n", - "comments": "", - "x": 856.9998474121094, - "y": 439.5714273452759, - "z": "dcb795e3.12ddb8", - "wires": [] - }, - { - "id": "b14b13c7.baa14", - "type": "call", - "name": "call GENERIC-RESOURCE-API:validate-vnf-input", - "xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-vnf-input' mode='sync' >\n", - "comments": "", - "outputs": 1, - "x": 579.0832977294922, - "y": 224.04770278930664, - "z": "dcb795e3.12ddb8", - "wires": [ - [] - ] - }, - { - "id": "5ec13553.7c0efc", - "type": "call", - "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-assign", - "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign' mode='sync' >\n", - "comments": "", - "outputs": 1, - "x": 1014.1904067993164, - "y": 264.76202392578125, - "z": "dcb795e3.12ddb8", - "wires": [ - [] - ] - }, - { - "id": "3e660d10.204032", - "type": "call", - "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-deactivate", - "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-deactivate' mode='sync' >\n", - "comments": "", - "outputs": 1, - "x": 1025.5236740112305, - "y": 349.0953722000122, - "z": "dcb795e3.12ddb8", - "wires": [ - [] - ] - }, - { - "id": "9d96816e.64ca5", - "type": "call", - "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-unassign", - "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-unassign' mode='sync' >\n", - "comments": "", - "outputs": 1, - "x": 1021.1902732849121, - "y": 395.0954179763794, - "z": "dcb795e3.12ddb8", - "wires": [ - [] - ] - }, - { - "id": "e07500fb.cff53", - "type": "outcome", - "name": "deactivate", - "xml": "<outcome value='deactivate'>\n", - "comments": "", - "outputs": 1, - "x": 681.190315246582, - "y": 349.76204776763916, - "z": "dcb795e3.12ddb8", - "wires": [ - [ - "3e660d10.204032" - ] - ] - }, - { - "id": "1d805763.8f6c79", - "type": "call", - "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-activate", - "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-activate' mode='sync' >\n", - "comments": "", - "outputs": 1, - "x": 1018.333251953125, - "y": 306.6666555404663, - "z": "dcb795e3.12ddb8", - "wires": [ - [] - ] - }, - { - "id": "bc77aaba.4aabe8", - "type": "outcome", - "name": "activate", - "xml": "<outcome value='activate'>\n", - "comments": "", - "outputs": 1, - "x": 674.9998931884766, - "y": 307.33333110809326, - "z": "dcb795e3.12ddb8", - "wires": [ - [ - "1d805763.8f6c79" - ] - ] - } + { + "id": "1b5f4355.88b3ed", + "type": "dgstart", + "name": "DGSTART", + "outputs": 1, + "x": 136, + "y": 81.41365623474121, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "92410749.e30c28" + ] + ] + }, + { + "id": "92410749.e30c28", + "type": "service-logic", + "name": "GENERIC-RESOURCE-API ${project.version}", + "module": "GENERIC-RESOURCE-API", + "version": "${project.version}", + "comments": "", + "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>", + "outputs": 1, + "x": 211.28570556640625, + "y": 121.65176773071289, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "de7a7cf0.2991d" + ] + ] + }, + { + "id": "de7a7cf0.2991d", + "type": "method", + "name": "method vnf-topology-operation", + "xml": "<method rpc='vnf-topology-operation' mode='sync'>\n", + "comments": "", + "outputs": 1, + "x": 204.42862701416016, + "y": 161.4136505126953, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "867be286.94ccc" + ] + ] + }, + { + "id": "281a9dd6.337dd2", + "type": "comment", + "name": "vnf-topology-operation", + "info": "", + "comments": "", + "x": 530.344856262207, + "y": 29, + "z": "c9c2af7b.65cd3", + "wires": [ + + ] + }, + { + "id": "867be286.94ccc", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 220.16676330566406, + "y": 348.10718727111816, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "fe43f540.d09078", + "15193abc.c22c05", + "fc3ae627.2d5b18" + ] + ] + }, + { + "id": "fe43f540.d09078", + "type": "returnSuccess", + "name": "return success", + "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n", + "comments": "", + "x": 512.6667175292969, + "y": 498.27122020721436, + "z": "c9c2af7b.65cd3", + "wires": [ + + ] + }, + { + "id": "15193abc.c22c05", + "type": "switchNode", + "name": "switch svc-action", + "xml": "<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>\n", + "comments": "", + "outputs": 1, + "x": 515.5714340209961, + "y": 346.31843090057373, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "a43184a6.086e28", + "7b06cbd3.e89e84", + "dae5d288.e7a92", + "7acf72d2.60660c", + "2e7ef9bc.356346", + "d945d7c6.11f878", + "bd3763ee.b90e6" + ] + ] + }, + { + "id": "a43184a6.086e28", + "type": "outcome", + "name": "assign", + "xml": "<outcome value='assign'>\n", + "comments": "", + "outputs": 1, + "x": 927.3809661865234, + "y": 56.937567710876465, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "19bbb0d.1420e4f" + ] + ] + }, + { + "id": "7b06cbd3.e89e84", + "type": "outcome", + "name": "unassign", + "xml": "<outcome value='unassign'>\n", + "comments": "", + "outputs": 1, + "x": 943.4286308288574, + "y": 487.12828254699707, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "c0267b56.9f8598" + ] + ] + }, + { + "id": "7acf72d2.60660c", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 932.1428680419922, + "y": 867.3183660507202, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "7fb1d50a.a61dfc" + ] + ] + }, + { + "id": "7fb1d50a.a61dfc", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`$vnf-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`\" />\n", + "comments": "", + "x": 1165.3332977294922, + "y": 867.3184270858765, + "z": "c9c2af7b.65cd3", + "wires": [ + + ] + }, + { + "id": "fc3ae627.2d5b18", + "type": "call", + "name": "call GENERIC-RESOURCE-API:validate-vnf-input", + "xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-vnf-input' mode='sync' >\n", + "comments": "", + "outputs": 1, + "x": 621.4166870117188, + "y": 237.79471588134766, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + + ] + ] + }, + { + "id": "19bbb0d.1420e4f", + "type": "call", + "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-assign", + "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign' mode='sync' >\n", + "comments": "", + "outputs": 1, + "x": 1269.5238189697266, + "y": 56.50902843475342, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + + ] + ] + }, + { + "id": "989adce1.617b6", + "type": "call", + "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-deactivate", + "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-deactivate' mode='sync' >\n", + "comments": "", + "outputs": 1, + "x": 1750.8571319580078, + "y": 399.84235858917236, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + + ] + ] + }, + { + "id": "c0267b56.9f8598", + "type": "call", + "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-unassign", + "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-unassign' mode='sync' >\n", + "comments": "", + "outputs": 1, + "x": 1288.5237274169922, + "y": 486.8424139022827, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + + ] + ] + }, + { + "id": "dae5d288.e7a92", + "type": "outcome", + "name": "deactivate", + "xml": "<outcome value='deactivate'>\n", + "comments": "", + "outputs": 1, + "x": 950.5237579345703, + "y": 342.5090456008911, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "d35c6654.dff7f8" + ] + ] + }, + { + "id": "b233aed1.7cc8b", + "type": "call", + "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-activate", + "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-activate' mode='sync' >\n", + "comments": "", + "outputs": 1, + "x": 1692.6665802001953, + "y": 221.41364765167236, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + + ] + ] + }, + { + "id": "2e7ef9bc.356346", + "type": "outcome", + "name": "activate", + "xml": "<outcome value='activate'>\n", + "comments": "", + "outputs": 1, + "x": 930.3333053588867, + "y": 148.08033561706543, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "b8b2367a.dc9308" + ] + ] + }, + { + "id": "d945d7c6.11f878", + "type": "outcome", + "name": "create", + "xml": "<outcome value='create'>\n", + "comments": "", + "outputs": 1, + "x": 945.0001182556152, + "y": 587.5000038146973, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "11cfb10a.0c9b2f" + ] + ] + }, + { + "id": "bd3763ee.b90e6", + "type": "outcome", + "name": "delete", + "xml": "<outcome value='delete'>\n", + "comments": "", + "outputs": 1, + "x": 943.0001068115234, + "y": 730.5000066757202, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "b6227308.758fb" + ] + ] + }, + { + "id": "3b079f6f.6575e", + "type": "switchNode", + "name": "switch request-action", + "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n", + "comments": "", + "outputs": 1, + "x": 1172.0000762939453, + "y": 198.5000123977661, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "91e1f35b.e83e1", + "9ab20bbe.72bfe8" + ] + ] + }, + { + "id": "9ab20bbe.72bfe8", + "type": "outcome", + "name": "ActivateSiteInstance", + "xml": "<outcome value='ActivateSiteInstance'>", + "comments": "", + "outputs": 1, + "x": 1385.4762725830078, + "y": 129.979229927063, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "cc08e8cd.1386a8" + ] + ] + }, + { + "id": "91e1f35b.e83e1", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 1354.381004333496, + "y": 221.3572244644165, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "b233aed1.7cc8b" + ] + ] + }, + { + "id": "b8b2367a.dc9308", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 1111.0000762939453, + "y": 143.5000123977661, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "3b079f6f.6575e" + ] + ] + }, + { + "id": "cc08e8cd.1386a8", + "type": "call", + "name": "call GENERIC-RESOURCE-API:sotn-vnf-topology-operation-activate", + "xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-vnf-topology-operation-activate' mode='sync' >\n", + "comments": "", + "outputs": 1, + "x": 1759.0000762939453, + "y": 128.5000123977661, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + + ] + ] + }, + { + "id": "c5b71763.802b68", + "type": "switchNode", + "name": "switch request-action", + "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n", + "comments": "", + "outputs": 1, + "x": 1213.0000762939453, + "y": 375.5000123977661, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "68410e70.ad006", + "bb394983.2aedd8" + ] + ] + }, + { + "id": "bb394983.2aedd8", + "type": "outcome", + "name": "DeActivateSiteInstance", + "xml": "<outcome value='DeActivateSiteInstance'>", + "comments": "", + "outputs": 1, + "x": 1426.4762725830078, + "y": 306.979229927063, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "91176b7.7e10a98" + ] + ] + }, + { + "id": "68410e70.ad006", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 1395.381004333496, + "y": 398.3572244644165, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "989adce1.617b6" + ] + ] + }, + { + "id": "d35c6654.dff7f8", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 1152.0000762939453, + "y": 320.5000123977661, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "c5b71763.802b68" + ] + ] + }, + { + "id": "91176b7.7e10a98", + "type": "call", + "name": "call GENERIC-RESOURCE-API:sotn-vnf-topology-operation-deactivate", + "xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-vnf-topology-operation-deactivate' mode='sync' >\n", + "comments": "", + "outputs": 1, + "x": 1796.0000762939453, + "y": 304.5000123977661, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + + ] + ] + }, + { + "id": "2493a0e1.8557e", + "type": "switchNode", + "name": "switch request-action", + "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n", + "comments": "", + "outputs": 1, + "x": 1188.3336029052734, + "y": 640.086371421814, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "83563263.c6fd7", + "db1508ed.23aba8" + ] + ] + }, + { + "id": "db1508ed.23aba8", + "type": "outcome", + "name": "CreateSiteInstance", + "xml": "<outcome value='CreateSiteInstance'>", + "comments": "", + "outputs": 1, + "x": 1401.809799194336, + "y": 571.5655889511108, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "614f2a06.d13b14" + ] + ] + }, + { + "id": "83563263.c6fd7", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 1370.7145309448242, + "y": 662.9435834884644, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "b50447b1.828c48" + ] + ] + }, + { + "id": "11cfb10a.0c9b2f", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 1127.3336029052734, + "y": 585.086371421814, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "2493a0e1.8557e" + ] + ] + }, + { + "id": "614f2a06.d13b14", + "type": "call", + "name": "call GENERIC-RESOURCE-API:sotn-vnf-topology-operation-create", + "xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-vnf-topology-operation-create' mode='sync' >\n", + "comments": "", + "outputs": 1, + "x": 1775.3336029052734, + "y": 570.086371421814, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + + ] + ] + }, + { + "id": "b50447b1.828c48", + "type": "block", + "name": "block", + "xml": "<block>\n", + "atomic": "false", + "comments": "", + "outputs": 1, + "x": 1511.0001068115234, + "y": 664.0000066757202, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + + ] + ] + }, + { + "id": "ae568733.43d4f8", + "type": "switchNode", + "name": "switch request-action", + "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n", + "comments": "", + "outputs": 1, + "x": 1189.0001068115234, + "y": 783.0000066757202, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "7dcf461f.f62e18", + "3e92266c.ac902a" + ] + ] + }, + { + "id": "3e92266c.ac902a", + "type": "outcome", + "name": "DeleteSiteInstance", + "xml": "<outcome value='DeleteSiteInstance'>", + "comments": "", + "outputs": 1, + "x": 1402.476303100586, + "y": 714.4792242050171, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "bb58fef3.31757" + ] + ] + }, + { + "id": "7dcf461f.f62e18", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 1371.3810348510742, + "y": 805.8572187423706, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "efc8c613.2b0088" + ] + ] + }, + { + "id": "b6227308.758fb", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 1128.0001068115234, + "y": 728.0000066757202, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + "ae568733.43d4f8" + ] + ] + }, + { + "id": "bb58fef3.31757", + "type": "call", + "name": "call GENERIC-RESOURCE-API:sotn-vnf-topology-operation-delete", + "xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-vnf-topology-operation-delete' mode='sync' >\n", + "comments": "", + "outputs": 1, + "x": 1776.0001068115234, + "y": 713.0000066757202, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + + ] + ] + }, + { + "id": "efc8c613.2b0088", + "type": "block", + "name": "block", + "xml": "<block>\n", + "atomic": "false", + "comments": "", + "outputs": 1, + "x": 1511.6666107177734, + "y": 806.9136419296265, + "z": "c9c2af7b.65cd3", + "wires": [ + [ + + ] + ] + } ] diff --git a/platform-logic/generic-resource-api/src/main/resources/graph.versions b/platform-logic/generic-resource-api/src/main/resources/graph.versions index 73e4f7c1..d0e98086 100644 --- a/platform-logic/generic-resource-api/src/main/resources/graph.versions +++ b/platform-logic/generic-resource-api/src/main/resources/graph.versions @@ -80,4 +80,8 @@ GENERIC-RESOURCE-API sotn-network-topology-operation-create ${project.version} s GENERIC-RESOURCE-API sotn-network-topology-operation-delete ${project.version} sync GENERIC-RESOURCE-API sotn-network-topology-operation-activate ${project.version} sync GENERIC-RESOURCE-API sotn-network-topology-operation-deactivate ${project.version} sync -GENERIC-RESOURCE-API validate-sotn-network-input-parameters ${project.version} sync
\ No newline at end of file +GENERIC-RESOURCE-API validate-sotn-network-input-parameters ${project.version} sync +GENERIC-RESOURCE-API site-vnf-topology-operation-create ${project.version} sync +GENERIC-RESOURCE-API site-vnf-topology-operation-delete ${project.version} sync +GENERIC-RESOURCE-API site-vnf-topology-operation-activate ${project.version} sync +GENERIC-RESOURCE-API site-vnf-topology-operation-deactivate ${project.version} sync
\ No newline at end of file diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-activate.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-activate.xml new file mode 100644 index 00000000..0078f07d --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-activate.xml @@ -0,0 +1,149 @@ +<service-logic + xmlns='http://www.onap.org/sdnc/svclogic' + xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'> + <method rpc='site-vnf-topology-operation-activate' mode='sync'> + <block atomic="true"> + <switch test='`$service-data.vnfs.vnf_length`'> + <outcome value='0'> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" /> + </return> + </outcome> + <outcome value=''> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" /> + </return> + </outcome> + <outcome value='Other'> + <block atomic="true"> + <for index='vidx' start='0' end='`$service-data.vnfs.vnf_length`' > + <switch test="`$service-data.vnfs.vnf[$vidx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`"> + <outcome value='true'> + <set> + <parameter name='tmp.vidx' value='`$vidx`' /> + <parameter name='ctx.vnf-data.' value='`$service-data.vnfs.vnf[$vidx].`' /> + </set> + </outcome> + </switch> + </for> + <switch test="`$tmp.vidx`"> + <outcome value=''> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" /> + </return> + </outcome> + </switch> + </block> + </outcome> + </switch> + <set> + <parameter name='tmp.sdwan.site' value='false' /> + </set> + <for index='idx' start='0' end='`$ctx.vnf-data.vnf-request-input.vnf-input-parameters.param_length`' > + <block> + <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'id'`"> + <outcome value='true'> + <set> + <parameter name='prop.site.id' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'name'`"> + <outcome value='true'> + <set> + <parameter name='prop.site.name' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'description'`"> + <outcome value='true'> + <set> + <parameter name='prop.site.description' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'location'`"> + <outcome value='true'> + <set> + <parameter name='prop.site.location' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'type'`"> + <outcome value='true'> + <set> + <parameter name='prop.site.type' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + <parameter name='tmp.sdwan.site' value='true' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'role'`"> + <outcome value='true'> + <set> + <parameter name='prop.site.role' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + <parameter name='tmp.sdwan.site' value='true' /> + </set> + </outcome> + </switch> + </block> + </for> + <switch test="`$tmp.sdwan.site`"> + <outcome value='false'> + <block></block> + </outcome> + <outcome value='true'> + <block atomic="true"></block> + </outcome> + </switch> + <set> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id' value='`$prop.vnf-index`' /> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' /> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' /> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' /> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' /> + </set> + <set> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='Active' /> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' /> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' /> + </set> + <set> + <parameter name='vnfId' value='`$prop.vnf-index`' /> + <parameter name="vnf-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` " /> + </set> + <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='generic-vnf' + key='generic-vnf.vnf-id = $prop.vnf-index' > + <parameter name='vnf-id' value='`$prop.vnf-index`' /> + <parameter name='in-maint' value='true' /> + <parameter name='is-closed-loop-disabled' value='false' /> + <parameter name='orchestration-status' value='Active' /> + <parameter name='operational-status' value='Active' /> + <parameter name='model-customization-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' /> + <parameter name='model-invariant-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' /> + <parameter name='model-version-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' /> + <parameter name='selflink' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` " /> + </update> + <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list' + key='service-instance.service-instance-id = $service-data.service-information.service-instance-id + AND customer.global-customer-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.global-customer-id + AND service-subscription.service-type = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.subscription-service-type' + force="true" pfx="tmp.AnAI-data"> + <parameter name="relationship-list.relationship[0].related-to" value="generic-vnf" /> + <parameter name="relationship-list.relationship[0].related-link" value="`'/network/generic-vnfs/generic-vnf/' + $prop.vnf-index`" /> + <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="generic-vnf.vnf-id" /> + <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.vnf-index`" /> + </save> + <return status='success'> + <parameter name="ack-final-indicator" value="Y" /> + <parameter name="error-code" value="200" /> + <parameter name="error-message" value="`$error-message`" /> + </return> + </block> + </method> +</service-logic> diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-create.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-create.xml new file mode 100644 index 00000000..ab728d7c --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-create.xml @@ -0,0 +1,137 @@ +<service-logic + xmlns='http://www.onap.org/sdnc/svclogic' + xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'> + <method rpc='site-vnf-topology-operation-create' mode='sync'> + <block atomic="true"> + <for index="idx" start="0" end="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`"> + <block> + <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'id'`"> + <outcome value='true'> + <set> + <parameter name='prop.site.id' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'name'`"> + <outcome value='true'> + <set> + <parameter name='prop.site.name' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'description'`"> + <outcome value='true'> + <set> + <parameter name='prop.site.description' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'location'`"> + <outcome value='true'> + <set> + <parameter name='prop.site.location' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'type'`"> + <outcome value='true'> + <set> + <parameter name='prop.site.type' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'role'`"> + <outcome value='true'> + <set> + <parameter name='prop.site.role' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + </block> + </for> + <switch test='`$service-data.vnfs.vnf_length`'> + <outcome value=''> + <set> + <parameter name='vnf-index' value='0' /> + </set> + </outcome> + <outcome value='Other'> + <block> + <set> + <parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' /> + </set> + <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' > + <switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'> + <outcome value='true'> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id + + ' already exists, and has order status ' + $service-data.vnfs.vnf[$idx].vnf-data.vnf-level-oper-status.order-status`" /> + </return> + </outcome> + </switch> + </for> + </block> + </outcome> + </switch> + <set> + <parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' /> + </set> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' > + <parameter name="ctx-destination" value="prop.vnf-index"/> + </execute> + <set> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id' value='`$prop.vnf-index`' /> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' /> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' /> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' /> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' /> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' /> + </set> + <set> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.vnf-id' value='`$prop.vnf-index`' /> + </set> + <set> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='Created' /> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' /> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' /> + </set> + <set> + <parameter name='vnfId' value='`$prop.vnf-index`' /> + <parameter name="vnf-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` " /> + </set> + <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='generic-vnf' + key='generic-vnf.vnf-id = $prop.vnf-index' > + <parameter name='vnf-id' value='`$prop.vnf-index`' /> + <parameter name='vnf-name' value='`$prop.site.name`' /> + <parameter name='vnf-name2' value='`$prop.site.description`' /> + <parameter name='regional-resource-zone' value='`$prop.site.location`' /> + <parameter name='vnf-type' value='prop.site.type' /> + <parameter name='in-maint' value='true' /> + <parameter name='is-closed-loop-disabled' value='false' /> + <parameter name='orchestration-status' value='Created' /> + <parameter name='operational-status' value='Created' /> + <parameter name='model-customization-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' /> + <parameter name='model-invariant-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' /> + <parameter name='model-version-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' /> + <parameter name='selflink' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` " /> + </save> + <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list' + key='service-instance.service-instance-id = $service-data.service-information.service-instance-id + AND customer.global-customer-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.global-customer-id + AND service-subscription.service-type = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.subscription-service-type' + force="true" pfx="tmp.AnAI-data"> + <parameter name="relationship-list.relationship[0].related-to" value="generic-vnf" /> + <parameter name="relationship-list.relationship[0].related-link" value="`'/network/generic-vnfs/generic-vnf/' + $prop.vnf-index`" /> + <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="generic-vnf.vnf-id" /> + <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.vnf-index`" /> + </save> + <return status='success'> + <parameter name="ack-final-indicator" value="Y" /> + <parameter name="error-code" value="200" /> + <parameter name="error-message" value="`$error-message`" /> + </return> + </block> + </method> +</service-logic> diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-deactivate.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-deactivate.xml new file mode 100644 index 00000000..373706fd --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-deactivate.xml @@ -0,0 +1,149 @@ +<service-logic + xmlns='http://www.onap.org/sdnc/svclogic' + xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'> + <method rpc='site-vnf-topology-operation-deactivate' mode='sync'> + <block atomic="true"> + <switch test='`$service-data.vnfs.vnf_length`'> + <outcome value='0'> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" /> + </return> + </outcome> + <outcome value=''> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" /> + </return> + </outcome> + <outcome value='Other'> + <block atomic="true"> + <for index='vidx' start='0' end='`$service-data.vnfs.vnf_length`' > + <switch test="`$service-data.vnfs.vnf[$vidx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`"> + <outcome value='true'> + <set> + <parameter name='tmp.vidx' value='`$vidx`' /> + <parameter name='ctx.vnf-data.' value='`$service-data.vnfs.vnf[$vidx].`' /> + </set> + </outcome> + </switch> + </for> + <switch test="`$tmp.vidx`"> + <outcome value=''> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" /> + </return> + </outcome> + </switch> + </block> + </outcome> + </switch> + <set> + <parameter name='tmp.sdwan.site' value='false' /> + </set> + <for index='idx' start='0' end='`$ctx.vnf-data.vnf-request-input.vnf-input-parameters.param_length`' > + <block> + <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'id'`"> + <outcome value='true'> + <set> + <parameter name='prop.site.id' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'name'`"> + <outcome value='true'> + <set> + <parameter name='prop.site.name' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'description'`"> + <outcome value='true'> + <set> + <parameter name='prop.site.description' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'location'`"> + <outcome value='true'> + <set> + <parameter name='prop.site.location' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'type'`"> + <outcome value='true'> + <set> + <parameter name='prop.site.type' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + <parameter name='tmp.sdwan.site' value='true' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'role'`"> + <outcome value='true'> + <set> + <parameter name='prop.site.role' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + <parameter name='tmp.sdwan.site' value='true' /> + </set> + </outcome> + </switch> + </block> + </for> + <switch test="`$tmp.sdwan.site`"> + <outcome value='false'> + <block></block> + </outcome> + <outcome value='true'> + <block atomic="true"></block> + </outcome> + </switch> + <set> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id' value='`$prop.vnf-index`' /> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' /> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' /> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' /> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' /> + </set> + <set> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingDelete' /> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' /> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' /> + </set> + <set> + <parameter name='vnfId' value='`$prop.vnf-index`' /> + <parameter name="vnf-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` " /> + </set> + <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='generic-vnf' + key='generic-vnf.vnf-id = $prop.vnf-index' > + <parameter name='vnf-id' value='`$prop.vnf-index`' /> + <parameter name='in-maint' value='true' /> + <parameter name='is-closed-loop-disabled' value='false' /> + <parameter name='orchestration-status' value='PendingDelete' /> + <parameter name='operational-status' value='PendingDelete' /> + <parameter name='model-customization-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' /> + <parameter name='model-invariant-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' /> + <parameter name='model-version-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' /> + <parameter name='selflink' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` " /> + </update> + <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list' + key='service-instance.service-instance-id = $service-data.service-information.service-instance-id + AND customer.global-customer-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.global-customer-id + AND service-subscription.service-type = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.subscription-service-type' + force="true" pfx="tmp.AnAI-data"> + <parameter name="relationship-list.relationship[0].related-to" value="generic-vnf" /> + <parameter name="relationship-list.relationship[0].related-link" value="`'/network/generic-vnfs/generic-vnf/' + $prop.vnf-index`" /> + <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="generic-vnf.vnf-id" /> + <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.vnf-index`" /> + </save> + <return status='success'> + <parameter name="ack-final-indicator" value="Y" /> + <parameter name="error-code" value="200" /> + <parameter name="error-message" value="`$error-message`" /> + </return> + </block> + </method> +</service-logic> diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-delete.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-delete.xml new file mode 100644 index 00000000..2bba7f30 --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_site-vnf-topology-operation-delete.xml @@ -0,0 +1,101 @@ +<service-logic + xmlns='http://www.onap.org/sdnc/svclogic' + xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'> + <method rpc='site-vnf-topology-operation-delete' mode='sync'> + <block atomic="true"> + <switch test='`$service-data.vnfs.vnf_length`'> + <outcome value='0'> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" /> + </return> + </outcome> + <outcome value=''> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" /> + </return> + </outcome> + <outcome value='Other'> + <block atomic="true"> + <for index='vidx' start='0' end='`$service-data.vnfs.vnf_length`' > + <switch test="`$service-data.vnfs.vnf[$vidx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`"> + <outcome value='true'> + <set> + <parameter name='tmp.vidx' value='`$vidx`' /> + <parameter name='ctx.vnf-data.' value='`$service-data.vnfs.vnf[$vidx].`' /> + </set> + </outcome> + </switch> + </for> + <switch test="`$tmp.vidx`"> + <outcome value=''> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" /> + </return> + </outcome> + </switch> + </block> + </outcome> + </switch> + <switch test="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status == 'PendingDelete'`"> + <outcome value='false'> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Cannot delete a VNF in a Created state" /> + </return> + </outcome> + </switch> + <switch test="`$ctx.vnf-data.vf-modules.vf-module_length`"> + <outcome value='0'> + <block></block> + </outcome> + <outcome value=''> + <block></block> + </outcome> + <outcome value='Other'> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Cannot delete the VNF because there are VFs defined" /> + </return> + </outcome> + </switch> + <switch test='`$service-data.vnfs.vnf_length`'> + <outcome value='1'> + <set> + <parameter name="service-data.vnfs." value=""/> + </set> + </outcome> + <outcome value='Other'> + <block atomic="true"> + <for index='idx' start='`$vnf-index + 1`' end='`$service-data.vnfs.vnf_length`' > + <set> + <parameter name="$tmpidx" value="`$idx - 1`"/> + <parameter name="service-data.vnfs.vnf[$tmpidx]." value="$service-data.vnfs.vnf[$idx]." /> + </set> + </for> + <set> + <parameter name="service-data.vnfs.vnf[$service-data.vnfs.vnf_length-1]." value=""/> + </set> + <set> + <parameter name="service-data.vnfs.vnf_length" value="`$service-data.vnfs.vnf_length - 1`"/> + </set> + </block> + </outcome> + </switch> + <delete plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='generic-vnf' + key='generic-vnf.vnf-id = $prop.vnf-index' ></delete> + <return status='success'> + <parameter name="ack-final-indicator" value="Y" /> + <parameter name="error-code" value="200" /> + <parameter name="error-message" value="`$error-message`" /> + </return> + </block> + </method> +</service-logic> diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-vnf-input.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-vnf-input.xml index c9515f24..744ab373 100755..100644 --- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-vnf-input.xml +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-vnf-input.xml @@ -1,44 +1,77 @@ -<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'><method rpc='validate-vnf-input' mode='sync'>
-<block atomic="true"><switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>
-<outcome value=''><return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="sdnc-request-header.svc-action is a required input" />
-</return></outcome></switch><switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`'>
-<outcome value=''><return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="sdnc-request-header.svc-request-id is a required input" />
-</return></outcome></switch><switch test='`$vnf-topology-operation-input.request-information.request-action`'>
-<outcome value=''><return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="request-information.request-action is a required input" />
-</return></outcome></switch><switch test='`$vnf-topology-operation-input.service-information.service-instance-id`'>
-<outcome value=''><return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="service-information.service-instance-id is a required input" />
-</return></outcome></switch><switch test='`$vnf-topology-operation-input.vnf-information.vnf-id`'>
-<outcome value=''><return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="vnf-information.vnf-id is a required input" />
-</return></outcome></switch><switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>
-<outcome value='assign'>
-<block atomic="true"><switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`'>
-<outcome value=''><return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="vnf-information.onap-model-information.model-customization-uuid is a required input" />
-</return></outcome></switch><switch test='`$vnf-topology-operation-input.vnf-request-input.tenant`'>
-<outcome value=''><return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="vnf-information.vnf-request-input.tenant is a required input" />
-</return></outcome></switch><switch test='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>
-<outcome value=''><return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="vnf-request-input.aic-cloud-region is a required input" />
-</return></outcome></switch></block></outcome></switch></block></method></service-logic> +<service-logic + xmlns='http://www.onap.org/sdnc/svclogic' + xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'> + <method rpc='validate-vnf-input' mode='sync'> + <block atomic="true"> + <switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'> + <outcome value=''> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="sdnc-request-header.svc-action is a required input" /> + </return> + </outcome> + </switch> + <switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`'> + <outcome value=''> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="sdnc-request-header.svc-request-id is a required input" /> + </return> + </outcome> + </switch> + <switch test='`$vnf-topology-operation-input.request-information.request-action`'> + <outcome value=''> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="request-information.request-action is a required input" /> + </return> + </outcome> + </switch> + <switch test='`$vnf-topology-operation-input.service-information.service-instance-id`'> + <outcome value=''> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="service-information.service-instance-id is a required input" /> + </return> + </outcome> + </switch> + <switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'> + <outcome value='assign'> + <block atomic="true"> + <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`'> + <outcome value=''> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="vnf-information.onap-model-information.model-customization-uuid is a required input" /> + </return> + </outcome> + </switch> + <switch test='`$vnf-topology-operation-input.vnf-request-input.tenant`'> + <outcome value=''> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="vnf-information.vnf-request-input.tenant is a required input" /> + </return> + </outcome> + </switch> + <switch test='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'> + <outcome value=''> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="vnf-request-input.aic-cloud-region is a required input" /> + </return> + </outcome> + </switch> + </block> + </outcome> + </switch> + </block> + </method> +</service-logic> diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation.xml index 9f4ee0e6..669ed75d 100755..100644 --- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation.xml +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation.xml @@ -1,21 +1,77 @@ -<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'><method rpc='vnf-topology-operation' mode='sync'>
-<block atomic="true"><call module='GENERIC-RESOURCE-API' rpc='validate-vnf-input' mode='sync' >
-</call><switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>
-<outcome value='assign'>
-<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign' mode='sync' >
-</call></outcome><outcome value='activate'>
-<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-activate' mode='sync' >
-</call></outcome><outcome value='deactivate'>
-<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-deactivate' mode='sync' >
-</call></outcome><outcome value='unassign'>
-<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-unassign' mode='sync' >
-</call></outcome><outcome value='Other'>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$vnf-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`" />
-</return></outcome></switch><return status='success'>
-<parameter name="ack-final-indicator" value="Y" />
-<parameter name="error-code" value="200" />
-<parameter name="error-message" value="`$error-message`" />
-</return></block></method></service-logic> +<service-logic + xmlns='http://www.onap.org/sdnc/svclogic' + xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'> + <method rpc='vnf-topology-operation' mode='sync'> + <block atomic="true"> + <call module='GENERIC-RESOURCE-API' rpc='validate-vnf-input' mode='sync' ></call> + <switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'> + <outcome value='assign'> + <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign' mode='sync' ></call> + </outcome> + <outcome value='activate'> + <block atomic="true"> + <switch test='`$vnf-topology-operation-input.request-information.request-action`'> + <outcome value='ActivateSiteInstance'> + <call module='GENERIC-RESOURCE-API' rpc='sotn-vnf-topology-operation-activate' mode='sync' ></call> + </outcome> + <outcome value='Other'> + <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-activate' mode='sync' ></call> + </outcome> + </switch> + </block> + </outcome> + <outcome value='deactivate'> + <block atomic="true"> + <switch test='`$vnf-topology-operation-input.request-information.request-action`'> + <outcome value='DeActivateSiteInstance'> + <call module='GENERIC-RESOURCE-API' rpc='sotn-vnf-topology-operation-deactivate' mode='sync' ></call> + </outcome> + <outcome value='Other'> + <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-deactivate' mode='sync' ></call> + </outcome> + </switch> + </block> + </outcome> + <outcome value='unassign'> + <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-unassign' mode='sync' ></call> + </outcome> + <outcome value='create'> + <block atomic="true"> + <switch test='`$vnf-topology-operation-input.request-information.request-action`'> + <outcome value='CreateSiteInstance'> + <call module='GENERIC-RESOURCE-API' rpc='sotn-vnf-topology-operation-create' mode='sync' ></call> + </outcome> + <outcome value='Other'> + <block></block> + </outcome> + </switch> + </block> + </outcome> + <outcome value='delete'> + <block atomic="true"> + <switch test='`$vnf-topology-operation-input.request-information.request-action`'> + <outcome value='DeleteSiteInstance'> + <call module='GENERIC-RESOURCE-API' rpc='sotn-vnf-topology-operation-delete' mode='sync' ></call> + </outcome> + <outcome value='Other'> + <block></block> + </outcome> + </switch> + </block> + </outcome> + <outcome value='Other'> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="`$vnf-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`" /> + </return> + </outcome> + </switch> + <return status='success'> + <parameter name="ack-final-indicator" value="Y" /> + <parameter name="error-code" value="200" /> + <parameter name="error-message" value="`$error-message`" /> + </return> + </block> + </method> +</service-logic> |