diff options
12 files changed, 4050 insertions, 62 deletions
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-get-device-param.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-get-device-param.json new file mode 100644 index 00000000..9d0c3722 --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-get-device-param.json @@ -0,0 +1,551 @@ +[ + { + "id": "e671d21c.c380e", + "type": "dgstart", + "name": "DGSTART", + "outputs": 1, + "x": 277.03125, + "y": 215.03125, + "z": "1814fac9.dedad5", + "wires": [ + [ + "f0968433.54c598" + ] + ] + }, + { + "id": "f0968433.54c598", + "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": 489.03125381469727, + "y": 287.0312671661377, + "z": "1814fac9.dedad5", + "wires": [ + [ + "7b5a64d7.27af4c" + ] + ] + }, + { + "id": "7b5a64d7.27af4c", + "type": "method", + "name": "sdwan-get-device-param", + "xml": "<method rpc='sdwan-get-device-param' mode='sync'>\n", + "comments": "", + "outputs": 1, + "x": 477.0313720703125, + "y": 375.03125, + "z": "1814fac9.dedad5", + "wires": [ + [ + "9e54cfd4.f7511" + ] + ] + }, + { + "id": "9e54cfd4.f7511", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">\n", + "atomic": "false", + "comments": "", + "outputs": 1, + "x": 484.03126525878906, + "y": 461.0313081741333, + "z": "1814fac9.dedad5", + "wires": [ + [ + "ea233a0.a925fc8" + ] + ] + }, + { + "id": "ea233a0.a925fc8", + "type": "for", + "name": "for each sdwan-get-request-input-param", + "xml": "<for index='idx' start='0' end='`$vnf-request-input.vnf-input-parameters.param_length`' >\n\n", + "comments": "", + "outputs": 1, + "x": 520.6980285644531, + "y": 543.697904586792, + "z": "1814fac9.dedad5", + "wires": [ + [ + "12792477.556d8c" + ] + ] + }, + { + "id": "12792477.556d8c", + "type": "block", + "name": "block", + "xml": "<block>\n", + "atomic": "false", + "comments": "", + "outputs": 1, + "x": 794.5315780639648, + "y": 458.0313220024109, + "z": "1814fac9.dedad5", + "wires": [ + [ + "767840a2.12ebe", + "4f1ecfa3.e420a", + "677e6bce.a725e4", + "c52d2d4b.f41f6", + "670874dc.6417bc", + "4166beff.b664d", + "a2380a78.a15bf8", + "af7f20a9.e338", + "3250af42.4d49", + "2508e2f5.08983e", + "a475c38.ffd7a4" + ] + ] + }, + { + "id": "767840a2.12ebe", + "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": 1002.0321960449219, + "y": 750.0318946838379, + "z": "1814fac9.dedad5", + "wires": [] + }, + { + "id": "677e6bce.a725e4", + "type": "switchNode", + "name": "switch name", + "xml": "<switch test=\"`$vnf-request-input.vnf-input-parameters.param[$idx].name == 'name'`\">\n", + "comments": "", + "outputs": 1, + "x": 1030.0312843322754, + "y": 303.03130531311035, + "z": "1814fac9.dedad5", + "wires": [ + [ + "61f5048e.ac410c" + ] + ] + }, + { + "id": "61f5048e.ac410c", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1172.0312843322754, + "y": 304.03130531311035, + "z": "1814fac9.dedad5", + "wires": [ + [ + "e11fc0f2.f0b7" + ] + ] + }, + { + "id": "e11fc0f2.f0b7", + "type": "set", + "name": "set name", + "xml": "<set>\n<parameter name='prop.device.name' value='`$vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1306.0312843322754, + "y": 304.631311416626, + "z": "1814fac9.dedad5", + "wires": [] + }, + { + "id": "4f1ecfa3.e420a", + "type": "switchNode", + "name": "switch esn", + "xml": "<switch test=\"`$vnf-request-input.vnf-input-parameters.param[$idx].name == 'esn'`\">\n", + "comments": "", + "outputs": 1, + "x": 1022.8710298538208, + "y": 340.0312442779541, + "z": "1814fac9.dedad5", + "wires": [ + [ + "d4274273.0421a" + ] + ] + }, + { + "id": "d4274273.0421a", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1166.8710298538208, + "y": 340.0312442779541, + "z": "1814fac9.dedad5", + "wires": [ + [ + "ecaa4a78.97cd58" + ] + ] + }, + { + "id": "ecaa4a78.97cd58", + "type": "set", + "name": "set esn", + "xml": "<set>\n<parameter name='prop.device.esn' value='`$vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1287.2044038772583, + "y": 339.4924259185791, + "z": "1814fac9.dedad5", + "wires": [] + }, + { + "id": "c52d2d4b.f41f6", + "type": "switchNode", + "name": "switch type", + "xml": "<switch test=\"`$vnf-request-input.vnf-input-parameters.param[$idx].name == 'type'`\">\n", + "comments": "", + "outputs": 1, + "x": 1010.9264497756958, + "y": 414.99419593811035, + "z": "1814fac9.dedad5", + "wires": [ + [ + "66c8ac7e.f99d04" + ] + ] + }, + { + "id": "670874dc.6417bc", + "type": "switchNode", + "name": "switch systemIp", + "xml": "<switch test=\"`$vnf-request-input.vnf-input-parameters.param[$idx].name == 'systemIp'`\">\n", + "comments": "", + "outputs": 1, + "x": 1010.9265079498291, + "y": 506.99421310424805, + "z": "1814fac9.dedad5", + "wires": [ + [ + "ce9aa789.cf24d8" + ] + ] + }, + { + "id": "66c8ac7e.f99d04", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1156.9264497756958, + "y": 414.99419593811035, + "z": "1814fac9.dedad5", + "wires": [ + [ + "fb4cb630.0c2d68" + ] + ] + }, + { + "id": "fb4cb630.0c2d68", + "type": "set", + "name": "set type", + "xml": "<set>\n<parameter name='prop.device.deviceModel' value='`$vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1287.9264497756958, + "y": 414.594202041626, + "z": "1814fac9.dedad5", + "wires": [] + }, + { + "id": "ce9aa789.cf24d8", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1156.926507949829, + "y": 503.99421310424805, + "z": "1814fac9.dedad5", + "wires": [ + [ + "e5052022.3061f" + ] + ] + }, + { + "id": "e5052022.3061f", + "type": "set", + "name": "set systemIp", + "xml": "<set>\n<parameter name='prop.device.systemIP' value='`$vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1299.926507949829, + "y": 502.5942192077637, + "z": "1814fac9.dedad5", + "wires": [] + }, + { + "id": "a7ed8e98.b2bb8", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1166.926507949829, + "y": 539.994213104248, + "z": "1814fac9.dedad5", + "wires": [ + [ + "a40c04f3.889538" + ] + ] + }, + { + "id": "4166beff.b664d", + "type": "switchNode", + "name": "switch description", + "xml": "<switch test=\"`$vnf-request-input.vnf-input-parameters.param[$idx].name == 'description'`\">\n", + "comments": "", + "outputs": 1, + "x": 1012.9265079498291, + "y": 542.994213104248, + "z": "1814fac9.dedad5", + "wires": [ + [ + "a7ed8e98.b2bb8" + ] + ] + }, + { + "id": "a40c04f3.889538", + "type": "set", + "name": "set description", + "xml": "<set>\n<parameter name='prop.device.description' value='`$vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1309.926507949829, + "y": 538.5942192077637, + "z": "1814fac9.dedad5", + "wires": [] + }, + { + "id": "a2380a78.a15bf8", + "type": "switchNode", + "name": "switch vendor", + "xml": "<switch test=\"`$vnf-request-input.vnf-input-parameters.param[$idx].name == 'vendor'`\">\n", + "comments": "", + "outputs": 1, + "x": 1000.2597932815552, + "y": 589.9942474365234, + "z": "1814fac9.dedad5", + "wires": [ + [ + "6443e0a9.71388" + ] + ] + }, + { + "id": "6443e0a9.71388", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1168.2597513198853, + "y": 586.9941883087158, + "z": "1814fac9.dedad5", + "wires": [ + [ + "a3c7adc8.39913" + ] + ] + }, + { + "id": "a3c7adc8.39913", + "type": "set", + "name": "set vendor", + "xml": "<set>\n<parameter name='prop.device.vendor' value='`$vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1311.2597513198853, + "y": 585.5941944122314, + "z": "1814fac9.dedad5", + "wires": [] + }, + { + "id": "af7f20a9.e338", + "type": "switchNode", + "name": "switch class", + "xml": "<switch test=\"`$vnf-request-input.vnf-input-parameters.param[$idx].name == 'class'`\">\n", + "comments": "", + "outputs": 1, + "x": 1024.03125, + "y": 377.03125, + "z": "1814fac9.dedad5", + "wires": [ + [ + "9089a4f7.9d1f38" + ] + ] + }, + { + "id": "9089a4f7.9d1f38", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1168.03125, + "y": 377.03125, + "z": "1814fac9.dedad5", + "wires": [ + [ + "5a35e54e.7450dc" + ] + ] + }, + { + "id": "5a35e54e.7450dc", + "type": "set", + "name": "set class", + "xml": "<set>\n<parameter name='prop.device.class' value='`$vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1288.3646240234375, + "y": 376.492431640625, + "z": "1814fac9.dedad5", + "wires": [] + }, + { + "id": "3250af42.4d49", + "type": "switchNode", + "name": "switch version", + "xml": "<switch test=\"`$vnf-request-input.vnf-input-parameters.param[$idx].name == 'version'`\">\n", + "comments": "", + "outputs": 1, + "x": 1022.03125, + "y": 461.03125, + "z": "1814fac9.dedad5", + "wires": [ + [ + "9b60c77d.bb4828" + ] + ] + }, + { + "id": "9b60c77d.bb4828", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1168.03125, + "y": 458.03125, + "z": "1814fac9.dedad5", + "wires": [ + [ + "2e69598b.782ac6" + ] + ] + }, + { + "id": "2e69598b.782ac6", + "type": "set", + "name": "set version", + "xml": "<set>\n<parameter name='prop.device.version' value='`$vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1311.03125, + "y": 456.6312561035156, + "z": "1814fac9.dedad5", + "wires": [] + }, + { + "id": "2508e2f5.08983e", + "type": "switchNode", + "name": "switch deviceId", + "xml": "<switch test=\"`$vnf-request-input.vnf-input-parameters.param[$idx].name == 'deviceId'`\">\n", + "comments": "", + "outputs": 1, + "x": 1014.0313186645508, + "y": 637.0312986373901, + "z": "1814fac9.dedad5", + "wires": [ + [ + "fa6b8cf5.4b327" + ] + ] + }, + { + "id": "fa6b8cf5.4b327", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1170.031406402588, + "y": 633.031343460083, + "z": "1814fac9.dedad5", + "wires": [ + [ + "8e7714d.acaece8" + ] + ] + }, + { + "id": "8e7714d.acaece8", + "type": "set", + "name": "set deviceId", + "xml": "<set>\n<parameter name='prop.device.deviceId' value='`$vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1308.3651542663574, + "y": 621.4924793243408, + "z": "1814fac9.dedad5", + "wires": [] + }, + { + "id": "a475c38.ffd7a4", + "type": "switchNode", + "name": "switch sdncCreate", + "xml": "<switch test=\"`$vnf-request-input.vnf-input-parameters.param[$idx].name == 'sdncCreate'`\">\n", + "comments": "", + "outputs": 1, + "x": 1003.03125, + "y": 683.03125, + "z": "1814fac9.dedad5", + "wires": [ + [ + "a771c2de.63a74" + ] + ] + }, + { + "id": "a771c2de.63a74", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1159.031337738037, + "y": 679.0312948226929, + "z": "1814fac9.dedad5", + "wires": [ + [ + "665de992.e62df8" + ] + ] + }, + { + "id": "665de992.e62df8", + "type": "set", + "name": "set sdncCreate", + "xml": "<set>\n<parameter name='prop.device.sdncCreate' value='`$vnf-request-input.vnf-input-parameters.param[$idx].value`' />\n", + "comments": "", + "x": 1297.3650856018066, + "y": 667.4924306869507, + "z": "1814fac9.dedad5", + "wires": [] + } +]
\ No newline at end of file diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-activate.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-activate.json new file mode 100644 index 00000000..84599e1f --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-activate.json @@ -0,0 +1,678 @@ +[ + { + "id": "c57da515.f74988", + "type": "comment", + "name": "sdwan-vnf-topology-operation-device-activate", + "info": "", + "comments": "", + "x": 571.344856262207, + "y": 61, + "z": "48050f50.e2132", + "wires": [] + }, + { + "id": "e16a751b.7b48a8", + "type": "service-logic", + "name": "GENERIC-RESOURCE-API 1.2.1-SNAPSHOT", + "module": "GENERIC-RESOURCE-API", + "version": "1.2.1-SNAPSHOT", + "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='1.2.1-SNAPSHOT'>", + "outputs": 1, + "x": 251.2857666015625, + "y": 132.0002670288086, + "z": "48050f50.e2132", + "wires": [ + [ + "e3b9d3fc.f582d" + ] + ] + }, + { + "id": "22a66427.5103ec", + "type": "dgstart", + "name": "DGSTART", + "outputs": 1, + "x": 172.00006103515625, + "y": 69.76215744018555, + "z": "48050f50.e2132", + "wires": [ + [ + "e16a751b.7b48a8" + ] + ] + }, + { + "id": "5e9c748a.d0c93c", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 246.66673278808594, + "y": 411.42884254455566, + "z": "48050f50.e2132", + "wires": [ + [ + "164a289d.b889e7", + "c60faf33.f797b", + "138d258a.ddadba", + "2a9fc936.08f4c6", + "b4b11b51.f47008", + "88ab4e5f.36358", + "15d0a117.420b6f", + "34088ab3.22cba6", + "96fd10aa.3117f", + "3c7b9f2b.d2464", + "4d7e6631.03a558", + "58df9113.78ab9", + "971b776.085e288", + "64ab23e7.432f0c" + ] + ] + }, + { + "id": "c60faf33.f797b", + "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": 646.3334732055664, + "y": 1056.0956745147705, + "z": "48050f50.e2132", + "wires": [] + }, + { + "id": "164a289d.b889e7", + "type": "set", + "name": "set vnf-level-oper-status to Active", + "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-level-oper-status.order-status' value='Active' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].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[$tmp.vidx].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n", + "comments": "", + "x": 727.813533782959, + "y": 863.4328231811523, + "z": "48050f50.e2132", + "wires": [] + }, + { + "id": "b4b11b51.f47008", + "type": "set", + "name": "copy input data to service data", + "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.sdnc-request-header.' value='`$vnf-topology-operation-input.sdnc-request-header.`' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.request-information.' value='`$vnf-topology-operation-input.request-information.`' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.service-information.' value='`$vnf-topology-operation-input.service-information.`' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-information.' value='`$vnf-topology-operation-input.vnf-information.`' />\n", + "comments": "", + "x": 705.6667251586914, + "y": 919.4289989471436, + "z": "48050f50.e2132", + "wires": [] + }, + { + "id": "49141d65.bdcea4", + "type": "comment", + "name": "make sure this VNF doesn't exist already", + "info": "", + "comments": "", + "x": 1443.8572311401367, + "y": 634.9527101516724, + "z": "48050f50.e2132", + "wires": [] + }, + { + "id": "3c7b9f2b.d2464", + "type": "save", + "name": "save deviceInstance configuration in AAI", + "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='device' \n key='device.id = $vnf-topology-operation-input.vnf-information.vnf-id' >\n<parameter name='id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='device-id' value='$deviceResp[0].id' />\n<parameter name='operational-status' value='Active' />", + "comments": "", + "outputs": 1, + "x": 730.0002212524414, + "y": 969.3179988861084, + "z": "48050f50.e2132", + "wires": [ + [] + ] + }, + { + "id": "e3b9d3fc.f582d", + "type": "method", + "name": "method sdwan-vnf-topology-operation-device-activate", + "xml": "<method rpc='sdwan-vnf-topology-operation-device-activate' mode='sync'>\n", + "comments": "", + "outputs": 1, + "x": 263.00006103515625, + "y": 226.3484992980957, + "z": "48050f50.e2132", + "wires": [ + [ + "5e9c748a.d0c93c" + ] + ] + }, + { + "id": "138d258a.ddadba", + "type": "set", + "name": "set vnfId and vnf-object-path", + "xml": "<set>\n<parameter name='vnfId' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\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/' + $vnf-topology-operation-input.vnf-information.vnf-id + '/vnf-data/'` \" />", + "comments": "", + "x": 709.0001754760742, + "y": 812.348635673523, + "z": "48050f50.e2132", + "wires": [] + }, + { + "id": "64ab23e7.432f0c", + "type": "execute", + "name": "execute RestApiCallNode Create Devcie Instance", + "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-device.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v3/devices'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"deviceResp\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />\n\n\n<!--execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-wan-port.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/transport-network-ports'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"wanPortResp\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" /-->", + "comments": "", + "outputs": 1, + "x": 784.4446868896484, + "y": 639.1265163421631, + "z": "48050f50.e2132", + "wires": [ + [ + "fe651cbe.71dae", + "4a034411.478adc" + ] + ] + }, + { + "id": "971b776.085e288", + "type": "execute", + "name": "execute RestApiCallNode Get token", + "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/actokentemplate.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"token-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>", + "comments": "", + "outputs": 1, + "x": 738.4446105957031, + "y": 509.1263904571533, + "z": "48050f50.e2132", + "wires": [ + [ + "f5a9152f.d977a8", + "12711b8c.b16b14" + ] + ] + }, + { + "id": "f5a9152f.d977a8", + "type": "success", + "name": "success", + "xml": "<outcome value='success'>\n", + "comments": "", + "outputs": 1, + "x": 970.4446105957031, + "y": 489.1263904571533, + "z": "48050f50.e2132", + "wires": [ + [ + "3cccbb3c.73ecb4" + ] + ] + }, + { + "id": "12711b8c.b16b14", + "type": "failure", + "name": "failure", + "xml": "<outcome value='failure'>\n", + "comments": "", + "outputs": 1, + "x": 962.6946105957031, + "y": 530.7692737579346, + "z": "48050f50.e2132", + "wires": [ + [ + "3e406e18.5253e2" + ] + ] + }, + { + "id": "3cccbb3c.73ecb4", + "type": "set", + "name": "set token-id", + "xml": "<set>\n<parameter name='prop.sdncRestApi.token_id' value='`$token-result.data.token_id`' />\n", + "comments": "", + "x": 1107.4446105957031, + "y": 489.1263904571533, + "z": "48050f50.e2132", + "wires": [] + }, + { + "id": "3e406e18.5253e2", + "type": "block", + "name": "block", + "xml": "<block>\n", + "atomic": "false", + "comments": "", + "outputs": 1, + "x": 1088.7781066894531, + "y": 531.0153064727783, + "z": "48050f50.e2132", + "wires": [ + [] + ] + }, + { + "id": "647f2905.b3b168", + "type": "comment", + "name": "Do Nothing", + "info": "", + "comments": "", + "x": 1350.333652496338, + "y": 331.9041233062744, + "z": "48050f50.e2132", + "wires": [] + }, + { + "id": "a8bad102.6b5e9", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "comments": "", + "outputs": 1, + "x": 1211.1111526489258, + "y": 609.0153045654297, + "z": "48050f50.e2132", + "wires": [ + [] + ] + }, + { + "id": "e9b5eb58.3f04d8", + "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=\"Error executing Activate Device rest api\" />\n", + "comments": "", + "x": 1212.5557327270508, + "y": 659.570837020874, + "z": "48050f50.e2132", + "wires": [] + }, + { + "id": "4a034411.478adc", + "type": "failure", + "name": "failure", + "xml": "<outcome value='failure'>\n", + "comments": "", + "outputs": 1, + "x": 1059.555576324463, + "y": 662.5707912445068, + "z": "48050f50.e2132", + "wires": [ + [ + "e9b5eb58.3f04d8" + ] + ] + }, + { + "id": "fe651cbe.71dae", + "type": "success", + "name": "success", + "xml": "<outcome value='success'>\n", + "comments": "", + "outputs": 1, + "x": 1059.0000915527344, + "y": 606.2375030517578, + "z": "48050f50.e2132", + "wires": [ + [ + "a8bad102.6b5e9" + ] + ] + }, + { + "id": "88ab4e5f.36358", + "type": "set", + "name": "set deviceId to service data", + "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].name' value=\"deviceId\" />\n<!--parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].value' value='`$deviceResp[0].id`' /-->\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].value' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length' value='`$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 1`' />\n", + "comments": "", + "x": 715.0003280639648, + "y": 764.3488826751709, + "z": "48050f50.e2132", + "wires": [] + }, + { + "id": "7e5552be.6be08c", + "type": "comment", + "name": "URL needs to confirm.", + "info": "", + "comments": "", + "x": 763.0001525878906, + "y": 581.3486194610596, + "z": "48050f50.e2132", + "wires": [] + }, + { + "id": "62f12a96.37bf64", + "type": "comment", + "name": "AAI resource need to update", + "info": "", + "comments": "", + "x": 1041.0001754760742, + "y": 923.348635673523, + "z": "48050f50.e2132", + "wires": [] + }, + { + "id": "58df9113.78ab9", + "type": "get-resource", + "name": "get-resource esr-thirdparty-sdnc", + "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"esr-thirdparty-sdnc\" \n\t\tkey=\"esr-thirdparty-sdnc.thirdparty-sdnc-id = SDWAN-Controller AND \n\t\t depth = '1'\"\n pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\n\n", + "comments": "", + "outputs": 1, + "x": 733.0002746582031, + "y": 413.34861183166504, + "z": "48050f50.e2132", + "wires": [ + [ + "a6d8f866.73e908", + "7fc0e78d.a01498", + "1501ba2b.428996" + ] + ] + }, + { + "id": "a6d8f866.73e908", + "type": "success", + "name": "success", + "xml": "<outcome value='success'>\n", + "comments": "", + "outputs": 1, + "x": 974.0003318786621, + "y": 338.3485860824585, + "z": "48050f50.e2132", + "wires": [ + [ + "133ac586.e3a64a" + ] + ] + }, + { + "id": "133ac586.e3a64a", + "type": "set", + "name": "set controller data", + "xml": "<set>\n<parameter name='prop.sdncRestApi.thirdpartySdnc.url' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`\" />\n<parameter name='prop.sdncRestApi.thirdpartySdnc.user' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`\" />\n<parameter name='prop.sdncRestApi.thirdpartySdnc.password' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`\" />\n", + "comments": "", + "x": 1223.5003852844238, + "y": 294.348575592041, + "z": "48050f50.e2132", + "wires": [] + }, + { + "id": "7fc0e78d.a01498", + "type": "not-found", + "name": "not-found", + "xml": "<outcome value='not-found'>\n", + "comments": "", + "outputs": 1, + "x": 965.4911689758301, + "y": 386.92263412475586, + "z": "48050f50.e2132", + "wires": [ + [ + "6099fe20.b764e" + ] + ] + }, + { + "id": "6099fe20.b764e", + "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=\"`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`\" />\n\n", + "comments": "", + "x": 1139.0625801086426, + "y": 375.20837020874023, + "z": "48050f50.e2132", + "wires": [] + }, + { + "id": "1501ba2b.428996", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 957.8241767883301, + "y": 428.2559471130371, + "z": "48050f50.e2132", + "wires": [ + [ + "49a6b499.06dbac" + ] + ] + }, + { + "id": "49a6b499.06dbac", + "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=\"`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`\" />\n\n", + "comments": "", + "x": 1145.5967330932617, + "y": 423.69513988494873, + "z": "48050f50.e2132", + "wires": [] + }, + { + "id": "b2aff25d.5a4e", + "type": "comment", + "name": "review and test req", + "info": "", + "comments": "", + "x": 741.0002212524414, + "y": 729.3487091064453, + "z": "48050f50.e2132", + "wires": [] + }, + { + "id": "61725e4c.10868", + "type": "comment", + "name": "tmp.thirdparty-sdnc-id to be hardcoded here?", + "info": "", + "comments": "", + "x": 731.0042877197266, + "y": 369.3525629043579, + "z": "48050f50.e2132", + "wires": [] + }, + { + "id": "4d7e6631.03a558", + "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=\"device\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/devices/device/' + $vnf-topology-operation-input.vnf-information.vnf-id`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"device.id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$vnf-topology-operation-input.vnf-information.vnf-id`\" />", + "comments": "", + "outputs": 1, + "x": 704.0003967285156, + "y": 1016.0955476760864, + "z": "48050f50.e2132", + "wires": [ + [] + ] + }, + { + "id": "2a9fc936.08f4c6", + "type": "record", + "name": "record", + "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/svclogic.log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"Provided alloted resource length\"/>\n<parameter name=\"field3\" value=\"'parameters length'\"/>\n<parameter name=\"field4\" value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`'/>\n\n\n\n", + "comments": "", + "outputs": 1, + "x": 678.0000762939453, + "y": 291.0151786804199, + "z": "48050f50.e2132", + "wires": [ + [] + ] + }, + { + "id": "15d0a117.420b6f", + "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": 766.031364440918, + "y": 177.0312786102295, + "z": "48050f50.e2132", + "wires": [ + [ + "1b896cda.b979e3" + ] + ] + }, + { + "id": "1b896cda.b979e3", + "type": "block", + "name": "block", + "xml": "<block>\n", + "atomic": "false", + "comments": "", + "outputs": 1, + "x": 1014.3809585571289, + "y": 177.57134628295898, + "z": "48050f50.e2132", + "wires": [ + [ + "a706d238.291a" + ] + ] + }, + { + "id": "a706d238.291a", + "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": 1168.4605560302734, + "y": 177.28142833709717, + "z": "48050f50.e2132", + "wires": [ + [ + "5082e995.a70f58" + ] + ] + }, + { + "id": "ea1b1425.d6abb8", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 1462.0580673217773, + "y": 178.5817413330078, + "z": "48050f50.e2132", + "wires": [ + [ + "65194b17.7753d4", + "65c6f7a.c67d608", + "47f60422.f643ac" + ] + ] + }, + { + "id": "5082e995.a70f58", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1323.4125480651855, + "y": 178.1741075515747, + "z": "48050f50.e2132", + "wires": [ + [ + "ea1b1425.d6abb8" + ] + ] + }, + { + "id": "65c6f7a.c67d608", + "type": "set", + "name": "set vnf-request-input.", + "xml": "<set>\n<parameter name='vnf-request-input.' value='`$ctx.vnf-data.vnf-data.vnf-request-input.`' />\n\n", + "comments": "", + "x": 1703.3909225463867, + "y": 134.58180141448975, + "z": "48050f50.e2132", + "wires": [] + }, + { + "id": "65194b17.7753d4", + "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": 1730.9446334838867, + "y": 87.92416572570801, + "z": "48050f50.e2132", + "wires": [] + }, + { + "id": "47f60422.f643ac", + "type": "call", + "name": "call sdwan-get-device-param", + "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-get-device-param' mode='sync' >\n", + "comments": "", + "outputs": 1, + "x": 1708.0313720703125, + "y": 197.03127193450928, + "z": "48050f50.e2132", + "wires": [ + [] + ] + }, + { + "id": "34088ab3.22cba6", + "type": "switchNode", + "name": "switch tmp.vidx ", + "xml": "<switch test=\"`$tmp.vidx`\">\n\n", + "comments": "", + "outputs": 1, + "x": 697.03125, + "y": 238.03125, + "z": "48050f50.e2132", + "wires": [ + [ + "f352fc21.fd854" + ] + ] + }, + { + "id": "f352fc21.fd854", + "type": "outcome", + "name": "NULL", + "xml": "<outcome value=''>\n", + "comments": "", + "outputs": 1, + "x": 844.4598922729492, + "y": 237.60266017913818, + "z": "48050f50.e2132", + "wires": [ + [ + "d74e2e0c.835e1" + ] + ] + }, + { + "id": "d74e2e0c.835e1", + "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": 993.8886184692383, + "y": 238.74557781219482, + "z": "48050f50.e2132", + "wires": [] + }, + { + "id": "96fd10aa.3117f", + "type": "execute", + "name": "execute Properties", + "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n", + "comments": "", + "outputs": 1, + "x": 692.03125, + "y": 334.03125, + "z": "48050f50.e2132", + "wires": [ + [] + ] + } +] diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-create.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-create.json new file mode 100644 index 00000000..034f2d5d --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-create.json @@ -0,0 +1,652 @@ +[ + { + "id": "5e3d5340.60ff6c", + "type": "comment", + "name": "sdwan-vnf-topology-operation-device-activate", + "info": "", + "comments": "", + "x": 508.3447952270508, + "y": 51, + "z": "68e83c1d.51ded4", + "wires": [] + }, + { + "id": "98a7b4d5.abb6c8", + "type": "service-logic", + "name": "GENERIC-RESOURCE-API 1.2.1-SNAPSHOT", + "module": "GENERIC-RESOURCE-API", + "version": "1.2.1-SNAPSHOT", + "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='1.2.1-SNAPSHOT'>", + "outputs": 1, + "x": 188.28570556640625, + "y": 122.0002670288086, + "z": "68e83c1d.51ded4", + "wires": [ + [ + "6e6cf252.6d76ac" + ] + ] + }, + { + "id": "b122f38a.d6d66", + "type": "dgstart", + "name": "DGSTART", + "outputs": 1, + "x": 109, + "y": 59.76215744018555, + "z": "68e83c1d.51ded4", + "wires": [ + [ + "98a7b4d5.abb6c8" + ] + ] + }, + { + "id": "acf9046.9fdadf8", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 189.66666412353516, + "y": 383.4288272857666, + "z": "68e83c1d.51ded4", + "wires": [ + [ + "fadd626.2db7aa", + "3d1725f.b682bda", + "973ba2fa.09281", + "a8ec1f34.2d716", + "1a8342ca.6c718d", + "2f458da.dde6872", + "5b27914d.aaeea", + "14b0db80.805625", + "60a129a0.bbdd58", + "b0ca4039.10bf1", + "48942c51.646f94", + "f06f6e0f.f753c" + ] + ] + }, + { + "id": "3d1725f.b682bda", + "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": 570.3336067199707, + "y": 1005.0958871841431, + "z": "68e83c1d.51ded4", + "wires": [] + }, + { + "id": "fadd626.2db7aa", + "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": 659.8136177062988, + "y": 737.4329919815063, + "z": "68e83c1d.51ded4", + "wires": [] + }, + { + "id": "a8ec1f34.2d716", + "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-id`' />\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.`' />", + "comments": "", + "x": 637.6668090820312, + "y": 793.4291677474976, + "z": "68e83c1d.51ded4", + "wires": [] + }, + { + "id": "3cb5e097.323b3", + "type": "save", + "name": "save deviceInstance configuration in AAI", + "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='device' \n key='device.id = $prop.vnf-id' >\n<parameter name='id' value='`$prop.vnf-id`' />\n<parameter name='esn' value='`$prop.device.name`' />\n<parameter name='name' value=\"true\" />\n<parameter name='description' value='`$prop.device.description`' />\n<parameter name='vendor' value='`$prop.device.vendor`' />\n<parameter name='class' value='`$prop.device.class`' />\n<parameter name='type' value='`$prop.device.deviceModel`' />\n<parameter name='version' value='`$prop.device.version`' />\n<parameter name='system-ip' value='`$prop.device.systemIp`' />\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-id + '/vnf-data/'` \" />\n", + "comments": "", + "outputs": 1, + "x": 1116.0007019042969, + "y": 810.3184747695923, + "z": "68e83c1d.51ded4", + "wires": [ + [] + ] + }, + { + "id": "6e6cf252.6d76ac", + "type": "method", + "name": "method sdwan-vnf-topology-operation-device-create", + "xml": "<method rpc='sdwan-vnf-topology-operation-device-create' mode='sync'>\n", + "comments": "", + "outputs": 1, + "x": 200, + "y": 216.3484992980957, + "z": "68e83c1d.51ded4", + "wires": [ + [ + "acf9046.9fdadf8" + ] + ] + }, + { + "id": "973ba2fa.09281", + "type": "set", + "name": "set vnfId and vnf-object-path", + "xml": "<set>\n<parameter name='vnfId' value='`$prop.vnf-id`' />\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-id + '/vnf-data/'` \" />", + "comments": "", + "x": 641.0002593994141, + "y": 686.348804473877, + "z": "68e83c1d.51ded4", + "wires": [] + }, + { + "id": "1a8342ca.6c718d", + "type": "set", + "name": "set deviceId to service data", + "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id' value='`$prop.vnf-id`' />\n", + "comments": "", + "x": 647.0004119873047, + "y": 638.3490514755249, + "z": "68e83c1d.51ded4", + "wires": [] + }, + { + "id": "11b9f4bc.54a6db", + "type": "comment", + "name": "AAI resource need to update", + "info": "", + "comments": "", + "x": 962.0003051757812, + "y": 764.3489141464233, + "z": "68e83c1d.51ded4", + "wires": [] + }, + { + "id": "57ec6080.aef67", + "type": "execute", + "name": "execute generate-vnf-id", + "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\n<parameter name=\"ctx-destination\" value=\"prop.vnf-id\"/>\n", + "comments": "", + "outputs": 1, + "x": 1146.0006866455078, + "y": 151.3486099243164, + "z": "68e83c1d.51ded4", + "wires": [ + [] + ] + }, + { + "id": "f5373c70.1c094", + "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=\"device\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/devices/device/' + $prop.vnf-id`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"device.id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.vnf-id`\" />", + "comments": "", + "outputs": 1, + "x": 628.000560760498, + "y": 960.0957889556885, + "z": "68e83c1d.51ded4", + "wires": [ + [] + ] + }, + { + "id": "2f458da.dde6872", + "type": "switchNode", + "name": "switch vnf-id", + "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-information.vnf-id`\">\n", + "comments": "", + "outputs": 1, + "x": 610.0001068115234, + "y": 255.0000286102295, + "z": "68e83c1d.51ded4", + "wires": [ + [ + "96bd2791.9be248", + "67087b1d.5c3fb4" + ] + ] + }, + { + "id": "96bd2791.9be248", + "type": "outcome", + "name": "NULL", + "xml": "<outcome value=''>", + "comments": "", + "outputs": 1, + "x": 751.0001106262207, + "y": 230.00002002716064, + "z": "68e83c1d.51ded4", + "wires": [ + [ + "17f3f6fd.04e999" + ] + ] + }, + { + "id": "17f3f6fd.04e999", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 899.0002136230469, + "y": 166.0000123977661, + "z": "68e83c1d.51ded4", + "wires": [ + [ + "57ec6080.aef67", + "3fbf12e1.7d984e", + "1f9131ce.7814de" + ] + ] + }, + { + "id": "67087b1d.5c3fb4", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 747.5312881469727, + "y": 290.03125762939453, + "z": "68e83c1d.51ded4", + "wires": [ + [ + "36044171.bb341e" + ] + ] + }, + { + "id": "71433e4d.c21fc", + "type": "set", + "name": "set prop.vnf-id", + "xml": "<set>\n<parameter name='prop.vnf-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n", + "comments": "", + "x": 1062.531982421875, + "y": 359.03163146972656, + "z": "68e83c1d.51ded4", + "wires": [] + }, + { + "id": "36044171.bb341e", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 898.5317077636719, + "y": 322.03137969970703, + "z": "68e83c1d.51ded4", + "wires": [ + [ + "71433e4d.c21fc", + "1f9131ce.7814de", + "ded55567.2a8678" + ] + ] + }, + { + "id": "5b27914d.aaeea", + "type": "set", + "name": "set prop.sdncCreate=false", + "xml": "<set>\n<parameter name='prop.sdncCreate' value='false' />\n", + "comments": "", + "x": 684.5313568115234, + "y": 146.03125190734863, + "z": "68e83c1d.51ded4", + "wires": [] + }, + { + "id": "14b0db80.805625", + "type": "switchNode", + "name": "switch prop.sdncCreate", + "xml": "<switch test='`$prop.sdncCreate`'>\n", + "comments": "", + "outputs": 1, + "x": 607.0316925048828, + "y": 840.0316715240479, + "z": "68e83c1d.51ded4", + "wires": [ + [ + "f49b5933.b5d218", + "b6ead02e.a5302" + ] + ] + }, + { + "id": "f49b5933.b5d218", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 853.0314636230469, + "y": 810.5314083099365, + "z": "68e83c1d.51ded4", + "wires": [ + [ + "3cb5e097.323b3" + ] + ] + }, + { + "id": "b6ead02e.a5302", + "type": "outcomeTrue", + "name": "false", + "xml": "<outcome value='false'>\n", + "comments": "", + "outputs": 1, + "x": 854.5314483642578, + "y": 865.5314226150513, + "z": "68e83c1d.51ded4", + "wires": [ + [ + "689dbbbf.19b784" + ] + ] + }, + { + "id": "3fbf12e1.7d984e", + "type": "set", + "name": "set prop.updateAAIsdncCreate", + "xml": "<set>\n<parameter name='prop.sdncCreate' value='true' />\n", + "comments": "", + "x": 1163.5317764282227, + "y": 111.03133583068848, + "z": "68e83c1d.51ded4", + "wires": [] + }, + { + "id": "60a129a0.bbdd58", + "type": "for", + "name": "for loop idx - 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": 672.5314331054688, + "y": 440.031286239624, + "z": "68e83c1d.51ded4", + "wires": [ + [ + "ea444b8d.2a7e58" + ] + ] + }, + { + "id": "ea444b8d.2a7e58", + "type": "block", + "name": "block", + "xml": "<block>\n", + "atomic": "false", + "comments": "", + "outputs": 1, + "x": 887.3097763061523, + "y": 437.58687019348145, + "z": "68e83c1d.51ded4", + "wires": [ + [ + "5cf3f0ff.4ce19", + "c56fa091.a24ed" + ] + ] + }, + { + "id": "c56fa091.a24ed", + "type": "set", + "name": "set parameterName", + "xml": "<set>\n<parameter name=\"`vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name`\" value='`$param-prefix[$param-prefix_length -1]`'/>\n", + "comments": "", + "x": 1053.0104064941406, + "y": 452.3351249694824, + "z": "68e83c1d.51ded4", + "wires": [] + }, + { + "id": "5cf3f0ff.4ce19", + "type": "execute", + "name": "execute split parameterName", + "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n<parameter name=\"original_string\" value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name`'/>\n<parameter name=\"regex\" value=\"_\"/>\n<parameter name=\"ctx_memory_result_key\" value=\"param-prefix\"/>\n", + "comments": "", + "outputs": 1, + "x": 1083.5659790039062, + "y": 415.3350086212158, + "z": "68e83c1d.51ded4", + "wires": [ + [] + ] + }, + { + "id": "b0ca4039.10bf1", + "type": "set", + "name": "set vnf-request-input.", + "xml": "<set>\n<parameter name='vnf-request-input.' value='`$vnf-topology-operation-input.vnf-request-input.`' />\n", + "comments": "", + "x": 634.5310516357422, + "y": 514.3560009002686, + "z": "68e83c1d.51ded4", + "wires": [] + }, + { + "id": "48942c51.646f94", + "type": "call", + "name": "call sdwan-get-device-param", + "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-get-device-param' mode='sync' >\n", + "comments": "", + "outputs": 1, + "x": 659.5314331054688, + "y": 546.3561611175537, + "z": "68e83c1d.51ded4", + "wires": [ + [] + ] + }, + { + "id": "76da7c24.a3ef74", + "type": "comment", + "name": "if SO provide vnf-id use that else create new", + "info": "", + "comments": "", + "x": 701.5312805175781, + "y": 200.0312614440918, + "z": "68e83c1d.51ded4", + "wires": [] + }, + { + "id": "1f9131ce.7814de", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 1107.0317840576172, + "y": 248.0313549041748, + "z": "68e83c1d.51ded4", + "wires": [ + [ + "3b0d82e1.8f158e", + "2e1a03e.c5a90fc" + ] + ] + }, + { + "id": "3b0d82e1.8f158e", + "type": "switchNode", + "name": "switch service-data.vnfs.vnf_length", + "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n", + "comments": "", + "outputs": 1, + "x": 1351.0316734313965, + "y": 205.0313482284546, + "z": "68e83c1d.51ded4", + "wires": [ + [ + "975a1f09.2f8c8", + "a0a50419.1fe858" + ] + ] + }, + { + "id": "975a1f09.2f8c8", + "type": "other", + "name": "NULL", + "xml": "<outcome value=''>\n", + "comments": "", + "outputs": 1, + "x": 1564.7460556030273, + "y": 188.1741189956665, + "z": "68e83c1d.51ded4", + "wires": [ + [ + "3e9891d0.1834fe" + ] + ] + }, + { + "id": "3e9891d0.1834fe", + "type": "set", + "name": "set vnf-index=0", + "xml": "<set>\n<parameter name='vnf-index' value='0' />\n", + "comments": "", + "x": 1713.0317039489746, + "y": 185.17417335510254, + "z": "68e83c1d.51ded4", + "wires": [] + }, + { + "id": "a0a50419.1fe858", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 1568.1745529174805, + "y": 233.45991039276123, + "z": "68e83c1d.51ded4", + "wires": [ + [ + "bfe1f8cb.5f4108" + ] + ] + }, + { + "id": "bfe1f8cb.5f4108", + "type": "set", + "name": "set vnf-index = vnf_length", + "xml": "<set>\n<parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />\n", + "comments": "", + "x": 1752.0322952270508, + "y": 233.74567890167236, + "z": "68e83c1d.51ded4", + "wires": [] + }, + { + "id": "2e1a03e.c5a90fc", + "type": "set", + "name": "set new vnf_length", + "xml": "<set>\n<parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />\n", + "comments": "", + "x": 1303.0317344665527, + "y": 240.031343460083, + "z": "68e83c1d.51ded4", + "wires": [] + }, + { + "id": "689dbbbf.19b784", + "type": "save", + "name": "update deviceInstance configuration in AAI", + "xml": "<update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='device' \n key='device.id = $prop.vnf-id' >\n<parameter name='id' value='`$prop.vnf-id`' />\n<parameter name='esn' value='`$prop.device.name`' />\n<parameter name='name' value=\"true\" />\n<parameter name='description' value='`$prop.device.description`' />\n<parameter name='vendor' value='`$prop.device.vendor`' />\n<parameter name='class' value='`$prop.device.class`' />\n<parameter name='type' value='`$prop.device.deviceModel`' />\n<parameter name='version' value='`$prop.device.version`' />\n<parameter name='system-ip' value='`$prop.device.systemIp`' />\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-id + '/vnf-data/'` \" />\n", + "comments": "", + "outputs": 1, + "x": 1108.0312805175781, + "y": 868.0312757492065, + "z": "68e83c1d.51ded4", + "wires": [ + [] + ] + }, + { + "id": "ded55567.2a8678", + "type": "for", + "name": "for each existing VNF", + "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n", + "comments": "", + "outputs": 1, + "x": 1114.0313186645508, + "y": 320.03128814697266, + "z": "68e83c1d.51ded4", + "wires": [ + [ + "5b9cdd8f.43fa54" + ] + ] + }, + { + "id": "e638f4a.543e508", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1650.6031284332275, + "y": 368.17424297332764, + "z": "68e83c1d.51ded4", + "wires": [ + [ + "584781cc.b608c" + ] + ] + }, + { + "id": "584781cc.b608c", + "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": 1789.1744861602783, + "y": 368.17420387268066, + "z": "68e83c1d.51ded4", + "wires": [] + }, + { + "id": "e89efb32.eef4a8", + "type": "comment", + "name": "make sure this vnf-id doesn't exist already", + "info": "", + "comments": "", + "x": 1744.459602355957, + "y": 497.1741261482239, + "z": "68e83c1d.51ded4", + "wires": [] + }, + { + "id": "5b9cdd8f.43fa54", + "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": 1453.0313262939453, + "y": 321.0312910079956, + "z": "68e83c1d.51ded4", + "wires": [ + [ + "e638f4a.543e508" + ] + ] + }, + { + "id": "f06f6e0f.f753c", + "type": "set", + "name": "set deviceId to service data", + "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.vnf-input-parameters.param_length].name' value=\"sdncCreate\" />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.vnf-input-parameters.param_length].value' value='`$prop.sdncCreate`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.vnf-input-parameters.param_length' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 1`' />\n", + "comments": "", + "x": 621.0313682556152, + "y": 901.0312786102295, + "z": "68e83c1d.51ded4", + "wires": [] + } +]
\ No newline at end of file diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-deactivate.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-deactivate.json new file mode 100644 index 00000000..b6fa82f1 --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-deactivate.json @@ -0,0 +1,627 @@ +[ + { + "id": "9c3e9355.a9b98", + "type": "dgstart", + "name": "DGSTART", + "outputs": 1, + "x": 211, + "y": 76, + "z": "73283ddb.ad1024", + "wires": [ + [ + "ce33d12b.fedca" + ] + ] + }, + { + "id": "ce33d12b.fedca", + "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": 286.28570556640625, + "y": 116.23811149597168, + "z": "73283ddb.ad1024", + "wires": [ + [ + "5efe4e61.39e9f" + ] + ] + }, + { + "id": "5efe4e61.39e9f", + "type": "method", + "name": "method sdwan-vnf-topology-operation-device-deactivate", + "xml": "<method rpc='sdwan-vnf-topology-operation-device-deactivate' mode='sync'>\n", + "comments": "", + "outputs": 1, + "x": 279.42862701416016, + "y": 155.9999942779541, + "z": "73283ddb.ad1024", + "wires": [ + [ + "dd73ee5c.ac516" + ] + ] + }, + { + "id": "dd73ee5c.ac516", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 304.1667289733887, + "y": 346.69354248046875, + "z": "73283ddb.ad1024", + "wires": [ + [ + "e4601a05.8a4688", + "9a1b232.90c38e", + "73fbd09e.9edc3", + "3e61d24c.5cc44e", + "1587e9e4.574f16", + "3781959e.04703a", + "2a98908a.1304b", + "7025602.36919a", + "f4083614.bed898", + "f8b84934.c5f1e8", + "e2ef718b.f3132", + "274a3fd3.76447", + "5ee6b514.0ecf0c" + ] + ] + }, + { + "id": "e4601a05.8a4688", + "type": "set", + "name": "set vnf in service-data", + "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.sdnc-request-header.' value='`$vnf-topology-operation-input.sdnc-request-header.`' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.request-information.' value='`$vnf-topology-operation-input.request-information.`' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.service-information.' value='`$vnf-topology-operation-input.service-information.`' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-information.' value='`$vnf-topology-operation-input.vnf-information.`' />", + "comments": "", + "x": 560.0000762939453, + "y": 769.0002317428589, + "z": "73283ddb.ad1024", + "wires": [] + }, + { + "id": "9a1b232.90c38e", + "type": "set", + "name": "set vnfId and vnf-object-path", + "xml": "<set>\n<parameter name='vnfId' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\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/' + $vnf-topology-operation-input.vnf-information.vnf-id + '/vnf-data/'` \" />", + "comments": "", + "x": 581.5556182861328, + "y": 811.2224426269531, + "z": "73283ddb.ad1024", + "wires": [] + }, + { + "id": "1587e9e4.574f16", + "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": 540.3334503173828, + "y": 973.7777910232544, + "z": "73283ddb.ad1024", + "wires": [] + }, + { + "id": "73fbd09e.9edc3", + "type": "update", + "name": "update SDWAN DeviceInstance status to AAI", + "xml": "<update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='device' \n key='device.id = $vnf-topology-operation-input.vnf-information.vnf-id' >\n<parameter name='id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='operational-status' value='PendingDelete' />", + "comments": "", + "outputs": 1, + "x": 630.6630401611328, + "y": 914.1478223800659, + "z": "73283ddb.ad1024", + "wires": [ + [] + ] + }, + { + "id": "3e61d24c.5cc44e", + "type": "set", + "name": "set vnf-level-oper-status to PendingDelete", + "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-level-oper-status.order-status' value='PendingDelete' />\n<parameter name='service-data.vnfs.vnf[$tmp.vidx].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[$tmp.vidx].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n", + "comments": "", + "x": 620.0001068115234, + "y": 868.0001993179321, + "z": "73283ddb.ad1024", + "wires": [] + }, + { + "id": "e2ef718b.f3132", + "type": "get-resource", + "name": "get-resource esr-thirdparty-sdnc", + "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"esr-thirdparty-sdnc\" \n\t\tkey=\"esr-thirdparty-sdnc.thirdparty-sdnc-id = SDWAN-Controller AND \n\t\t depth = '1'\"\n pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\n\n", + "comments": "", + "outputs": 1, + "x": 586.5555725097656, + "y": 395.99996280670166, + "z": "73283ddb.ad1024", + "wires": [ + [ + "5f923fb2.e6dac", + "d9f1fd79.ec60b", + "917e23b.f000ae" + ] + ] + }, + { + "id": "5f923fb2.e6dac", + "type": "success", + "name": "success", + "xml": "<outcome value='success'>\n", + "comments": "", + "outputs": 1, + "x": 813.5555801391602, + "y": 323.99996185302734, + "z": "73283ddb.ad1024", + "wires": [ + [ + "fec9d567.919a68" + ] + ] + }, + { + "id": "fec9d567.919a68", + "type": "set", + "name": "set controller data", + "xml": "<set>\n<parameter name='prop.sdncRestApi.thirdpartySdnc.url' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`\" />\n<parameter name='prop.sdncRestApi.thirdpartySdnc.user' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`\" />\n<parameter name='prop.sdncRestApi.thirdpartySdnc.password' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`\" />\n", + "comments": "", + "x": 1012.0556945800781, + "y": 314.999960899353, + "z": "73283ddb.ad1024", + "wires": [] + }, + { + "id": "d9f1fd79.ec60b", + "type": "not-found", + "name": "not-found", + "xml": "<outcome value='not-found'>\n", + "comments": "", + "outputs": 1, + "x": 816.0465087890625, + "y": 356.573974609375, + "z": "73283ddb.ad1024", + "wires": [ + [ + "8773c32.44abd4" + ] + ] + }, + { + "id": "8773c32.44abd4", + "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=\"`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`\" />\n\n", + "comments": "", + "x": 992.617977142334, + "y": 353.85972690582275, + "z": "73283ddb.ad1024", + "wires": [] + }, + { + "id": "917e23b.f000ae", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 808.3795166015625, + "y": 397.90728759765625, + "z": "73283ddb.ad1024", + "wires": [ + [ + "639cc54c.25461c" + ] + ] + }, + { + "id": "639cc54c.25461c", + "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=\"`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`\" />\n\n", + "comments": "", + "x": 996.1520729064941, + "y": 393.34648036956787, + "z": "73283ddb.ad1024", + "wires": [] + }, + { + "id": "274a3fd3.76447", + "type": "execute", + "name": "execute RestApiCallNode Get token", + "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-device.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"token-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>", + "comments": "", + "outputs": 1, + "x": 609.4442253112793, + "y": 462.1111717224121, + "z": "73283ddb.ad1024", + "wires": [ + [ + "8dc1f56a.c9edd8", + "2d6a0c7e.fec4b4" + ] + ] + }, + { + "id": "8dc1f56a.c9edd8", + "type": "success", + "name": "success", + "xml": "<outcome value='success'>\n", + "comments": "", + "outputs": 1, + "x": 844.4442253112793, + "y": 440.1111717224121, + "z": "73283ddb.ad1024", + "wires": [ + [ + "cafcbbb3.279d28" + ] + ] + }, + { + "id": "2d6a0c7e.fec4b4", + "type": "failure", + "name": "failure", + "xml": "<outcome value='failure'>\n", + "comments": "", + "outputs": 1, + "x": 836.6942253112793, + "y": 493.75405502319336, + "z": "73283ddb.ad1024", + "wires": [ + [ + "2bb735a3.ef2caa" + ] + ] + }, + { + "id": "cafcbbb3.279d28", + "type": "set", + "name": "set token-id", + "xml": "<set>\n<parameter name='prop.sdncRestApi.token_id' value='`$token-result.data.token_id`' />\n", + "comments": "", + "x": 998.4442253112793, + "y": 441.1111717224121, + "z": "73283ddb.ad1024", + "wires": [] + }, + { + "id": "11e446ee.b59549", + "type": "success", + "name": "success", + "xml": "<outcome value='success'>\n", + "comments": "", + "outputs": 1, + "x": 945.5554428100586, + "y": 677.1112051010132, + "z": "73283ddb.ad1024", + "wires": [ + [ + "edc154b6.909958" + ] + ] + }, + { + "id": "edc154b6.909958", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "comments": "", + "outputs": 1, + "x": 1116.6664581298828, + "y": 675.8890256881714, + "z": "73283ddb.ad1024", + "wires": [ + [] + ] + }, + { + "id": "2bb735a3.ef2caa", + "type": "block", + "name": "block", + "xml": "<block>\n", + "atomic": "false", + "comments": "", + "outputs": 1, + "x": 984.5552673339844, + "y": 490.00000381469727, + "z": "73283ddb.ad1024", + "wires": [ + [] + ] + }, + { + "id": "d5f90150.5efad", + "type": "comment", + "name": "Do Nothing", + "info": "", + "comments": "", + "x": 1120.1108411153155, + "y": 488.88887956407336, + "z": "73283ddb.ad1024", + "wires": [] + }, + { + "id": "9375b3d1.4ccfc", + "type": "failure", + "name": "failure", + "xml": "<outcome value='failure'>\n", + "comments": "", + "outputs": 1, + "x": 942.1109962463379, + "y": 730.4444913864136, + "z": "73283ddb.ad1024", + "wires": [ + [ + "4a4ccb7.2656134" + ] + ] + }, + { + "id": "4a4ccb7.2656134", + "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=\"Error executing Create vpn rest api\" />\n", + "comments": "", + "x": 1087.110996246338, + "y": 733.4444913864136, + "z": "73283ddb.ad1024", + "wires": [] + }, + { + "id": "4f2b12fc.8ccc3c", + "type": "comment", + "name": "deviceId need to provide here?", + "info": "", + "comments": "", + "x": 581.3333320617676, + "y": 528, + "z": "73283ddb.ad1024", + "wires": [] + }, + { + "id": "f5a0eb00.de7588", + "type": "comment", + "name": "tmp.thirdparty-sdnc-id to be hardcoded here?", + "info": "", + "comments": "", + "x": 635.333366394043, + "y": 315.0000591278076, + "z": "73283ddb.ad1024", + "wires": [] + }, + { + "id": "a4f6705d.1d73", + "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": 875.3332824707031, + "y": 1718.3333358764648, + "z": "73283ddb.ad1024", + "wires": [] + }, + { + "id": "3781959e.04703a", + "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": 619.03125, + "y": 244.03125, + "z": "73283ddb.ad1024", + "wires": [ + [ + "a8d53377.9812d" + ] + ] + }, + { + "id": "a8d53377.9812d", + "type": "block", + "name": "block", + "xml": "<block>\n", + "atomic": "false", + "comments": "", + "outputs": 1, + "x": 867.3808441162109, + "y": 244.5713176727295, + "z": "73283ddb.ad1024", + "wires": [ + [ + "80a46b1e.d041d8" + ] + ] + }, + { + "id": "80a46b1e.d041d8", + "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": 1021.4604415893555, + "y": 244.28139972686768, + "z": "73283ddb.ad1024", + "wires": [ + [ + "42dc4574.ff70ac" + ] + ] + }, + { + "id": "89ce8e98.fff87", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 1315.0579528808594, + "y": 245.58171272277832, + "z": "73283ddb.ad1024", + "wires": [ + [ + "68c86c18.1fc774", + "3e5b1306.9b698c", + "50ffba36.d6fac4" + ] + ] + }, + { + "id": "42dc4574.ff70ac", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1176.4124336242676, + "y": 245.17407894134521, + "z": "73283ddb.ad1024", + "wires": [ + [ + "89ce8e98.fff87" + ] + ] + }, + { + "id": "3e5b1306.9b698c", + "type": "set", + "name": "set vnf-request-input.", + "xml": "<set>\n<parameter name='vnf-request-input.' value='`$ctx.vnf-data.vnf-data.vnf-request-input.`' />\n\n", + "comments": "", + "x": 1556.3908081054688, + "y": 201.58177280426025, + "z": "73283ddb.ad1024", + "wires": [] + }, + { + "id": "68c86c18.1fc774", + "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": 1583.9445190429688, + "y": 154.92413711547852, + "z": "73283ddb.ad1024", + "wires": [] + }, + { + "id": "50ffba36.d6fac4", + "type": "call", + "name": "call sdwan-get-device-param", + "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-get-device-param' mode='sync' >\n", + "comments": "", + "outputs": 1, + "x": 1561.0312576293945, + "y": 264.0312433242798, + "z": "73283ddb.ad1024", + "wires": [ + [] + ] + }, + { + "id": "2a98908a.1304b", + "type": "switchNode", + "name": "switch tmp.vidx ", + "xml": "<switch test=\"`$tmp.vidx`\">\n\n", + "comments": "", + "outputs": 1, + "x": 536.03125, + "y": 286.03125, + "z": "73283ddb.ad1024", + "wires": [ + [ + "ebb7bd09.45a41" + ] + ] + }, + { + "id": "ebb7bd09.45a41", + "type": "outcome", + "name": "NULL", + "xml": "<outcome value=''>\n", + "comments": "", + "outputs": 1, + "x": 683.4598922729492, + "y": 285.6026601791382, + "z": "73283ddb.ad1024", + "wires": [ + [ + "94eadd89.567a" + ] + ] + }, + { + "id": "94eadd89.567a", + "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": 832.8886184692383, + "y": 286.7455778121948, + "z": "73283ddb.ad1024", + "wires": [] + }, + { + "id": "5ee6b514.0ecf0c", + "type": "execute", + "name": "execute RestApiCallNode delete Devcie Instance", + "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-device-del.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v3/devices'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"delete\"/>\n<parameter name=\"responsePrefix\" value=\"deviceResp\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />", + "comments": "", + "outputs": 1, + "x": 652.0313262939453, + "y": 700.0313568115234, + "z": "73283ddb.ad1024", + "wires": [ + [ + "11e446ee.b59549", + "9375b3d1.4ccfc" + ] + ] + }, + { + "id": "7025602.36919a", + "type": "execute", + "name": "execute Properties", + "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n", + "comments": "", + "outputs": 1, + "x": 560.03125, + "y": 350.03125, + "z": "73283ddb.ad1024", + "wires": [ + [] + ] + }, + { + "id": "f4083614.bed898", + "type": "set", + "name": "set device Id length and deviceId", + "xml": "<set>\n<parameter name='prop.devices[0]' value='`$prop.device.deviceId`' />\n\n\n", + "comments": "", + "x": 602.0312652587891, + "y": 645.0312666893005, + "z": "73283ddb.ad1024", + "wires": [] + }, + { + "id": "f8b84934.c5f1e8", + "type": "set", + "name": "set device Id length and deviceId", + "xml": "<set>\n<parameter name='prop.devices_length' value='1' />\n\n\n", + "comments": "", + "x": 596.03125, + "y": 595.03125, + "z": "73283ddb.ad1024", + "wires": [] + } +] diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-delete.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-delete.json new file mode 100644 index 00000000..72538cfc --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-delete.json @@ -0,0 +1,555 @@ +[ + { + "id": "7735fc30.841634", + "type": "switchNode", + "name": "switch service-data.vnfs.vnf_length", + "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n", + "comments": "", + "outputs": 1, + "x": 757.03125, + "y": 380.03125, + "z": "f20d2d3a.d3597", + "wires": [ + [ + "8fd37aa5.017ed8", + "9c974a8d.2ebbc8" + ] + ] + }, + { + "id": "44891278.d01ccc", + "type": "dgstart", + "name": "DGSTART", + "outputs": 1, + "x": 218.9365463256836, + "y": 144.77007961273193, + "z": "f20d2d3a.d3597", + "wires": [ + [ + "cf34b9f3.a217e8" + ] + ] + }, + { + "id": "cf34b9f3.a217e8", + "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": 294.22225189208984, + "y": 185.0081911087036, + "z": "f20d2d3a.d3597", + "wires": [ + [ + "f275038d.034f" + ] + ] + }, + { + "id": "9fb20f9.a2934f", + "type": "comment", + "name": "wan port-vnf-topology-operation-delete", + "info": "", + "comments": "", + "x": 668.2814636230469, + "y": 218.35647869110107, + "z": "f20d2d3a.d3597", + "wires": [] + }, + { + "id": "47c2021d.e2c7fc", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 295.60321044921875, + "y": 446.4367513656616, + "z": "f20d2d3a.d3597", + "wires": [ + [ + "e3e2bc88.e9b0d", + "6dbec876.fc0328", + "750850d5.2167c", + "3731bfbc.74cda", + "25ec4ecb.412e22", + "7735fc30.841634", + "e6700fc6.f20b6", + "6f81e67.c77e818", + "3b4d6073.21879" + ] + ] + }, + { + "id": "8fd37aa5.017ed8", + "type": "other", + "name": "outcome Null", + "xml": "<outcome value=''>\n", + "comments": "", + "outputs": 1, + "x": 1021.7535629272461, + "y": 362.5868721008301, + "z": "f20d2d3a.d3597", + "wires": [ + [ + "847c658a.4062c8" + ] + ] + }, + { + "id": "847c658a.4062c8", + "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": 1202.753433227539, + "y": 357.5867500305176, + "z": "f20d2d3a.d3597", + "wires": [] + }, + { + "id": "9c974a8d.2ebbc8", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 1007.2535629272461, + "y": 414.58683490753174, + "z": "f20d2d3a.d3597", + "wires": [ + [ + "a54560d4.0ba6d" + ] + ] + }, + { + "id": "a54560d4.0ba6d", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 1179.2532691955566, + "y": 414.5868330001831, + "z": "f20d2d3a.d3597", + "wires": [ + [ + "77ddf34.4623e0c", + "6b40a8cd.dcd938", + "7e832033.e29c9" + ] + ] + }, + { + "id": "6b40a8cd.dcd938", + "type": "switchNode", + "name": "switch tmp.vidx ", + "xml": "<switch test=\"`$tmp.vidx`\">\n\n", + "comments": "", + "outputs": 1, + "x": 1354.2534408569336, + "y": 433.58675479888916, + "z": "f20d2d3a.d3597", + "wires": [ + [ + "5d6c7481.ef0eac" + ] + ] + }, + { + "id": "25ec4ecb.412e22", + "type": "switchNode", + "name": "switch vnf-level-oper-status", + "xml": "<switch test='`$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-level-oper-status.order-status`'>\n", + "comments": "", + "outputs": 1, + "x": 727.4202499389648, + "y": 454.4757137298584, + "z": "f20d2d3a.d3597", + "wires": [ + [ + "6e834974.d9b6b8", + "8930f777.246948" + ] + ] + }, + { + "id": "6e834974.d9b6b8", + "type": "outcome", + "name": "outcome PendingDelete", + "xml": "<outcome value='PendingDelete'>\n", + "comments": "", + "outputs": 1, + "x": 1018.2535171508789, + "y": 458.58683681488037, + "z": "f20d2d3a.d3597", + "wires": [ + [ + "9d8ec192.cf786" + ] + ] + }, + { + "id": "8930f777.246948", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 964.2535781860352, + "y": 505.58684062957764, + "z": "f20d2d3a.d3597", + "wires": [ + [ + "8989bed6.5ee81" + ] + ] + }, + { + "id": "8989bed6.5ee81", + "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 is not in appropriate state for activate. Current state is ' + $service-data.vnfs.vnf[$tmp.nidx].vnf-data.vnf-level-oper-status.order-status`\" />", + "comments": "", + "x": 1123.753345489502, + "y": 508.5868396759033, + "z": "f20d2d3a.d3597", + "wires": [] + }, + { + "id": "e6700fc6.f20b6", + "type": "switchNode", + "name": "switch vnf-id", + "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-information.vnf-id`\">\n", + "comments": "", + "outputs": 1, + "x": 693.2535667419434, + "y": 335.5868434906006, + "z": "f20d2d3a.d3597", + "wires": [ + [ + "73ae75a9.e85c8c" + ] + ] + }, + { + "id": "73ae75a9.e85c8c", + "type": "outcome", + "name": "NULL", + "xml": "<outcome value=''>", + "comments": "", + "outputs": 1, + "x": 891.2536315917969, + "y": 325.5868558883667, + "z": "f20d2d3a.d3597", + "wires": [ + [ + "dd6eb157.d89e" + ] + ] + }, + { + "id": "dd6eb157.d89e", + "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.vnf-input-parameters.name is a required input\" />\n", + "comments": "", + "x": 1057.753517150879, + "y": 322.5868501663208, + "z": "f20d2d3a.d3597", + "wires": [] + }, + { + "id": "77ddf34.4623e0c", + "type": "for", + "name": "for vidx..service-data.vnfs.vnf[]", + "xml": "<for index='vidx' start='0' end='`$service-data.vnfs.vnf_length`' >\n", + "comments": "", + "outputs": 1, + "x": 1414.7534446716309, + "y": 369.5867509841919, + "z": "f20d2d3a.d3597", + "wires": [ + [ + "cd627687.735828" + ] + ] + }, + { + "id": "cd627687.735828", + "type": "switchNode", + "name": "switch vnf-id 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": 1670.7534637451172, + "y": 369.5867509841919, + "z": "f20d2d3a.d3597", + "wires": [ + [ + "4efba8ed.463c18" + ] + ] + }, + { + "id": "4efba8ed.463c18", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1847.253517150879, + "y": 372.5867509841919, + "z": "f20d2d3a.d3597", + "wires": [ + [ + "ae933ccf.17812" + ] + ] + }, + { + "id": "1bcea5bb.85368a", + "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].vnf-data.`' />\n", + "comments": "", + "x": 2264.253730773926, + "y": 451.58680295944214, + "z": "f20d2d3a.d3597", + "wires": [] + }, + { + "id": "3be2d098.9a5d7", + "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": 1659.7534561157227, + "y": 433.58675479888916, + "z": "f20d2d3a.d3597", + "wires": [] + }, + { + "id": "5d6c7481.ef0eac", + "type": "outcome", + "name": "NULL", + "xml": "<outcome value=''>\n", + "comments": "", + "outputs": 1, + "x": 1522.2534561157227, + "y": 433.58675479888916, + "z": "f20d2d3a.d3597", + "wires": [ + [ + "3be2d098.9a5d7" + ] + ] + }, + { + "id": "750850d5.2167c", + "type": "set", + "name": "set vnfId and vnf-object-path", + "xml": "<set>\n<parameter name='vnfId' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='vnf-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vnf-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'` \" />", + "comments": "", + "x": 705.2699813842773, + "y": 630.1034965515137, + "z": "f20d2d3a.d3597", + "wires": [] + }, + { + "id": "3731bfbc.74cda", + "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": 654.3811416625977, + "y": 755.6589269638062, + "z": "f20d2d3a.d3597", + "wires": [] + }, + { + "id": "e3e2bc88.e9b0d", + "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": 685.9025650024414, + "y": 527.5743541717529, + "z": "f20d2d3a.d3597", + "wires": [] + }, + { + "id": "6dbec876.fc0328", + "type": "set", + "name": "Remove vnf from ServiceData", + "xml": "<set>\n\t<parameter name=\"service-data.vnfs.vnf[$tmp.vidx].\" value=\"\"/>\n\n", + "comments": "", + "x": 721.5267562866211, + "y": 571.5423212051392, + "z": "f20d2d3a.d3597", + "wires": [] + }, + { + "id": "9d8ec192.cf786", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 1215.5599174499512, + "y": 468.91199111938477, + "z": "f20d2d3a.d3597", + "wires": [ + [] + ] + }, + { + "id": "f275038d.034f", + "type": "method", + "name": "method sdwan-vnf-topology-operation-device-delete", + "xml": "<method rpc='sdwan-vnf-topology-operation-device-delete' mode='sync'>\n", + "comments": "", + "outputs": 1, + "x": 299.4677963256836, + "y": 301.03125, + "z": "f20d2d3a.d3597", + "wires": [ + [ + "47c2021d.e2c7fc" + ] + ] + }, + { + "id": "6f81e67.c77e818", + "type": "execute", + "name": "execute requiredParameters", + "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >\n<parameter name=\"vnf-topology-operation-input.vnf-information.vnf-id\" value=\"$vnf-topology-operation-input.vnf-information.vnf-id\"/>\n\n", + "comments": "", + "outputs": 1, + "x": 750.7536239624023, + "y": 275.58684253692627, + "z": "f20d2d3a.d3597", + "wires": [ + [] + ] + }, + { + "id": "9d539b15.274ee8", + "type": "delete", + "name": "delete wan port instance configuration in AAI", + "xml": "<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" resource='device' \n key='device.id = $vnf-topology-operation-input.vnf-information.vnf-id'>\n", + "comments": "", + "outputs": 1, + "x": 1058.4678955078125, + "y": 693.0313606262207, + "z": "f20d2d3a.d3597", + "wires": [ + [] + ] + }, + { + "id": "7e832033.e29c9", + "type": "record", + "name": "record", + "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/svclogic.log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"tmp.vidx1234555\"/>\n<parameter name=\"field3\" value='`$tmp.vidx`'/>\n", + "comments": "", + "outputs": 1, + "x": 1403.4679336547852, + "y": 488.0312623977661, + "z": "f20d2d3a.d3597", + "wires": [ + [] + ] + }, + { + "id": "baf87e05.49718", + "type": "call", + "name": "call sdwan-get-device-param", + "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-get-device-param' mode='sync' >\n", + "comments": "", + "outputs": 1, + "x": 2256.0313110351562, + "y": 396.0312566757202, + "z": "f20d2d3a.d3597", + "wires": [ + [] + ] + }, + { + "id": "657365d9.06388c", + "type": "set", + "name": "set vnf-request-input.", + "xml": "<set>\n<parameter name='vnf-request-input.' value='`$ctx.vnf-data.vnf-data.vnf-request-input.`' />\n\n", + "comments": "", + "x": 2251.3908615112305, + "y": 333.5817861557007, + "z": "f20d2d3a.d3597", + "wires": [] + }, + { + "id": "2c001ef8.5cd552", + "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": 2278.9445724487305, + "y": 286.92415046691895, + "z": "f20d2d3a.d3597", + "wires": [] + }, + { + "id": "ae933ccf.17812", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 2017.0311279296875, + "y": 374.03125, + "z": "f20d2d3a.d3597", + "wires": [ + [ + "1bcea5bb.85368a", + "baf87e05.49718", + "657365d9.06388c", + "2c001ef8.5cd552" + ] + ] + }, + { + "id": "3b4d6073.21879", + "type": "switchNode", + "name": "switch prop.device.sdncCreate", + "xml": "<switch test=\"`$prop.device.sdncCreate`\">\n", + "comments": "", + "outputs": 1, + "x": 649.0314254760742, + "y": 691.0313444137573, + "z": "f20d2d3a.d3597", + "wires": [ + [ + "749e7d0b.8542b4" + ] + ] + }, + { + "id": "749e7d0b.8542b4", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 803.0312919616699, + "y": 692.031268119812, + "z": "f20d2d3a.d3597", + "wires": [ + [ + "9d539b15.274ee8" + ] + ] + } +]
\ No newline at end of file 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 55e912d2..d0ccec91 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 @@ -132,8 +132,8 @@ "xml": "<outcome value='unassign'>\n", "comments": "", "outputs": 1, - "x": 939.4286308288574, - "y": 580.1282825469971, + "x": 940.4287643432617, + "y": 711.1283483505249, "z": "4375a986.58da58", "wires": [ [ @@ -148,8 +148,8 @@ "xml": "<outcome value='Other'>\n", "comments": "", "outputs": 1, - "x": 928.1428680419922, - "y": 960.3183660507202, + "x": 929.1430358886719, + "y": 1303.3186073303223, "z": "4375a986.58da58", "wires": [ [ @@ -163,8 +163,8 @@ "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": 1161.3332977294922, - "y": 960.3184270858765, + "x": 1162.3334655761719, + "y": 1303.3186683654785, "z": "4375a986.58da58", "wires": [] }, @@ -203,8 +203,8 @@ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-deactivate' mode='sync' >\n", "comments": "", "outputs": 1, - "x": 1746.8571319580078, - "y": 492.84235858917236, + "x": 1740.8572721481323, + "y": 655.8424282073975, "z": "4375a986.58da58", "wires": [ [] @@ -217,8 +217,8 @@ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-unassign' mode='sync' >\n", "comments": "", "outputs": 1, - "x": 1284.5237274169922, - "y": 579.8424139022827, + "x": 1304.5238952636719, + "y": 715.8424291610718, "z": "4375a986.58da58", "wires": [ [] @@ -231,8 +231,8 @@ "xml": "<outcome value='deactivate'>\n", "comments": "", "outputs": 1, - "x": 946.5237579345703, - "y": 435.5090456008911, + "x": 930.5238723754883, + "y": 519.5090370178223, "z": "4375a986.58da58", "wires": [ [ @@ -247,8 +247,8 @@ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-activate' mode='sync' >\n", "comments": "", "outputs": 1, - "x": 1728.666763305664, - "y": 313.4136724472046, + "x": 1754.666904449463, + "y": 375.41370582580566, "z": "4375a986.58da58", "wires": [ [] @@ -277,8 +277,8 @@ "xml": "<outcome value='create'>\n", "comments": "", "outputs": 1, - "x": 941.0001182556152, - "y": 680.5000038146973, + "x": 942.0001945495605, + "y": 843.5000152587891, "z": "4375a986.58da58", "wires": [ [ @@ -293,8 +293,8 @@ "xml": "<outcome value='delete'>\n", "comments": "", "outputs": 1, - "x": 939.0001068115234, - "y": 823.5000066757202, + "x": 940.0002288818359, + "y": 1058.5000567436218, "z": "4375a986.58da58", "wires": [ [ @@ -315,7 +315,9 @@ "wires": [ [ "c9e81f54.ac68b", - "d05da9c5.f500d8" + "d05da9c5.f500d8", + "798897d0.7131b8", + "ca8cee25.05298" ] ] }, @@ -326,8 +328,8 @@ "xml": "<outcome value='ActivateSiteInstance'>", "comments": "", "outputs": 1, - "x": 1381.4762725830078, - "y": 222.979229927063, + "x": 1417.476333618164, + "y": 240.97925567626953, "z": "4375a986.58da58", "wires": [ [ @@ -342,8 +344,8 @@ "xml": "<outcome value='Other'>\n", "comments": "", "outputs": 1, - "x": 1350.381004333496, - "y": 314.3572244644165, + "x": 1376.381145477295, + "y": 376.3572578430176, "z": "4375a986.58da58", "wires": [ [ @@ -374,8 +376,8 @@ "xml": "<call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-activate' mode='sync' >\n", "comments": "", "outputs": 1, - "x": 1755.0000762939453, - "y": 221.5000123977661, + "x": 1791.0001373291016, + "y": 239.50003814697266, "z": "4375a986.58da58", "wires": [ [] @@ -388,13 +390,15 @@ "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n", "comments": "", "outputs": 1, - "x": 1209.0000762939453, - "y": 468.5000123977661, + "x": 1193.0001907348633, + "y": 552.5000038146973, "z": "4375a986.58da58", "wires": [ [ "f6ce8f15.087c8", - "6a7a4689.125ee8" + "6a7a4689.125ee8", + "6e2dfa7d.37fff4", + "391009ec.e35256" ] ] }, @@ -405,8 +409,8 @@ "xml": "<outcome value='DeactivateSiteInstance'>", "comments": "", "outputs": 1, - "x": 1422.4762725830078, - "y": 399.979229927063, + "x": 1436.4763870239258, + "y": 503.9792523384094, "z": "4375a986.58da58", "wires": [ [ @@ -421,8 +425,8 @@ "xml": "<outcome value='Other'>\n", "comments": "", "outputs": 1, - "x": 1391.381004333496, - "y": 491.3572244644165, + "x": 1385.3811445236206, + "y": 654.3572940826416, "z": "4375a986.58da58", "wires": [ [ @@ -437,8 +441,8 @@ "xml": "<block atomic=\"true\">", "atomic": "true", "outputs": 1, - "x": 1148.0000762939453, - "y": 413.5000123977661, + "x": 1132.0001907348633, + "y": 497.50000381469727, "z": "4375a986.58da58", "wires": [ [ @@ -453,8 +457,8 @@ "xml": "<call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-deactivate' mode='sync' >\n", "comments": "", "outputs": 1, - "x": 1792.0000762939453, - "y": 397.5000123977661, + "x": 1806.0001907348633, + "y": 501.50003480911255, "z": "4375a986.58da58", "wires": [ [] @@ -467,13 +471,15 @@ "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n", "comments": "", "outputs": 1, - "x": 1184.3336029052734, - "y": 733.086371421814, + "x": 1185.3336791992188, + "y": 896.0863828659058, "z": "4375a986.58da58", "wires": [ [ "92af337f.f9091", - "2260291f.e97ce6" + "2260291f.e97ce6", + "7dd9dcbc.7f2444", + "4129d032.78404" ] ] }, @@ -484,8 +490,8 @@ "xml": "<outcome value='CreateSiteInstance'>", "comments": "", "outputs": 1, - "x": 1397.809799194336, - "y": 664.5655889511108, + "x": 1395.8100814819336, + "y": 782.5656590461731, "z": "4375a986.58da58", "wires": [ [ @@ -500,8 +506,8 @@ "xml": "<outcome value='Other'>\n", "comments": "", "outputs": 1, - "x": 1366.7145309448242, - "y": 755.9435834884644, + "x": 1367.7146072387695, + "y": 918.9435949325562, "z": "4375a986.58da58", "wires": [ [ @@ -516,8 +522,8 @@ "xml": "<block atomic=\"true\">", "atomic": "true", "outputs": 1, - "x": 1123.3336029052734, - "y": 678.086371421814, + "x": 1124.3336791992188, + "y": 841.0863828659058, "z": "4375a986.58da58", "wires": [ [ @@ -532,8 +538,8 @@ "xml": "<call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-create' mode='sync' >\n", "comments": "", "outputs": 1, - "x": 1771.3336029052734, - "y": 663.086371421814, + "x": 1772.3337860107422, + "y": 781.0864176750183, "z": "4375a986.58da58", "wires": [ [] @@ -547,8 +553,8 @@ "atomic": "false", "comments": "", "outputs": 1, - "x": 1507.0001068115234, - "y": 757.0000066757202, + "x": 1508.0001831054688, + "y": 920.000018119812, "z": "4375a986.58da58", "wires": [ [] @@ -561,13 +567,15 @@ "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n", "comments": "", "outputs": 1, - "x": 1185.0001068115234, - "y": 876.0000066757202, + "x": 1186.000228881836, + "y": 1111.0000567436218, "z": "4375a986.58da58", "wires": [ [ "91de147a.222508", - "74446a5b.f474e4" + "74446a5b.f474e4", + "99ea96e4.0df2a8", + "1a0e74cb.e3576b" ] ] }, @@ -578,8 +586,8 @@ "xml": "<outcome value='DeleteSiteInstance'>", "comments": "", "outputs": 1, - "x": 1398.476303100586, - "y": 807.4792242050171, + "x": 1399.4764251708984, + "y": 1042.4792742729187, "z": "4375a986.58da58", "wires": [ [ @@ -594,8 +602,8 @@ "xml": "<outcome value='Other'>\n", "comments": "", "outputs": 1, - "x": 1367.3810348510742, - "y": 898.8572187423706, + "x": 1394.3811988830566, + "y": 1230.857343196869, "z": "4375a986.58da58", "wires": [ [ @@ -610,8 +618,8 @@ "xml": "<block atomic=\"true\">", "atomic": "true", "outputs": 1, - "x": 1124.0001068115234, - "y": 821.0000066757202, + "x": 1125.000228881836, + "y": 1056.0000567436218, "z": "4375a986.58da58", "wires": [ [ @@ -626,8 +634,8 @@ "xml": "<call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-delete' mode='sync' >\n", "comments": "", "outputs": 1, - "x": 1772.0001068115234, - "y": 806.0000066757202, + "x": 1773.000228881836, + "y": 1041.0000567436218, "z": "4375a986.58da58", "wires": [ [] @@ -641,8 +649,248 @@ "atomic": "false", "comments": "", "outputs": 1, - "x": 1507.6666107177734, - "y": 899.9136419296265, + "x": 1534.6667747497559, + "y": 1231.9137663841248, + "z": "4375a986.58da58", + "wires": [ + [] + ] + }, + { + "id": "798897d0.7131b8", + "type": "outcome", + "name": "ActivateSDWANDeviceInstance", + "xml": "<outcome value='ActivateSDWANDeviceInstance'>", + "comments": "", + "outputs": 1, + "x": 1445.6667938232422, + "y": 290.0000777244568, + "z": "4375a986.58da58", + "wires": [ + [ + "a45f59ac.5e3398" + ] + ] + }, + { + "id": "a45f59ac.5e3398", + "type": "call", + "name": "call GENERIC-RESOURCE-API:sdwan-vnf-topology-operation-device-activate", + "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-device-activate' mode='sync' >\n", + "comments": "", + "outputs": 1, + "x": 1881.1904907226562, + "y": 289.5208501815796, + "z": "4375a986.58da58", + "wires": [ + [] + ] + }, + { + "id": "6e2dfa7d.37fff4", + "type": "outcome", + "name": "DeactivateSDWANDeviceInstance", + "xml": "<outcome value='DeactivateSDWANDeviceInstance'>", + "comments": "", + "outputs": 1, + "x": 1477.6666259765625, + "y": 552.0000309944153, + "z": "4375a986.58da58", + "wires": [ + [ + "c84c03f8.9cd4" + ] + ] + }, + { + "id": "c84c03f8.9cd4", + "type": "call", + "name": "call GENERIC-RESOURCE-API:sdwan-vnf-topology-operation-device-deactivate", + "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-device-deactivate' mode='sync' >\n", + "comments": "", + "outputs": 1, + "x": 1934.1903228759766, + "y": 551.520866394043, + "z": "4375a986.58da58", + "wires": [ + [] + ] + }, + { + "id": "57576319.5a9afc", + "type": "call", + "name": "call GENERIC-RESOURCE-API:sdwan-vnf-topology-operation-wanport-activate", + "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-activate' mode='sync' >\n", + "comments": "", + "outputs": 1, + "x": 1885.6666259765625, + "y": 335, + "z": "4375a986.58da58", + "wires": [ + [] + ] + }, + { + "id": "ca8cee25.05298", + "type": "outcome", + "name": "ActivateSDWANPortInstance", + "xml": "<outcome value='ActivateSDWANPortInstance'>", + "comments": "", + "outputs": 1, + "x": 1450.1429290771484, + "y": 335.4792275428772, + "z": "4375a986.58da58", + "wires": [ + [ + "57576319.5a9afc" + ] + ] + }, + { + "id": "391009ec.e35256", + "type": "outcome", + "name": "DeactivateSDWANPortInstance", + "xml": "<outcome value='DeactivateSDWANPortInstance'>", + "comments": "", + "outputs": 1, + "x": 1487.6666259765625, + "y": 607.3333129882812, + "z": "4375a986.58da58", + "wires": [ + [ + "f3661d98.5a432" + ] + ] + }, + { + "id": "f3661d98.5a432", + "type": "call", + "name": "call GENERIC-RESOURCE-API:sdwan-vnf-topology-operation-wanport-deactivate", + "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-deactivate' mode='sync' >\n", + "comments": "", + "outputs": 1, + "x": 1944.1903228759766, + "y": 606.8541483879089, + "z": "4375a986.58da58", + "wires": [ + [] + ] + }, + { + "id": "7dd9dcbc.7f2444", + "type": "outcome", + "name": "CreateSDWANPortInstance", + "xml": "<outcome value='CreateSDWANPortInstance'>", + "comments": "", + "outputs": 1, + "x": 1445.666976928711, + "y": 871.3334934711456, + "z": "4375a986.58da58", + "wires": [ + [ + "68414049.ea046" + ] + ] + }, + { + "id": "68414049.ea046", + "type": "call", + "name": "call GENERIC-RESOURCE-API:sdwan-vnf-topology-operation-wanport-create", + "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-create' mode='sync' >\n", + "comments": "", + "outputs": 1, + "x": 1902.1905975341797, + "y": 875.8542728424072, + "z": "4375a986.58da58", + "wires": [ + [] + ] + }, + { + "id": "99ea96e4.0df2a8", + "type": "outcome", + "name": "DeleteSDWANPortInstance", + "xml": "<outcome value='DeleteSDWANPortInstance'>", + "comments": "", + "outputs": 1, + "x": 1462.3334655761719, + "y": 1167.333445072174, + "z": "4375a986.58da58", + "wires": [ + [ + "a5fe3bb.97135c8" + ] + ] + }, + { + "id": "a5fe3bb.97135c8", + "type": "call", + "name": "call GENERIC-RESOURCE-API:sdwan-vnf-topology-operation-wanport-delete", + "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-delete' mode='sync' >\n", + "comments": "", + "outputs": 1, + "x": 1918.857162475586, + "y": 1166.8542804718018, + "z": "4375a986.58da58", + "wires": [ + [] + ] + }, + { + "id": "1a0e74cb.e3576b", + "type": "outcome", + "name": "DeleteSDWANDeviceInstance", + "xml": "<outcome value='DeleteSDWANDeviceInstance'>", + "comments": "", + "outputs": 1, + "x": 1471.0316162109375, + "y": 1107.5313515663147, + "z": "4375a986.58da58", + "wires": [ + [ + "b4d0ce64.19ec1" + ] + ] + }, + { + "id": "b4d0ce64.19ec1", + "type": "call", + "name": "call GENERIC-RESOURCE-API:sdwan-vnf-topology-operation-device-delete", + "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-device-delete' mode='sync' >\n", + "comments": "", + "outputs": 1, + "x": 1903.5552215576172, + "y": 1107.0520648956299, + "z": "4375a986.58da58", + "wires": [ + [] + ] + }, + { + "id": "4129d032.78404", + "type": "outcome", + "name": "CreateSDWANDeviceInstance", + "xml": "<outcome value='CreateSDWANDeviceInstance'>", + "comments": "", + "outputs": 1, + "x": 1461.0313262939453, + "y": 827.5314569473267, + "z": "4375a986.58da58", + "wires": [ + [ + "9003a9fa.c60f08" + ] + ] + }, + { + "id": "9003a9fa.c60f08", + "type": "call", + "name": "call GENERIC-RESOURCE-API:sdwan-vnf-topology-operation-device-create", + "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-device-create' mode='sync' >\n", + "comments": "", + "outputs": 1, + "x": 1917.5549926757812, + "y": 826.0522708892822, "z": "4375a986.58da58", "wires": [ [] diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-get-device-param.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-get-device-param.xml new file mode 100644 index 00000000..c4bbca19 --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-get-device-param.xml @@ -0,0 +1,87 @@ +<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='sdwan-get-device-param' mode='sync'> + <block atomic="true"> + <for index='idx' start='0' end='`$vnf-request-input.vnf-input-parameters.param_length`' > + <block> + <switch test="`$vnf-request-input.vnf-input-parameters.param[$idx].name == 'name'`"> + <outcome value='true'> + <set> + <parameter name='prop.device.name' value='`$vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-request-input.vnf-input-parameters.param[$idx].name == 'esn'`"> + <outcome value='true'> + <set> + <parameter name='prop.device.esn' value='`$vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-request-input.vnf-input-parameters.param[$idx].name == 'class'`"> + <outcome value='true'> + <set> + <parameter name='prop.device.class' value='`$vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-request-input.vnf-input-parameters.param[$idx].name == 'type'`"> + <outcome value='true'> + <set> + <parameter name='prop.device.deviceModel' value='`$vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-request-input.vnf-input-parameters.param[$idx].name == 'version'`"> + <outcome value='true'> + <set> + <parameter name='prop.device.version' value='`$vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-request-input.vnf-input-parameters.param[$idx].name == 'systemIp'`"> + <outcome value='true'> + <set> + <parameter name='prop.device.systemIP' value='`$vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-request-input.vnf-input-parameters.param[$idx].name == 'description'`"> + <outcome value='true'> + <set> + <parameter name='prop.device.description' value='`$vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-request-input.vnf-input-parameters.param[$idx].name == 'vendor'`"> + <outcome value='true'> + <set> + <parameter name='prop.device.vendor' value='`$vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-request-input.vnf-input-parameters.param[$idx].name == 'deviceId'`"> + <outcome value='true'> + <set> + <parameter name='prop.device.deviceId' value='`$vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + <switch test="`$vnf-request-input.vnf-input-parameters.param[$idx].name == 'sdncCreate'`"> + <outcome value='true'> + <set> + <parameter name='prop.device.sdncCreate' value='`$vnf-request-input.vnf-input-parameters.param[$idx].value`' /> + </set> + </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> + </for> + </block> + </method> +</service-logic>
\ No newline at end of file diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-activate.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-activate.xml new file mode 100644 index 00000000..5c4d4785 --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-activate.xml @@ -0,0 +1,160 @@ +<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='1.2.1-SNAPSHOT'>
+ <method rpc='sdwan-vnf-topology-operation-device-activate' mode='sync'>
+ <block atomic="true">
+ <for index='vidx' start='0' end='`$service-data.vnfs.vnf_length`' >
+ <block>
+ <switch test="`$service-data.vnfs.vnf[$vidx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`">
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.vidx' value='`$vidx`' />
+ <parameter name='ctx.vnf-data.' value='`$service-data.vnfs.vnf[$vidx].`' />
+ </set>
+ <set>
+ <parameter name='vnf-request-input.' value='`$ctx.vnf-data.vnf-data.vnf-request-input.`' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='sdwan-get-device-param' mode='sync' ></call>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </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>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="Provided alloted resource length"/>
+ <parameter name="field3" value="'parameters length'"/>
+ <parameter name="field4" value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`'/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+ </execute>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="esr-thirdparty-sdnc"
+ key="esr-thirdparty-sdnc.thirdparty-sdnc-id = SDWAN-Controller AND
+ depth = '1'"
+ pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >
+ <outcome value='success'>
+ <set>
+ <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`" />
+ <parameter name='prop.sdncRestApi.thirdpartySdnc.user' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`" />
+ <parameter name='prop.sdncRestApi.thirdpartySdnc.password' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />
+ </return>
+ </outcome>
+ </get-resource>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/actokentemplate.json'`" />
+ <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`" />
+ <parameter name="format" value="json"/>
+ <parameter name="httpMethod" value="post"/>
+ <parameter name="responsePrefix" value="token-result"/>
+ <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
+ <parameter name="trustStorePassword" value="adminadmin"/>
+ <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
+ <parameter name="keyStorePassword" value="adminadmin"/>
+ <outcome value='success'>
+ <set>
+ <parameter name='prop.sdncRestApi.token_id' value='`$token-result.data.token_id`' />
+ </set>
+ </outcome>
+ <outcome value='failure'>
+ <block></block>
+ </outcome>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-device.json'`" />
+ <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v3/devices'`" />
+ <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
+ <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
+ <parameter name="format" value="json"/>
+ <parameter name="httpMethod" value="put"/>
+ <parameter name="responsePrefix" value="deviceResp"/>
+ <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
+ <parameter name="trustStorePassword" value="adminadmin"/>
+ <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
+ <parameter name="keyStorePassword" value="adminadmin"/>
+ <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
+ <!--execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' ><parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-wan-port.json'`" /><parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/transport-network-ports'`" /><parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" /><parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" /><parameter name="format" value="json"/><parameter name="httpMethod" value="post"/><parameter name="responsePrefix" value="wanPortResp"/><parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/><parameter name="trustStorePassword" value="adminadmin"/><parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/><parameter name="keyStorePassword" value="adminadmin"/><parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" /-->
+ <outcome value='success'>
+ <block atomic="true"></block>
+ </outcome>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error executing Activate Device rest api" />
+ </return>
+ </outcome>
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].name' value="deviceId" />
+ <!--parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].value' value='`$deviceResp[0].id`' /-->
+ <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].value' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length' value='`$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 1`' />
+ </set>
+ <set>
+ <parameter name='vnfId' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <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/' + $vnf-topology-operation-input.vnf-information.vnf-id + '/vnf-data/'` " />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-level-oper-status.order-status' value='Active' />
+ <parameter name='service-data.vnfs.vnf[$tmp.vidx].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[$tmp.vidx].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.sdnc-request-header.' value='`$vnf-topology-operation-input.sdnc-request-header.`' />
+ <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.request-information.' value='`$vnf-topology-operation-input.request-information.`' />
+ <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.service-information.' value='`$vnf-topology-operation-input.service-information.`' />
+ <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-information.' value='`$vnf-topology-operation-input.vnf-information.`' />
+ </set>
+ <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='device'
+ key='device.id = $vnf-topology-operation-input.vnf-information.vnf-id' >
+ <parameter name='id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='device-id' value='$deviceResp[0].id' />
+ <parameter name='operational-status' value='Active' />
+ </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="device" />
+ <parameter name="relationship-list.relationship[0].related-link" value="`'/network/devices/device/' + $vnf-topology-operation-input.vnf-information.vnf-id`" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="device.id" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$vnf-topology-operation-input.vnf-information.vnf-id`" />
+ </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_sdwan-vnf-topology-operation-device-create.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-create.xml new file mode 100644 index 00000000..821fc1f6 --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-create.xml @@ -0,0 +1,162 @@ +<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='1.2.1-SNAPSHOT'> + <method rpc='sdwan-vnf-topology-operation-device-create' mode='sync'> + <block atomic="true"> + <set> + <parameter name='prop.sdncCreate' value='false' /> + </set> + <switch test="`$vnf-topology-operation-input.vnf-information.vnf-id`"> + <outcome value=''> + <block atomic="true"> + <set> + <parameter name='prop.sdncCreate' value='true' /> + </set> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' > + <parameter name="ctx-destination" value="prop.vnf-id"/> + </execute> + <block atomic="true"> + <switch test='`$service-data.vnfs.vnf_length`'> + <outcome value=''> + <set> + <parameter name='vnf-index' value='0' /> + </set> + </outcome> + <outcome value='Other'> + <set> + <parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' /> + </set> + </outcome> + </switch> + <set> + <parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' /> + </set> + </block> + </block> + </outcome> + <outcome value='Other'> + <block atomic="true"> + <block atomic="true"> + <switch test='`$service-data.vnfs.vnf_length`'> + <outcome value=''> + <set> + <parameter name='vnf-index' value='0' /> + </set> + </outcome> + <outcome value='Other'> + <set> + <parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' /> + </set> + </outcome> + </switch> + <set> + <parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' /> + </set> + </block> + <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> + <set> + <parameter name='prop.vnf-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' /> + </set> + </block> + </outcome> + </switch> + <for index="idx" start="0" end="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`"> + <block> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' > + <parameter name="original_string" value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name`'/> + <parameter name="regex" value="_"/> + <parameter name="ctx_memory_result_key" value="param-prefix"/> + </execute> + <set> + <parameter name="`vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name`" value='`$param-prefix[$param-prefix_length -1]`'/> + </set> + </block> + </for> + <set> + <parameter name='vnf-request-input.' value='`$vnf-topology-operation-input.vnf-request-input.`' /> + </set> + <call module='GENERIC-RESOURCE-API' rpc='sdwan-get-device-param' mode='sync' ></call> + <set> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id' value='`$prop.vnf-id`' /> + </set> + <set> + <parameter name='vnfId' value='`$prop.vnf-id`' /> + <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-id + '/vnf-data/'` " /> + </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='service-data.vnfs.vnf[$vnf-index].vnf-id' value='`$prop.vnf-id`' /> + <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> + <switch test='`$prop.sdncCreate`'> + <outcome value='true'> + <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='device' + key='device.id = $prop.vnf-id' > + <parameter name='id' value='`$prop.vnf-id`' /> + <parameter name='esn' value='`$prop.device.name`' /> + <parameter name='name' value="true" /> + <parameter name='description' value='`$prop.device.description`' /> + <parameter name='vendor' value='`$prop.device.vendor`' /> + <parameter name='class' value='`$prop.device.class`' /> + <parameter name='type' value='`$prop.device.deviceModel`' /> + <parameter name='version' value='`$prop.device.version`' /> + <parameter name='system-ip' value='`$prop.device.systemIp`' /> + <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-id + '/vnf-data/'` " /> + </save> + </outcome> + <outcome value='false'> + <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='device' + key='device.id = $prop.vnf-id' > + <parameter name='id' value='`$prop.vnf-id`' /> + <parameter name='esn' value='`$prop.device.name`' /> + <parameter name='name' value="true" /> + <parameter name='description' value='`$prop.device.description`' /> + <parameter name='vendor' value='`$prop.device.vendor`' /> + <parameter name='class' value='`$prop.device.class`' /> + <parameter name='type' value='`$prop.device.deviceModel`' /> + <parameter name='version' value='`$prop.device.version`' /> + <parameter name='system-ip' value='`$prop.device.systemIp`' /> + <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-id + '/vnf-data/'` " /> + </update> + </outcome> + </switch> + <set> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.vnf-input-parameters.param_length].name' value="sdncCreate" /> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.vnf-input-parameters.param_length].value' value='`$prop.sdncCreate`' /> + <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.vnf-input-parameters.param_length' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 1`' /> + </set> + <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>
\ No newline at end of file diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-deactivate.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-deactivate.xml new file mode 100644 index 00000000..d9cea851 --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-deactivate.xml @@ -0,0 +1,141 @@ +<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='sdwan-vnf-topology-operation-device-deactivate' mode='sync'>
+ <block atomic="true">
+ <for index='vidx' start='0' end='`$service-data.vnfs.vnf_length`' >
+ <block>
+ <switch test="`$service-data.vnfs.vnf[$vidx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`">
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.vidx' value='`$vidx`' />
+ <parameter name='ctx.vnf-data.' value='`$service-data.vnfs.vnf[$vidx].`' />
+ </set>
+ <set>
+ <parameter name='vnf-request-input.' value='`$ctx.vnf-data.vnf-data.vnf-request-input.`' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='sdwan-get-device-param' mode='sync' ></call>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </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>
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+ </execute>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="esr-thirdparty-sdnc"
+ key="esr-thirdparty-sdnc.thirdparty-sdnc-id = SDWAN-Controller AND
+ depth = '1'"
+ pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >
+ <outcome value='success'>
+ <set>
+ <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`" />
+ <parameter name='prop.sdncRestApi.thirdpartySdnc.user' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`" />
+ <parameter name='prop.sdncRestApi.thirdpartySdnc.password' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />
+ </return>
+ </outcome>
+ </get-resource>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-device.json'`" />
+ <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`" />
+ <parameter name="format" value="json"/>
+ <parameter name="httpMethod" value="post"/>
+ <parameter name="responsePrefix" value="token-result"/>
+ <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
+ <parameter name="trustStorePassword" value="adminadmin"/>
+ <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
+ <parameter name="keyStorePassword" value="adminadmin"/>
+ <outcome value='success'>
+ <set>
+ <parameter name='prop.sdncRestApi.token_id' value='`$token-result.data.token_id`' />
+ </set>
+ </outcome>
+ <outcome value='failure'>
+ <block></block>
+ </outcome>
+ </execute>
+ <set>
+ <parameter name='prop.devices_length' value='1' />
+ </set>
+ <set>
+ <parameter name='prop.devices[0]' value='`$prop.device.deviceId`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-device-del.json'`" />
+ <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v3/devices'`" />
+ <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
+ <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
+ <parameter name="format" value="json"/>
+ <parameter name="httpMethod" value="delete"/>
+ <parameter name="responsePrefix" value="deviceResp"/>
+ <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
+ <parameter name="trustStorePassword" value="adminadmin"/>
+ <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
+ <parameter name="keyStorePassword" value="adminadmin"/>
+ <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
+ <outcome value='success'>
+ <block atomic="true"></block>
+ </outcome>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error executing Create vpn rest api" />
+ </return>
+ </outcome>
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.sdnc-request-header.' value='`$vnf-topology-operation-input.sdnc-request-header.`' />
+ <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.request-information.' value='`$vnf-topology-operation-input.request-information.`' />
+ <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.service-information.' value='`$vnf-topology-operation-input.service-information.`' />
+ <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-information.' value='`$vnf-topology-operation-input.vnf-information.`' />
+ </set>
+ <set>
+ <parameter name='vnfId' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <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/' + $vnf-topology-operation-input.vnf-information.vnf-id + '/vnf-data/'` " />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-level-oper-status.order-status' value='PendingDelete' />
+ <parameter name='service-data.vnfs.vnf[$tmp.vidx].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[$tmp.vidx].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
+ </set>
+ <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='device'
+ key='device.id = $vnf-topology-operation-input.vnf-information.vnf-id' >
+ <parameter name='id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='operational-status' value='PendingDelete' />
+ </update>
+ <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_sdwan-vnf-topology-operation-device-delete.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-delete.xml new file mode 100644 index 00000000..0190be0b --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-vnf-topology-operation-device-delete.xml @@ -0,0 +1,103 @@ +<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='sdwan-vnf-topology-operation-device-delete' mode='sync'> + <block atomic="true"> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' > + <parameter name="vnf-topology-operation-input.vnf-information.vnf-id" value="$vnf-topology-operation-input.vnf-information.vnf-id"/> + </execute> + <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-request-input.vnf-input-parameters.name is a required input" /> + </return> + </outcome> + </switch> + <switch test='`$service-data.vnfs.vnf_length`'> + <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'> + <block atomic="true"> + <set> + <parameter name='tmp.vidx' value='`$vidx`' /> + <parameter name='ctx.vnf-data.' value='`$service-data.vnfs.vnf[$vidx].`' /> + </set> + <set> + <parameter name='vnf-request-input.' value='`$ctx.vnf-data.vnf-data.vnf-request-input.`' /> + </set> + <call module='GENERIC-RESOURCE-API' rpc='sdwan-get-device-param' mode='sync' ></call> + <set> + <parameter name='tmp.vidx' value='`$vidx`' /> + <parameter name='ctx.vnf-data.' value='`$service-data.vnfs.vnf[$vidx].vnf-data.`' /> + </set> + </block> + </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> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/> + <parameter name="field1" value="__TIMESTAMP__"/> + <parameter name="field2" value="tmp.vidx1234555"/> + <parameter name="field3" value='`$tmp.vidx`'/> + </record> + </block> + </outcome> + </switch> + <switch test='`$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-level-oper-status.order-status`'> + <outcome value='PendingDelete'> + <block atomic="true"></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 is not in appropriate state for activate. Current state is ' + $service-data.vnfs.vnf[$tmp.nidx].vnf-data.vnf-level-oper-status.order-status`" /> + </return> + </outcome> + </switch> + <set> + <parameter name="service-data.vnfs.vnf_length" value="`$service-data.vnfs.vnf_length - 1`"/> + </set> + <set> + <parameter name="service-data.vnfs.vnf[$tmp.vidx]." value=""/> + </set> + <set> + <parameter name='vnfId' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' /> + <parameter name='vnf-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + + $vnf-topology-operation-input.service-information.service-instance-id + + '/service-data/service-topology/'` " /> + </set> + <switch test="`$prop.device.sdncCreate`"> + <outcome value='true'> + <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource='device' + key='device.id = $vnf-topology-operation-input.vnf-information.vnf-id'></delete> + </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>
\ No newline at end of file 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 e0332cc6..6dbe24bf 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 @@ -14,6 +14,12 @@ <outcome value='ActivateSiteInstance'>
<call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-activate' mode='sync' ></call>
</outcome>
+ <outcome value='ActivateSDWANDeviceInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-device-activate' mode='sync' ></call>
+ </outcome>
+ <outcome value='ActivateSDWANPortInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-activate' mode='sync' ></call>
+ </outcome>
<outcome value='Other'>
<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-activate' mode='sync' ></call>
</outcome>
@@ -26,6 +32,12 @@ <outcome value='DeactivateSiteInstance'>
<call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-deactivate' mode='sync' ></call>
</outcome>
+ <outcome value='DeactivateSDWANDeviceInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-device-deactivate' mode='sync' ></call>
+ </outcome>
+ <outcome value='DeactivateSDWANPortInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-deactivate' mode='sync' ></call>
+ </outcome>
<outcome value='Other'>
<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-deactivate' mode='sync' ></call>
</outcome>
@@ -41,6 +53,12 @@ <outcome value='CreateSiteInstance'>
<call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-create' mode='sync' ></call>
</outcome>
+ <outcome value='CreateSDWANDeviceInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-device-create' mode='sync' ></call>
+ </outcome>
+ <outcome value='CreateSDWANPortInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-create' mode='sync' ></call>
+ </outcome>
<outcome value='Other'>
<block></block>
</outcome>
@@ -53,6 +71,12 @@ <outcome value='DeleteSiteInstance'>
<call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-delete' mode='sync' ></call>
</outcome>
+ <outcome value='DeleteSDWANDeviceInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-device-delete' mode='sync' ></call>
+ </outcome>
+ <outcome value='DeleteSDWANPortInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-delete' mode='sync' ></call>
+ </outcome>
<outcome value='Other'>
<block></block>
</outcome>
|