summaryrefslogtreecommitdiffstats
path: root/platform-logic/generic-resource-api/src
diff options
context:
space:
mode:
Diffstat (limited to 'platform-logic/generic-resource-api/src')
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation.json2054
-rw-r--r--platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-activate.json298
-rw-r--r--platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-create.json375
-rw-r--r--platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-deactivate.json433
-rw-r--r--platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-delete.json569
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation.xml42
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-activate.xml66
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-create.xml86
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-deactivate.xml89
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-delete.xml107
10 files changed, 3219 insertions, 900 deletions
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 1502a4db..46a248f4 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation.json
@@ -1,899 +1,1155 @@
-[
- {
- "id": "7bde6af5.3548a4",
- "type": "dgstart",
- "name": "DGSTART",
- "outputs": 1,
- "x": 101.71429443359375,
- "y": 102.41365432739258,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "e157b5ae.b89b18"
- ]
- ]
- },
- {
- "id": "e157b5ae.b89b18",
- "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": 177,
- "y": 142.65176582336426,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "48440c73.4b21e4"
- ]
- ]
- },
- {
- "id": "48440c73.4b21e4",
- "type": "method",
- "name": "method vnf-topology-operation",
- "xml": "<method rpc='vnf-topology-operation' mode='sync'>\n",
- "comments": "",
- "outputs": 1,
- "x": 170.1429214477539,
- "y": 182.41364860534668,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "22b966ec.08b71a"
- ]
- ]
- },
- {
- "id": "ddc89afc.a79548",
- "type": "comment",
- "name": "vnf-topology-operation",
- "info": "",
- "comments": "",
- "x": 496.0591506958008,
- "y": 49.99999809265137,
- "z": "d01dd033.8ac4a",
- "wires": []
- },
- {
- "id": "22b966ec.08b71a",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 185.8810577392578,
- "y": 369.10718536376953,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "c63a8d0b.7cd2d",
- "9a9f4c36.42c6e",
- "63014890.7d3f18"
- ]
- ]
- },
- {
- "id": "c63a8d0b.7cd2d",
- "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": 478.3810119628906,
- "y": 519.2712182998657,
- "z": "d01dd033.8ac4a",
- "wires": []
- },
- {
- "id": "9a9f4c36.42c6e",
- "type": "switchNode",
- "name": "switch svc-action",
- "xml": "<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 481.28572845458984,
- "y": 367.3184289932251,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "7166573d.f3e208",
- "91d66056.0ca95",
- "37b3898c.305b16",
- "e44be482.faad98",
- "746a31a7.54817",
- "43b3d6b0.c09de8",
- "7acd2ca5.9b68c4"
- ]
- ]
- },
- {
- "id": "7166573d.f3e208",
- "type": "outcome",
- "name": "assign",
- "xml": "<outcome value='assign'>\n",
- "comments": "",
- "outputs": 1,
- "x": 893.0952606201172,
- "y": 77.93756580352783,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "16b2d01e.2203e"
- ]
- ]
- },
- {
- "id": "91d66056.0ca95",
- "type": "outcome",
- "name": "unassign",
- "xml": "<outcome value='unassign'>\n",
- "comments": "",
- "outputs": 1,
- "x": 910.1430587768555,
- "y": 639.1283464431763,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "18d76be8.6f0684"
- ]
- ]
- },
- {
- "id": "e44be482.faad98",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 898.8573303222656,
- "y": 1231.3186054229736,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "7c46c4a8.c5114c"
- ]
- ]
- },
- {
- "id": "7c46c4a8.c5114c",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`$vnf-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`\" />\n",
- "comments": "",
- "x": 1132.0477600097656,
- "y": 1231.3186664581299,
- "z": "d01dd033.8ac4a",
- "wires": []
- },
- {
- "id": "63014890.7d3f18",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:validate-vnf-input",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-vnf-input' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 587.1309814453125,
- "y": 258.794713973999,
- "z": "d01dd033.8ac4a",
- "wires": [
- []
- ]
- },
- {
- "id": "16b2d01e.2203e",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-assign",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1235.2381134033203,
- "y": 77.50902652740479,
- "z": "d01dd033.8ac4a",
- "wires": [
- []
- ]
- },
- {
- "id": "20a6f0ca.ebd98",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-deactivate",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-deactivate' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1710.571566581726,
- "y": 583.8424263000488,
- "z": "d01dd033.8ac4a",
- "wires": [
- []
- ]
- },
- {
- "id": "18d76be8.6f0684",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-unassign",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-unassign' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1274.2381896972656,
- "y": 643.8424272537231,
- "z": "d01dd033.8ac4a",
- "wires": [
- []
- ]
- },
- {
- "id": "37b3898c.305b16",
- "type": "outcome",
- "name": "deactivate",
- "xml": "<outcome value='deactivate'>\n",
- "comments": "",
- "outputs": 1,
- "x": 900.238166809082,
- "y": 447.50903511047363,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "3399642f.f8978c"
- ]
- ]
- },
- {
- "id": "7bd14237.45986c",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-activate",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-activate' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1724.3811988830566,
- "y": 303.41370391845703,
- "z": "d01dd033.8ac4a",
- "wires": [
- []
- ]
- },
- {
- "id": "746a31a7.54817",
- "type": "outcome",
- "name": "activate",
- "xml": "<outcome value='activate'>\n",
- "comments": "",
- "outputs": 1,
- "x": 896.0475997924805,
- "y": 169.0803337097168,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "82bdf0ff.efdf4"
- ]
- ]
- },
- {
- "id": "43b3d6b0.c09de8",
- "type": "outcome",
- "name": "create",
- "xml": "<outcome value='create'>\n",
- "comments": "",
- "outputs": 1,
- "x": 911.7144889831543,
- "y": 771.5000133514404,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "45a0dc92.069df4"
- ]
- ]
- },
- {
- "id": "7acd2ca5.9b68c4",
- "type": "outcome",
- "name": "delete",
- "xml": "<outcome value='delete'>\n",
- "comments": "",
- "outputs": 1,
- "x": 909.7145233154297,
- "y": 986.5000548362732,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "15d3bdce.a379d2"
- ]
- ]
- },
- {
- "id": "d48650ef.7c891",
- "type": "switchNode",
- "name": "switch request-action",
- "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1137.714370727539,
- "y": 219.50001049041748,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "d11685a9.f62eb8",
- "d06a8d19.4d6d1",
- "4d5727ac.a53ee8",
- "a770a856.f607b8"
- ]
- ]
- },
- {
- "id": "d06a8d19.4d6d1",
- "type": "outcome",
- "name": "ActivateSiteInstance",
- "xml": "<outcome value='ActivateSiteInstance'>",
- "comments": "",
- "outputs": 1,
- "x": 1387.1906280517578,
- "y": 168.9792537689209,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "f4ae7362.f5fcf"
- ]
- ]
- },
- {
- "id": "d11685a9.f62eb8",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1346.0954399108887,
- "y": 304.35725593566895,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "7bd14237.45986c"
- ]
- ]
- },
- {
- "id": "82bdf0ff.efdf4",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1076.714370727539,
- "y": 164.50001049041748,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "d48650ef.7c891"
- ]
- ]
- },
- {
- "id": "f4ae7362.f5fcf",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:site-vnf-topology-operation-activate",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-activate' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1760.7144317626953,
- "y": 167.50003623962402,
- "z": "d01dd033.8ac4a",
- "wires": [
- []
- ]
- },
- {
- "id": "fd14ed12.5d0ad",
- "type": "switchNode",
- "name": "switch request-action",
- "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1162.714485168457,
- "y": 480.50000190734863,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "58b64587.59c5ec",
- "212999d2.74fa56",
- "dac41099.6c197",
- "eb0736e3.b5ac48"
- ]
- ]
- },
- {
- "id": "212999d2.74fa56",
- "type": "outcome",
- "name": "DeactivateSiteInstance",
- "xml": "<outcome value='DeactivateSiteInstance'>",
- "comments": "",
- "outputs": 1,
- "x": 1406.1906814575195,
- "y": 431.9792504310608,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "cbe77765.242be8"
- ]
- ]
- },
- {
- "id": "58b64587.59c5ec",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1355.0954389572144,
- "y": 582.357292175293,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "20a6f0ca.ebd98"
- ]
- ]
- },
- {
- "id": "3399642f.f8978c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1101.714485168457,
- "y": 425.50000190734863,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "fd14ed12.5d0ad"
- ]
- ]
- },
- {
- "id": "cbe77765.242be8",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:site-vnf-topology-operation-deactivate",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-deactivate' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1775.714485168457,
- "y": 429.5000329017639,
- "z": "d01dd033.8ac4a",
- "wires": [
- []
- ]
- },
- {
- "id": "c2f6d68e.0458f8",
- "type": "switchNode",
- "name": "switch request-action",
- "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1155.0479736328125,
- "y": 824.0863809585571,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "a9b7bffc.aa2b4",
- "6b318116.5323d",
- "42a23b75.158384",
- "9c7e9e79.a7d92"
- ]
- ]
- },
- {
- "id": "6b318116.5323d",
- "type": "outcome",
- "name": "CreateSiteInstance",
- "xml": "<outcome value='CreateSiteInstance'>",
- "comments": "",
- "outputs": 1,
- "x": 1365.5243759155273,
- "y": 710.5656571388245,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "55240075.eb5d6"
- ]
- ]
- },
- {
- "id": "a9b7bffc.aa2b4",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1337.4289016723633,
- "y": 846.9435930252075,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "298a6339.0b800c"
- ]
- ]
- },
- {
- "id": "45a0dc92.069df4",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1094.0479736328125,
- "y": 769.0863809585571,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "c2f6d68e.0458f8"
- ]
- ]
- },
- {
- "id": "55240075.eb5d6",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:site-vnf-topology-operation-create",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-create' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1742.048080444336,
- "y": 709.0864157676697,
- "z": "d01dd033.8ac4a",
- "wires": [
- []
- ]
- },
- {
- "id": "298a6339.0b800c",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1477.7144775390625,
- "y": 848.0000162124634,
- "z": "d01dd033.8ac4a",
- "wires": [
- []
- ]
- },
- {
- "id": "7fc78d60.cae204",
- "type": "switchNode",
- "name": "switch request-action",
- "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1155.7145233154297,
- "y": 1039.0000548362732,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "598afaf3.9ab664",
- "ad4f414f.86f22",
- "80e244cd.d3b9b8",
- "36b48dbf.e8f152"
- ]
- ]
- },
- {
- "id": "ad4f414f.86f22",
- "type": "outcome",
- "name": "DeleteSiteInstance",
- "xml": "<outcome value='DeleteSiteInstance'>",
- "comments": "",
- "outputs": 1,
- "x": 1369.1907196044922,
- "y": 970.4792723655701,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "5ac9f6c1.9461d8"
- ]
- ]
- },
- {
- "id": "598afaf3.9ab664",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1364.0954933166504,
- "y": 1158.8573412895203,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "7e90d46d.dd6c8c"
- ]
- ]
- },
- {
- "id": "15d3bdce.a379d2",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1094.7145233154297,
- "y": 984.0000548362732,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "7fc78d60.cae204"
- ]
- ]
- },
- {
- "id": "5ac9f6c1.9461d8",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:site-vnf-topology-operation-delete",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-delete' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1742.7145233154297,
- "y": 969.0000548362732,
- "z": "d01dd033.8ac4a",
- "wires": [
- []
- ]
- },
- {
- "id": "7e90d46d.dd6c8c",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1504.3810691833496,
- "y": 1159.9137644767761,
- "z": "d01dd033.8ac4a",
- "wires": [
- []
- ]
- },
- {
- "id": "4d5727ac.a53ee8",
- "type": "outcome",
- "name": "ActivateSDWANDeviceInstance",
- "xml": "<outcome value='ActivateSDWANDeviceInstance'>",
- "comments": "",
- "outputs": 1,
- "x": 1415.381088256836,
- "y": 218.00007581710815,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "707c6b49.988594"
- ]
- ]
- },
- {
- "id": "707c6b49.988594",
- "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": 1850.90478515625,
- "y": 217.52084827423096,
- "z": "d01dd033.8ac4a",
- "wires": [
- []
- ]
- },
- {
- "id": "dac41099.6c197",
- "type": "outcome",
- "name": "DeactivateSDWANDeviceInstance",
- "xml": "<outcome value='DeactivateSDWANDeviceInstance'>",
- "comments": "",
- "outputs": 1,
- "x": 1447.3809204101562,
- "y": 480.00002908706665,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "ac8efd87.9dc06"
- ]
- ]
- },
- {
- "id": "ac8efd87.9dc06",
- "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": 1903.9046173095703,
- "y": 479.52086448669434,
- "z": "d01dd033.8ac4a",
- "wires": [
- []
- ]
- },
- {
- "id": "2da816b6.4e7c0a",
- "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": 1855.3809204101562,
- "y": 262.99999809265137,
- "z": "d01dd033.8ac4a",
- "wires": [
- []
- ]
- },
- {
- "id": "a770a856.f607b8",
- "type": "outcome",
- "name": "ActivateSDWANPortInstance",
- "xml": "<outcome value='ActivateSDWANPortInstance'>",
- "comments": "",
- "outputs": 1,
- "x": 1419.8572235107422,
- "y": 263.47922563552856,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "2da816b6.4e7c0a"
- ]
- ]
- },
- {
- "id": "eb0736e3.b5ac48",
- "type": "outcome",
- "name": "DeactivateSDWANPortInstance",
- "xml": "<outcome value='DeactivateSDWANPortInstance'>",
- "comments": "",
- "outputs": 1,
- "x": 1439.3809661865234,
- "y": 518.3333444595337,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "f22af468.5fba28"
- ]
- ]
- },
- {
- "id": "f22af468.5fba28",
- "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": 1913.9046173095703,
- "y": 534.8541464805603,
- "z": "d01dd033.8ac4a",
- "wires": [
- []
- ]
- },
- {
- "id": "42a23b75.158384",
- "type": "outcome",
- "name": "CreateSDWANPortInstance",
- "xml": "<outcome value='CreateSDWANPortInstance'>",
- "comments": "",
- "outputs": 1,
- "x": 1415.3812713623047,
- "y": 799.333491563797,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "589ef7ee.6f2508"
- ]
- ]
- },
- {
- "id": "589ef7ee.6f2508",
- "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": 1871.9048919677734,
- "y": 803.8542709350586,
- "z": "d01dd033.8ac4a",
- "wires": [
- []
- ]
- },
- {
- "id": "80e244cd.d3b9b8",
- "type": "outcome",
- "name": "DeleteSDWANPortInstance",
- "xml": "<outcome value='DeleteSDWANPortInstance'>",
- "comments": "",
- "outputs": 1,
- "x": 1432.0477600097656,
- "y": 1095.3334431648254,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "9255592d.86eb88"
- ]
- ]
- },
- {
- "id": "9255592d.86eb88",
- "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": 1888.5714569091797,
- "y": 1094.8542785644531,
- "z": "d01dd033.8ac4a",
- "wires": [
- []
- ]
- },
- {
- "id": "36b48dbf.e8f152",
- "type": "outcome",
- "name": "DeleteSDWANDeviceInstance",
- "xml": "<outcome value='DeleteSDWANDeviceInstance'>",
- "comments": "",
- "outputs": 1,
- "x": 1440.7459106445312,
- "y": 1035.531349658966,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "fa87fad4.5037b8"
- ]
- ]
- },
- {
- "id": "fa87fad4.5037b8",
- "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": 1873.269515991211,
- "y": 1035.0520629882812,
- "z": "d01dd033.8ac4a",
- "wires": [
- []
- ]
- },
- {
- "id": "9c7e9e79.a7d92",
- "type": "outcome",
- "name": "CreateSDWANDeviceInstance",
- "xml": "<outcome value='CreateSDWANDeviceInstance'>",
- "comments": "",
- "outputs": 1,
- "x": 1430.745620727539,
- "y": 755.531455039978,
- "z": "d01dd033.8ac4a",
- "wires": [
- [
- "42e2eb47.a51c74"
- ]
- ]
- },
- {
- "id": "42e2eb47.a51c74",
- "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": 1887.269287109375,
- "y": 754.0522689819336,
- "z": "d01dd033.8ac4a",
- "wires": [
- []
- ]
- }
-]
+[
+ {
+ "id": "f6ad78a6.70d61",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 147,
+ "y": 72.41365623474121,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "adefe527.7305b8"
+ ]
+ ]
+ },
+ {
+ "id": "adefe527.7305b8",
+ "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": 222.28570556640625,
+ "y": 112.65176773071289,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "6abc301f.721f8"
+ ]
+ ]
+ },
+ {
+ "id": "6abc301f.721f8",
+ "type": "method",
+ "name": "method vnf-topology-operation",
+ "xml": "<method rpc='vnf-topology-operation' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 215.42862701416016,
+ "y": 152.4136505126953,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "d909ae21.d0b"
+ ]
+ ]
+ },
+ {
+ "id": "33491d1e.01822a",
+ "type": "comment",
+ "name": "vnf-topology-operation",
+ "info": "",
+ "comments": "",
+ "x": 541.344856262207,
+ "y": 20,
+ "z": "8e56a38a.ed9008",
+ "wires": []
+ },
+ {
+ "id": "d909ae21.d0b",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 231.16676330566406,
+ "y": 339.10718727111816,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "12dabaef.e4e31d",
+ "2c72dba1.c09994",
+ "8732851b.070f78"
+ ]
+ ]
+ },
+ {
+ "id": "12dabaef.e4e31d",
+ "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": 523.6667175292969,
+ "y": 489.27122020721436,
+ "z": "8e56a38a.ed9008",
+ "wires": []
+ },
+ {
+ "id": "2c72dba1.c09994",
+ "type": "switchNode",
+ "name": "switch svc-action",
+ "xml": "<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 526.5714340209961,
+ "y": 337.31843090057373,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "430fcd00.a5d5fc",
+ "c670772c.dd0908",
+ "f99a71f9.aa21e",
+ "681c5b5.a0f9c24",
+ "f1c88e8c.45c93",
+ "587f0736.94e46",
+ "b1dd52ed.b68c7"
+ ]
+ ]
+ },
+ {
+ "id": "430fcd00.a5d5fc",
+ "type": "outcome",
+ "name": "assign",
+ "xml": "<outcome value='assign'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 938.3809661865234,
+ "y": 47.937567710876465,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "f8a7b2b3.28c41"
+ ]
+ ]
+ },
+ {
+ "id": "c670772c.dd0908",
+ "type": "outcome",
+ "name": "unassign",
+ "xml": "<outcome value='unassign'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1009.4287919998169,
+ "y": 733.1283273696899,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "b332e291.fef1f"
+ ]
+ ]
+ },
+ {
+ "id": "681c5b5.a0f9c24",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 993.1430282592773,
+ "y": 1421.3185548782349,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "a8606faf.22f988"
+ ]
+ ]
+ },
+ {
+ "id": "a8606faf.22f988",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`$vnf-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`\" />\n",
+ "comments": "",
+ "x": 1226.3334579467773,
+ "y": 1421.318615913391,
+ "z": "8e56a38a.ed9008",
+ "wires": []
+ },
+ {
+ "id": "8732851b.070f78",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:validate-vnf-input",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-vnf-input' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 632.4166870117188,
+ "y": 228.79471588134766,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f8a7b2b3.28c41",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-assign",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1280.5238189697266,
+ "y": 47.50902843475342,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d3c38eb4.34463",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-deactivate",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-deactivate' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1815.8572998046875,
+ "y": 686.8424072265625,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b332e291.fef1f",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-unassign",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-unassign' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1373.523922920227,
+ "y": 737.8424081802368,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f99a71f9.aa21e",
+ "type": "outcome",
+ "name": "deactivate",
+ "xml": "<outcome value='deactivate'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 978.5238723754883,
+ "y": 472.50903701782227,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "3c2ff88a.035fd"
+ ]
+ ]
+ },
+ {
+ "id": "ef6e2999.a3799",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-activate",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-activate' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1772.6668701171875,
+ "y": 346.4136962890625,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f1c88e8c.45c93",
+ "type": "outcome",
+ "name": "activate",
+ "xml": "<outcome value='activate'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 941.3333053588867,
+ "y": 139.08033561706543,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "ca254b38.0ec08"
+ ]
+ ]
+ },
+ {
+ "id": "587f0736.94e46",
+ "type": "outcome",
+ "name": "create",
+ "xml": "<outcome value='create'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1011.0002222061157,
+ "y": 865.4999942779541,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "1b68499b.7f9d96"
+ ]
+ ]
+ },
+ {
+ "id": "b1dd52ed.b68c7",
+ "type": "outcome",
+ "name": "delete",
+ "xml": "<outcome value='delete'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1004.0002212524414,
+ "y": 1176.5000042915344,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "11ce6933.d00f9f"
+ ]
+ ]
+ },
+ {
+ "id": "7de5042a.89ed54",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1183.0000762939453,
+ "y": 189.5000123977661,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "dfd6a1d.27647e",
+ "5f50adc7.ac53cc",
+ "31e74903.9d10b6",
+ "d56faee8.37ff78",
+ "cf5adeee.b84288",
+ "946dfa0d.22ede8"
+ ]
+ ]
+ },
+ {
+ "id": "5f50adc7.ac53cc",
+ "type": "outcome",
+ "name": "ActivateSiteInstance",
+ "xml": "<outcome value='ActivateSiteInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1443.476318359375,
+ "y": 111.97926330566406,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "b87f363c.536f48"
+ ]
+ ]
+ },
+ {
+ "id": "dfd6a1d.27647e",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1416.381103515625,
+ "y": 347.3572692871094,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "ef6e2999.a3799"
+ ]
+ ]
+ },
+ {
+ "id": "ca254b38.0ec08",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1122.0000762939453,
+ "y": 134.5000123977661,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "7de5042a.89ed54"
+ ]
+ ]
+ },
+ {
+ "id": "b87f363c.536f48",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:site-vnf-topology-operation-activate",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-activate' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1810.0001220703125,
+ "y": 114.50004577636719,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "e2a5033e.3cfd8",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1241.0001907348633,
+ "y": 505.50000381469727,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "4643a339.a1719c",
+ "47cd0887.0667f8",
+ "65997b7c.169f44",
+ "138fde4d.c3ff5a",
+ "8d371312.adf0b8",
+ "d66cfce5.3961f8"
+ ]
+ ]
+ },
+ {
+ "id": "47cd0887.0667f8",
+ "type": "outcome",
+ "name": "DeactivateSiteInstance",
+ "xml": "<outcome value='DeactivateSiteInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1484.4763870239258,
+ "y": 456.9792523384094,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "616cb241.dff2f4"
+ ]
+ ]
+ },
+ {
+ "id": "4643a339.a1719c",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1459.381103515625,
+ "y": 687.3572998046875,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "d3c38eb4.34463"
+ ]
+ ]
+ },
+ {
+ "id": "3c2ff88a.035fd",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1180.0001907348633,
+ "y": 450.50000381469727,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "e2a5033e.3cfd8"
+ ]
+ ]
+ },
+ {
+ "id": "616cb241.dff2f4",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:site-vnf-topology-operation-deactivate",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-deactivate' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1854.0001907348633,
+ "y": 454.50003480911255,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "df09f43b.1eb908",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1209.3336181640625,
+ "y": 952.0863037109375,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "6772d437.231574",
+ "1fe5f5cc.d40db2",
+ "11c2f3bd.05d49c",
+ "2d6c749d.43234c",
+ "48d065a3.28be94",
+ "a2afb217.467ef8"
+ ]
+ ]
+ },
+ {
+ "id": "1fe5f5cc.d40db2",
+ "type": "outcome",
+ "name": "CreateSiteInstance",
+ "xml": "<outcome value='CreateSiteInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1464.8101091384888,
+ "y": 804.5656380653381,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "d80e5dd3.56b4d8"
+ ]
+ ]
+ },
+ {
+ "id": "6772d437.231574",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1431.7145919799805,
+ "y": 1025.9435234069824,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "eedab70b.41d2f"
+ ]
+ ]
+ },
+ {
+ "id": "1b68499b.7f9d96",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1193.333706855774,
+ "y": 863.0863618850708,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "df09f43b.1eb908"
+ ]
+ ]
+ },
+ {
+ "id": "d80e5dd3.56b4d8",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:site-vnf-topology-operation-create",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-create' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1841.3338136672974,
+ "y": 803.0863966941833,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "eedab70b.41d2f",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1572.0001678466797,
+ "y": 1026.9999465942383,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2c5991d3.fe0726",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1250.0002212524414,
+ "y": 1229.0000042915344,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "93525206.c4868",
+ "b3b4df67.0eb02",
+ "74c68f10.1e24b8",
+ "9f299b09.7aa55",
+ "3ebbe3a2.8b462c",
+ "c94b17f8.0cedb"
+ ]
+ ]
+ },
+ {
+ "id": "b3b4df67.0eb02",
+ "type": "outcome",
+ "name": "DeleteSiteInstance",
+ "xml": "<outcome value='DeleteSiteInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1490.4764404296875,
+ "y": 1174.479248046875,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "a249836b.7254f"
+ ]
+ ]
+ },
+ {
+ "id": "93525206.c4868",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1455.3812255859375,
+ "y": 1424.8574829101562,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "2bf5e221.183e6e"
+ ]
+ ]
+ },
+ {
+ "id": "11ce6933.d00f9f",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1189.0002212524414,
+ "y": 1174.0000042915344,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "2c5991d3.fe0726"
+ ]
+ ]
+ },
+ {
+ "id": "a249836b.7254f",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:site-vnf-topology-operation-delete",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-delete' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1863.000244140625,
+ "y": 1172,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2bf5e221.183e6e",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1595.6668014526367,
+ "y": 1425.913906097412,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "31e74903.9d10b6",
+ "type": "outcome",
+ "name": "ActivateSDWANDeviceInstance",
+ "xml": "<outcome value='ActivateSDWANDeviceInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1474.666748046875,
+ "y": 163.0000762939453,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "17588db1.773d92"
+ ]
+ ]
+ },
+ {
+ "id": "17588db1.773d92",
+ "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": 1914.1904296875,
+ "y": 161.5208282470703,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "65997b7c.169f44",
+ "type": "outcome",
+ "name": "DeactivateSDWANDeviceInstance",
+ "xml": "<outcome value='DeactivateSDWANDeviceInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1525.6666259765625,
+ "y": 505.0000309944153,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "ba2e14f5.6ad49"
+ ]
+ ]
+ },
+ {
+ "id": "ba2e14f5.6ad49",
+ "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": 1982.1903228759766,
+ "y": 504.52086639404297,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "184ea4bf.3b8253",
+ "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": 1911.6666259765625,
+ "y": 202.00001525878906,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d56faee8.37ff78",
+ "type": "outcome",
+ "name": "ActivateSDWANPortInstance",
+ "xml": "<outcome value='ActivateSDWANPortInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1468.1429443359375,
+ "y": 209.47923278808594,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "184ea4bf.3b8253"
+ ]
+ ]
+ },
+ {
+ "id": "138fde4d.c3ff5a",
+ "type": "outcome",
+ "name": "DeactivateSDWANPortInstance",
+ "xml": "<outcome value='DeactivateSDWANPortInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1517.6666717529297,
+ "y": 543.3333463668823,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "103298e7.e1370f"
+ ]
+ ]
+ },
+ {
+ "id": "103298e7.e1370f",
+ "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": 1992.1903228759766,
+ "y": 559.8541483879089,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "11c2f3bd.05d49c",
+ "type": "outcome",
+ "name": "CreateSDWANPortInstance",
+ "xml": "<outcome value='CreateSDWANPortInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1514.667004585266,
+ "y": 893.3334724903107,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "656a70df.0a852"
+ ]
+ ]
+ },
+ {
+ "id": "656a70df.0a852",
+ "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": 1971.1906251907349,
+ "y": 897.8542518615723,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "74c68f10.1e24b8",
+ "type": "outcome",
+ "name": "DeleteSDWANPortInstance",
+ "xml": "<outcome value='DeleteSDWANPortInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1526.3334579467773,
+ "y": 1285.3333926200867,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "9db6cb67.644d78"
+ ]
+ ]
+ },
+ {
+ "id": "9db6cb67.644d78",
+ "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": 1952.857177734375,
+ "y": 1284.854248046875,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "9f299b09.7aa55",
+ "type": "outcome",
+ "name": "DeleteSDWANDeviceInstance",
+ "xml": "<outcome value='DeleteSDWANDeviceInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1535.031608581543,
+ "y": 1225.5312991142273,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "4f32f738.55afe"
+ ]
+ ]
+ },
+ {
+ "id": "4f32f738.55afe",
+ "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": 1967.5552139282227,
+ "y": 1225.0520124435425,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2d6c749d.43234c",
+ "type": "outcome",
+ "name": "CreateSDWANDeviceInstance",
+ "xml": "<outcome value='CreateSDWANDeviceInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1530.0313539505005,
+ "y": 849.5314359664917,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "6a3e7322.ca712c"
+ ]
+ ]
+ },
+ {
+ "id": "6a3e7322.ca712c",
+ "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": 1986.5550203323364,
+ "y": 848.0522499084473,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "cf5adeee.b84288",
+ "type": "outcome",
+ "name": "ActivateSDWANVpnInstance",
+ "xml": "<outcome value='ActivateSDWANVpnInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1472.296142578125,
+ "y": 258.57708740234375,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "3f12353b.7c4ed2"
+ ]
+ ]
+ },
+ {
+ "id": "946dfa0d.22ede8",
+ "type": "outcome",
+ "name": "ActivateSDWANSiteInstance",
+ "xml": "<outcome value='ActivateSDWANSiteInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1476.296142578125,
+ "y": 301.2435302734375,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "3f12353b.7c4ed2"
+ ]
+ ]
+ },
+ {
+ "id": "3f12353b.7c4ed2",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1747.2961349487305,
+ "y": 279.24358201026917,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "a64b866a.fe348"
+ ]
+ ]
+ },
+ {
+ "id": "a64b866a.fe348",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-vpn-site-resource-activate",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-activate' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2125.29598236084,
+ "y": 276.57724118232727,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f9a9efad.b9e6c",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-vpn-site-resource-deactivate",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-deactivate' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2178.333206176758,
+ "y": 615.3667154312134,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "27d19dc1.bb91e2",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1781.3332977294922,
+ "y": 617.0330600738525,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "f9a9efad.b9e6c"
+ ]
+ ]
+ },
+ {
+ "id": "d66cfce5.3961f8",
+ "type": "outcome",
+ "name": "DeactivateSDWANSiteInstance",
+ "xml": "<outcome value='DeactivateSDWANSiteInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1523.3332824707031,
+ "y": 639.0330247879028,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "27d19dc1.bb91e2"
+ ]
+ ]
+ },
+ {
+ "id": "8d371312.adf0b8",
+ "type": "outcome",
+ "name": "DeactivateSDWANVpnInstance",
+ "xml": "<outcome value='DeactivateSDWANVpnInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1517.333251953125,
+ "y": 596.3665771484375,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "27d19dc1.bb91e2"
+ ]
+ ]
+ },
+ {
+ "id": "48d065a3.28be94",
+ "type": "outcome",
+ "name": "CreateSDWANVpnInstance",
+ "xml": "<outcome value='CreateSDWANVpnInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1510.8516845703125,
+ "y": 948.0215454101562,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "99be455.f37d838"
+ ]
+ ]
+ },
+ {
+ "id": "a2afb217.467ef8",
+ "type": "outcome",
+ "name": "CreateSDWANSiteInstance",
+ "xml": "<outcome value='CreateSDWANSiteInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1502.851661682129,
+ "y": 989.687933921814,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "99be455.f37d838"
+ ]
+ ]
+ },
+ {
+ "id": "99be455.f37d838",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1760.851676940918,
+ "y": 967.6879692077637,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "6c44d81a.9e145"
+ ]
+ ]
+ },
+ {
+ "id": "6c44d81a.9e145",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-vpn-site-resource-create",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-create' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2138.8515243530273,
+ "y": 965.0216283798218,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "3ebbe3a2.8b462c",
+ "type": "outcome",
+ "name": "DeleteSDWANVpnInstance",
+ "xml": "<outcome value='DeleteSDWANVpnInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1517.3333740234375,
+ "y": 1332.36669921875,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "998a2bef.b013e8"
+ ]
+ ]
+ },
+ {
+ "id": "c94b17f8.0cedb",
+ "type": "outcome",
+ "name": "DeleteSDWANSiteInstance",
+ "xml": "<outcome value='DeleteSDWANSiteInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1517.3333740234375,
+ "y": 1373.0332641601562,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "998a2bef.b013e8"
+ ]
+ ]
+ },
+ {
+ "id": "998a2bef.b013e8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1767.333366394043,
+ "y": 1352.0331230163574,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ [
+ "d4dcf7f5.c6d7"
+ ]
+ ]
+ },
+ {
+ "id": "d4dcf7f5.c6d7",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vnf-topology-operation-vpn-site-resource-delete",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-delete' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2145.3332138061523,
+ "y": 1349.3667821884155,
+ "z": "8e56a38a.ed9008",
+ "wires": [
+ []
+ ]
+ }
+] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-activate.json b/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-activate.json
new file mode 100644
index 00000000..244799a1
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-activate.json
@@ -0,0 +1,298 @@
+[
+ {
+ "id": "294747fd.2c2d98",
+ "type": "method",
+ "name": "method vnf-topology-operation-vpn-site-resource-activate",
+ "xml": "<method rpc='vnf-topology-operation-vpn-site-resource-activate' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 211.5,
+ "y": 201.99997901916504,
+ "z": "79a5b197.5d84",
+ "wires": [
+ [
+ "4068c2f3.520fdc"
+ ]
+ ]
+ },
+ {
+ "id": "cff9203f.6e7f7",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 89.0713882446289,
+ "y": 38,
+ "z": "79a5b197.5d84",
+ "wires": [
+ [
+ "78d3821a.ddc91c"
+ ]
+ ]
+ },
+ {
+ "id": "78d3821a.ddc91c",
+ "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": 188.35708618164062,
+ "y": 112.23810789268464,
+ "z": "79a5b197.5d84",
+ "wires": [
+ [
+ "294747fd.2c2d98"
+ ]
+ ]
+ },
+ {
+ "id": "4068c2f3.520fdc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 189.73804473876953,
+ "y": 373.66666814964265,
+ "z": "79a5b197.5d84",
+ "wires": [
+ [
+ "3a6b0423.a0a0ac",
+ "d7b531c1.f5a86",
+ "29c1d8e.17e3128",
+ "206b62f4.ff1b8e",
+ "ac1ddf15.75241",
+ "fd35c3d4.a8e8a"
+ ]
+ ]
+ },
+ {
+ "id": "3a6b0423.a0a0ac",
+ "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`' />",
+ "comments": "",
+ "x": 598.8850250244141,
+ "y": 446.67056941986084,
+ "z": "79a5b197.5d84",
+ "wires": []
+ },
+ {
+ "id": "d7b531c1.f5a86",
+ "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": 519.0717163085938,
+ "y": 572.5971069335938,
+ "z": "79a5b197.5d84",
+ "wires": []
+ },
+ {
+ "id": "29c1d8e.17e3128",
+ "type": "set",
+ "name": "set vnf-index 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": 605.0716705322266,
+ "y": 394.5968236923218,
+ "z": "79a5b197.5d84",
+ "wires": []
+ },
+ {
+ "id": "206b62f4.ff1b8e",
+ "type": "switchNode",
+ "name": "switch service-data.vnfs.vnf_length",
+ "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 619.5000610351562,
+ "y": 263.00000545661896,
+ "z": "79a5b197.5d84",
+ "wires": [
+ [
+ "510e4a8b.ead204",
+ "c779a013.c610f",
+ "7ee910c1.660bf"
+ ]
+ ]
+ },
+ {
+ "id": "7ee910c1.660bf",
+ "type": "outcome",
+ "name": "0",
+ "xml": "<outcome value='0'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 878.4689559936523,
+ "y": 224.96876499336213,
+ "z": "79a5b197.5d84",
+ "wires": [
+ [
+ "a7558172.b2121"
+ ]
+ ]
+ },
+ {
+ "id": "a7558172.b2121",
+ "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": 1033.2778434753418,
+ "y": 243.88903352897614,
+ "z": "79a5b197.5d84",
+ "wires": []
+ },
+ {
+ "id": "510e4a8b.ead204",
+ "type": "other",
+ "name": "Null",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 871.5000953674316,
+ "y": 264.00008651893586,
+ "z": "79a5b197.5d84",
+ "wires": [
+ [
+ "a7558172.b2121"
+ ]
+ ]
+ },
+ {
+ "id": "c779a013.c610f",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 864.5005035400391,
+ "y": 297.0000903336331,
+ "z": "79a5b197.5d84",
+ "wires": [
+ [
+ "6aaa180d.7575b8"
+ ]
+ ]
+ },
+ {
+ "id": "6aaa180d.7575b8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1011.7700462341309,
+ "y": 297.55473539512604,
+ "z": "79a5b197.5d84",
+ "wires": [
+ [
+ "46580136.d7c0b"
+ ]
+ ]
+ },
+ {
+ "id": "46580136.d7c0b",
+ "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": 1257.7861633300781,
+ "y": 304.4286558357999,
+ "z": "79a5b197.5d84",
+ "wires": [
+ [
+ "a66fcd87.a077a"
+ ]
+ ]
+ },
+ {
+ "id": "a66fcd87.a077a",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1477.1357955932617,
+ "y": 303.9687359062955,
+ "z": "79a5b197.5d84",
+ "wires": [
+ [
+ "ba7c0ee7.d144d"
+ ]
+ ]
+ },
+ {
+ "id": "ba7c0ee7.d144d",
+ "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": 1631.2153930664062,
+ "y": 303.67881796043366,
+ "z": "79a5b197.5d84",
+ "wires": [
+ [
+ "a9157f30.c0f4f"
+ ]
+ ]
+ },
+ {
+ "id": "a9157f30.c0f4f",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1807.1675148010254,
+ "y": 303.57150003593415,
+ "z": "79a5b197.5d84",
+ "wires": [
+ [
+ "e051341c.b94158"
+ ]
+ ]
+ },
+ {
+ "id": "e051341c.b94158",
+ "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": 2016.6998901367188,
+ "y": 305.3216001717374,
+ "z": "79a5b197.5d84",
+ "wires": []
+ },
+ {
+ "id": "ac1ddf15.75241",
+ "type": "save",
+ "name": "update AnAI - vnf-instance.orchestration-status",
+ "xml": "<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"generic-vnf\" \n\t\tkey=\"generic-vnf.vnf-id = $vnfId\" >\n<parameter name=\"orchestration-status\" value=\"Active\" />\n<parameter name=\"vnf-type\" value=\"some vnf-type\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 624.5000305175781,
+ "y": 513.0103950500488,
+ "z": "79a5b197.5d84",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "fd35c3d4.a8e8a",
+ "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.' />",
+ "comments": "",
+ "x": 603.5001449584961,
+ "y": 344.010356426239,
+ "z": "79a5b197.5d84",
+ "wires": []
+ }
+] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-create.json b/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-create.json
new file mode 100644
index 00000000..7e74909c
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-create.json
@@ -0,0 +1,375 @@
+[
+ {
+ "id": "ba2f1a27.8f7c88",
+ "type": "method",
+ "name": "method vnf-topology-operation-vpn-site-resource-create",
+ "xml": "<method rpc='vnf-topology-operation-vpn-site-resource-create' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 233,
+ "y": 190.9999925820157,
+ "z": "bc55b65a.bac808",
+ "wires": [
+ [
+ "887ebd07.82fca"
+ ]
+ ]
+ },
+ {
+ "id": "99a008b4.eb0bc8",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 109.57138061523438,
+ "y": 43,
+ "z": "bc55b65a.bac808",
+ "wires": [
+ [
+ "9964126a.58753"
+ ]
+ ]
+ },
+ {
+ "id": "9964126a.58753",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>",
+ "outputs": 1,
+ "x": 211.85708618164062,
+ "y": 101.23810407798737,
+ "z": "bc55b65a.bac808",
+ "wires": [
+ [
+ "ba2f1a27.8f7c88"
+ ]
+ ]
+ },
+ {
+ "id": "887ebd07.82fca",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 213.23804473876953,
+ "y": 362.6666643349454,
+ "z": "bc55b65a.bac808",
+ "wires": [
+ [
+ "e036c242.ea2d7",
+ "8ac28eea.03b2e",
+ "bee946ca.5b9488",
+ "fa22ed9a.8f597",
+ "259c9f6d.05187",
+ "1c3377d1.23ec68",
+ "33f4194.b4adce6",
+ "cd58d769.440f18",
+ "50ac8040.e368f",
+ "82bd0bd5.564548"
+ ]
+ ]
+ },
+ {
+ "id": "8ac28eea.03b2e",
+ "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": 647.3847961425781,
+ "y": 616.6705932617188,
+ "z": "bc55b65a.bac808",
+ "wires": []
+ },
+ {
+ "id": "e036c242.ea2d7",
+ "type": "set",
+ "name": "copy input data to service data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id' value='`$prop.vnf-index`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />\n\n",
+ "comments": "",
+ "x": 639.2379837036133,
+ "y": 511.6668453216553,
+ "z": "bc55b65a.bac808",
+ "wires": []
+ },
+ {
+ "id": "259c9f6d.05187",
+ "type": "execute",
+ "name": "execute generate-vnf-index",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\n<parameter name=\"ctx-destination\" value=\"prop.vnf-index\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 627.5714874267578,
+ "y": 461.33342933654785,
+ "z": "bc55b65a.bac808",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "4832dc07.c382d4",
+ "type": "set",
+ "name": "set vnf-index to service data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.vnf-id' value='`$prop.vnf-index`' />\n",
+ "comments": "",
+ "x": 638.5715637207031,
+ "y": 568.3334331512451,
+ "z": "bc55b65a.bac808",
+ "wires": []
+ },
+ {
+ "id": "bee946ca.5b9488",
+ "type": "switchNode",
+ "name": "switch service-data.vnfs.vnf_length",
+ "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 642.5713653564453,
+ "y": 241.3333559036255,
+ "z": "bc55b65a.bac808",
+ "wires": [
+ [
+ "b7b01487.9885f8",
+ "aecaf676.67f6b8"
+ ]
+ ]
+ },
+ {
+ "id": "b7b01487.9885f8",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 877.2857513427734,
+ "y": 236.47617626190186,
+ "z": "bc55b65a.bac808",
+ "wires": [
+ [
+ "1f5394d7.70124b"
+ ]
+ ]
+ },
+ {
+ "id": "1f5394d7.70124b",
+ "type": "set",
+ "name": "set vnf-index=0",
+ "xml": "<set>\n<parameter name='vnf-index' value='0' />\n",
+ "comments": "",
+ "x": 1037.5714569091797,
+ "y": 236.47626781463623,
+ "z": "bc55b65a.bac808",
+ "wires": []
+ },
+ {
+ "id": "aecaf676.67f6b8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 873.7142906188965,
+ "y": 269.76200771331787,
+ "z": "bc55b65a.bac808",
+ "wires": [
+ [
+ "6e2b33e1.03a57c"
+ ]
+ ]
+ },
+ {
+ "id": "bd7ad864.5375c8",
+ "type": "set",
+ "name": "set vnf-index = vnf_length",
+ "xml": "<set>\n<parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />\n",
+ "comments": "",
+ "x": 1266.571533203125,
+ "y": 248.04773330688477,
+ "z": "bc55b65a.bac808",
+ "wires": []
+ },
+ {
+ "id": "d9951812.e7fdb8",
+ "type": "for",
+ "name": "for each existing VNF",
+ "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1255.0001525878906,
+ "y": 283.04770517349243,
+ "z": "bc55b65a.bac808",
+ "wires": [
+ [
+ "febea1ac.bb0d8"
+ ]
+ ]
+ },
+ {
+ "id": "6e2b33e1.03a57c",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1008.4285736083984,
+ "y": 271.76197719573975,
+ "z": "bc55b65a.bac808",
+ "wires": [
+ [
+ "bd7ad864.5375c8",
+ "d9951812.e7fdb8"
+ ]
+ ]
+ },
+ {
+ "id": "febea1ac.bb0d8",
+ "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": 1648.285888671875,
+ "y": 283.61918926239014,
+ "z": "bc55b65a.bac808",
+ "wires": [
+ [
+ "359b5cad.1078a4"
+ ]
+ ]
+ },
+ {
+ "id": "359b5cad.1078a4",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1929.571590423584,
+ "y": 282.19059467315674,
+ "z": "bc55b65a.bac808",
+ "wires": [
+ [
+ "e5d5a5d7.361b48"
+ ]
+ ]
+ },
+ {
+ "id": "fe823586.a40dc8",
+ "type": "comment",
+ "name": "make sure this vnf-id doesn't exist already",
+ "info": "",
+ "comments": "",
+ "x": 1617.4285049438477,
+ "y": 247.1905813217163,
+ "z": "bc55b65a.bac808",
+ "wires": []
+ },
+ {
+ "id": "fa22ed9a.8f597",
+ "type": "set",
+ "name": "set new vnf_length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />\n",
+ "comments": "",
+ "x": 599.5714874267578,
+ "y": 409.33342599868774,
+ "z": "bc55b65a.bac808",
+ "wires": []
+ },
+ {
+ "id": "1c3377d1.23ec68",
+ "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": 586.5714492797852,
+ "y": 879.59694480896,
+ "z": "bc55b65a.bac808",
+ "wires": []
+ },
+ {
+ "id": "82bd0bd5.564548",
+ "type": "save",
+ "name": "save service relationship in AAI",
+ "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list' \n key='service-instance.service-instance-id = $service-data.service-information.service-instance-id \n AND customer.global-customer-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.global-customer-id \n AND service-subscription.service-type = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.subscription-service-type' \n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"generic-vnf\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/generic-vnfs/generic-vnf/' + $prop.vnf-index`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"generic-vnf.vnf-id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.vnf-index`\" />\n\n\n<!--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=\"vpn-resource\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/vpn-resources/vpn-resource/' + $prop.vnf-index`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"vpn-resource.vpn-resource-id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.vnf-index`\" /-->",
+ "comments": "",
+ "outputs": 1,
+ "x": 649.2382202148438,
+ "y": 826.5968379974365,
+ "z": "bc55b65a.bac808",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "33f4194.b4adce6",
+ "type": "set",
+ "name": "set vnf-index and vnf-object-path",
+ "xml": "<set>\n<parameter name='vnfId' value='`$prop.vnf-index`' />\n<parameter name=\"vnf-object-path\" value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` \" />",
+ "comments": "",
+ "x": 640.5714797973633,
+ "y": 657.5968637466431,
+ "z": "bc55b65a.bac808",
+ "wires": []
+ },
+ {
+ "id": "cd58d769.440f18",
+ "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": 605.5711212158203,
+ "y": 360.3247985839844,
+ "z": "bc55b65a.bac808",
+ "wires": []
+ },
+ {
+ "id": "e5d5a5d7.361b48",
+ "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": 2058.1429595947266,
+ "y": 333.1906089782715,
+ "z": "bc55b65a.bac808",
+ "wires": []
+ },
+ {
+ "id": "b6f6713f.1cb83",
+ "type": "comment",
+ "name": "Take the parameter names by removing prefix",
+ "info": "",
+ "comments": "",
+ "x": 1351.5715713500977,
+ "y": 336.66667556762695,
+ "z": "bc55b65a.bac808",
+ "wires": []
+ },
+ {
+ "id": "a6480f2e.967df",
+ "type": "comment",
+ "name": "TODO: change AAI models",
+ "info": "",
+ "comments": "",
+ "x": 629.1820449829102,
+ "y": 726.9742965698242,
+ "z": "bc55b65a.bac808",
+ "wires": []
+ },
+ {
+ "id": "50ac8040.e368f",
+ "type": "save",
+ "name": "save AnAI - vnf-instance.orchestration-status",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"generic-vnf\" \n\t\tkey=\"generic-vnf.vnf-id = $prop.vnf-index\" >\n<parameter name=\"orchestration-status\" value=\"create\" />\n<parameter name=\"vnf-type\" value=\"some vnf-type\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 695.545783996582,
+ "y": 767.2470808029175,
+ "z": "bc55b65a.bac808",
+ "wires": [
+ []
+ ]
+ }
+] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-deactivate.json b/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-deactivate.json
new file mode 100644
index 00000000..654c97b5
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-deactivate.json
@@ -0,0 +1,433 @@
+[
+ {
+ "id": "82c84658.77d1d8",
+ "type": "method",
+ "name": "method vnf-topology-operation-vpn-site-resource-deactivate",
+ "xml": "<method rpc='vnf-topology-operation-vpn-site-resource-deactivate' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 259,
+ "y": 212.99999639671296,
+ "z": "655c6ddc.e1d044",
+ "wires": [
+ [
+ "20631342.a0c9ec"
+ ]
+ ]
+ },
+ {
+ "id": "d37f40ab.ae426",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 138.5713882446289,
+ "y": 49,
+ "z": "655c6ddc.e1d044",
+ "wires": [
+ [
+ "90866c8c.0566b"
+ ]
+ ]
+ },
+ {
+ "id": "90866c8c.0566b",
+ "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": 237.85708618164062,
+ "y": 123.23810789268464,
+ "z": "655c6ddc.e1d044",
+ "wires": [
+ [
+ "82c84658.77d1d8"
+ ]
+ ]
+ },
+ {
+ "id": "20631342.a0c9ec",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 239.23804473876953,
+ "y": 384.66666814964265,
+ "z": "655c6ddc.e1d044",
+ "wires": [
+ [
+ "223e8ad6.61f2e6",
+ "7a1d8d04.0ea1a4",
+ "fb28da85.68b248",
+ "638a26a6.3e9618",
+ "30cf2c07.d44e14",
+ "fbfde082.6174",
+ "c6ba194.447c2e8"
+ ]
+ ]
+ },
+ {
+ "id": "223e8ad6.61f2e6",
+ "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`' />",
+ "comments": "",
+ "x": 647.3849029541016,
+ "y": 533.670627951622,
+ "z": "655c6ddc.e1d044",
+ "wires": []
+ },
+ {
+ "id": "7a1d8d04.0ea1a4",
+ "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": 573.5716247558594,
+ "y": 642.5970582962036,
+ "z": "655c6ddc.e1d044",
+ "wires": []
+ },
+ {
+ "id": "fb28da85.68b248",
+ "type": "set",
+ "name": "set vnf-index 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": 624.5716247558594,
+ "y": 489.5968955755234,
+ "z": "655c6ddc.e1d044",
+ "wires": []
+ },
+ {
+ "id": "638a26a6.3e9618",
+ "type": "switchNode",
+ "name": "switch service-data.vnfs.vnf_length",
+ "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 669.0000610351562,
+ "y": 274.00000545661896,
+ "z": "655c6ddc.e1d044",
+ "wires": [
+ [
+ "3f139002.12bae",
+ "6579ac8.d79e654",
+ "9fa8cca.2d7cf3"
+ ]
+ ]
+ },
+ {
+ "id": "9fa8cca.2d7cf3",
+ "type": "outcome",
+ "name": "0",
+ "xml": "<outcome value='0'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 927.9689559936523,
+ "y": 235.96876499336213,
+ "z": "655c6ddc.e1d044",
+ "wires": [
+ [
+ "4d9ccf75.fe9af"
+ ]
+ ]
+ },
+ {
+ "id": "4d9ccf75.fe9af",
+ "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": 1082.7778434753418,
+ "y": 254.88903352897614,
+ "z": "655c6ddc.e1d044",
+ "wires": []
+ },
+ {
+ "id": "3f139002.12bae",
+ "type": "other",
+ "name": "Null",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 921.0000953674316,
+ "y": 275.00008651893586,
+ "z": "655c6ddc.e1d044",
+ "wires": [
+ [
+ "4d9ccf75.fe9af"
+ ]
+ ]
+ },
+ {
+ "id": "6579ac8.d79e654",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 914.0005035400391,
+ "y": 308.0000903336331,
+ "z": "655c6ddc.e1d044",
+ "wires": [
+ [
+ "4494b904.813828"
+ ]
+ ]
+ },
+ {
+ "id": "4494b904.813828",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1061.2700462341309,
+ "y": 308.55473539512604,
+ "z": "655c6ddc.e1d044",
+ "wires": [
+ [
+ "2347d15a.1d922e",
+ "d97f0a58.4e7db8"
+ ]
+ ]
+ },
+ {
+ "id": "2347d15a.1d922e",
+ "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": 1307.2861633300781,
+ "y": 315.4286558357999,
+ "z": "655c6ddc.e1d044",
+ "wires": [
+ [
+ "ca1a5a9.775eaa8"
+ ]
+ ]
+ },
+ {
+ "id": "ca1a5a9.775eaa8",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1526.6357955932617,
+ "y": 314.9687359062955,
+ "z": "655c6ddc.e1d044",
+ "wires": [
+ [
+ "66b63707.1820b8"
+ ]
+ ]
+ },
+ {
+ "id": "66b63707.1820b8",
+ "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": 1680.7153930664062,
+ "y": 314.67881796043366,
+ "z": "655c6ddc.e1d044",
+ "wires": [
+ [
+ "ae7ef72d.e51818"
+ ]
+ ]
+ },
+ {
+ "id": "ae7ef72d.e51818",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1856.6675148010254,
+ "y": 314.57150003593415,
+ "z": "655c6ddc.e1d044",
+ "wires": [
+ [
+ "502325a8.6e120c"
+ ]
+ ]
+ },
+ {
+ "id": "502325a8.6e120c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2005.312973022461,
+ "y": 302.97913000267,
+ "z": "655c6ddc.e1d044",
+ "wires": [
+ [
+ "1a1e9503.dc6a5b"
+ ]
+ ]
+ },
+ {
+ "id": "1a1e9503.dc6a5b",
+ "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": 2267.1997680664062,
+ "y": 280.3215563027188,
+ "z": "655c6ddc.e1d044",
+ "wires": []
+ },
+ {
+ "id": "d97f0a58.4e7db8",
+ "type": "switchNode",
+ "name": "switch tmp.vidx ",
+ "xml": "<switch test=\"`$tmp.vidx`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1250.0000228881836,
+ "y": 369.99999353569,
+ "z": "655c6ddc.e1d044",
+ "wires": [
+ [
+ "aa55c60d.624e08"
+ ]
+ ]
+ },
+ {
+ "id": "aa55c60d.624e08",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1405.4286499023438,
+ "y": 369.57137701194733,
+ "z": "655c6ddc.e1d044",
+ "wires": [
+ [
+ "d6654813.27fba8"
+ ]
+ ]
+ },
+ {
+ "id": "d6654813.27fba8",
+ "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": 1550.8573913574219,
+ "y": 369.7143146721646,
+ "z": "655c6ddc.e1d044",
+ "wires": []
+ },
+ {
+ "id": "30cf2c07.d44e14",
+ "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": 618.0000762939453,
+ "y": 382.88902044296265,
+ "z": "655c6ddc.e1d044",
+ "wires": [
+ [
+ "d1af1362.431e7",
+ "a3563b5d.54f858"
+ ]
+ ]
+ },
+ {
+ "id": "d1af1362.431e7",
+ "type": "outcome",
+ "name": "outcome Active",
+ "xml": "<outcome value='Active'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 863.8333702087402,
+ "y": 384.00011825561523,
+ "z": "655c6ddc.e1d044",
+ "wires": [
+ [
+ "e723a3c3.7cd85"
+ ]
+ ]
+ },
+ {
+ "id": "e723a3c3.7cd85",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1077.139762878418,
+ "y": 393.32530784606934,
+ "z": "655c6ddc.e1d044",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a3563b5d.54f858",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 841.8333892822266,
+ "y": 434.00012969970703,
+ "z": "655c6ddc.e1d044",
+ "wires": [
+ [
+ "5cde8b39.a2f424"
+ ]
+ ]
+ },
+ {
+ "id": "5cde8b39.a2f424",
+ "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": 1001.3331565856934,
+ "y": 437.0001287460327,
+ "z": "655c6ddc.e1d044",
+ "wires": []
+ },
+ {
+ "id": "fbfde082.6174",
+ "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.' />",
+ "comments": "",
+ "x": 627.0065612792969,
+ "y": 442.010435461998,
+ "z": "655c6ddc.e1d044",
+ "wires": []
+ },
+ {
+ "id": "c6ba194.447c2e8",
+ "type": "save",
+ "name": "update AnAI - vnf-instance.orchestration-status",
+ "xml": "<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"generic-vnf\" \n\t\tkey=\"generic-vnf.vnf-id = $vnfId\" >\n<parameter name=\"orchestration-status\" value=\"PendingDelete\" />\n<parameter name=\"vnf-type\" value=\"some vnf-type\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 669.0064239501953,
+ "y": 588.0105141401291,
+ "z": "655c6ddc.e1d044",
+ "wires": [
+ []
+ ]
+ }
+] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-delete.json b/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-delete.json
new file mode 100644
index 00000000..3d26891c
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-delete.json
@@ -0,0 +1,569 @@
+[
+ {
+ "id": "eafcb830.49a558",
+ "type": "method",
+ "name": "method vnf-topology-operation-vpn-site-resource-delete",
+ "xml": "<method rpc='vnf-topology-operation-vpn-site-resource-delete' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 207,
+ "y": 214,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ [
+ "d02b15b4.dd4488"
+ ]
+ ]
+ },
+ {
+ "id": "d0a64a79.788248",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 151.57138061523438,
+ "y": 38,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ [
+ "188a7052.71591"
+ ]
+ ]
+ },
+ {
+ "id": "188a7052.71591",
+ "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": 226.85708618164062,
+ "y": 78.23811149597168,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ [
+ "eafcb830.49a558"
+ ]
+ ]
+ },
+ {
+ "id": "c2640aa8.7edda8",
+ "type": "comment",
+ "name": "site-vnf-topology-operation-delete",
+ "info": "",
+ "comments": "",
+ "x": 600.9162979125977,
+ "y": 111.58639907836914,
+ "z": "db08cdbb.446ef",
+ "wires": []
+ },
+ {
+ "id": "d02b15b4.dd4488",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 228.23804473876953,
+ "y": 339.6666717529297,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ [
+ "ac2e49a1.5e8568",
+ "4d83bd7.fa4f844",
+ "8cb0635e.d8e2c",
+ "faf06bed.cf0a38",
+ "c3cf9f4.9560f6",
+ "5c51b14f.3f60b",
+ "84b98584.0b5d68",
+ "64b20017.f4e26",
+ "c1ccb47b.c48ef8",
+ "dfa19665.762578",
+ "f3ab3fd1.f188e"
+ ]
+ ]
+ },
+ {
+ "id": "faf06bed.cf0a38",
+ "type": "switchNode",
+ "name": "switch service-data.vnfs.vnf_length",
+ "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 689.6660842895508,
+ "y": 273.26117038726807,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ [
+ "7bb61b60.8ccfe4",
+ "6a78f7f6.d96ae8"
+ ]
+ ]
+ },
+ {
+ "id": "7bb61b60.8ccfe4",
+ "type": "other",
+ "name": "outcome Null",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 954.3883972167969,
+ "y": 255.81679248809814,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ [
+ "ded5f144.4823a"
+ ]
+ ]
+ },
+ {
+ "id": "ded5f144.4823a",
+ "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": 1135.3882675170898,
+ "y": 250.81667041778564,
+ "z": "db08cdbb.446ef",
+ "wires": []
+ },
+ {
+ "id": "6a78f7f6.d96ae8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 939.8883972167969,
+ "y": 307.8167552947998,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ [
+ "4b9e2f73.508cd"
+ ]
+ ]
+ },
+ {
+ "id": "4b9e2f73.508cd",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1111.8881034851074,
+ "y": 307.8167533874512,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ [
+ "247799a9.6130f6",
+ "84b938cb.78bee8"
+ ]
+ ]
+ },
+ {
+ "id": "84b938cb.78bee8",
+ "type": "switchNode",
+ "name": "switch tmp.nidx ",
+ "xml": "<switch test=\"`$tmp.nidx`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1286.8882751464844,
+ "y": 326.8166751861572,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ [
+ "7a17688b.c98ab8"
+ ]
+ ]
+ },
+ {
+ "id": "8cb0635e.d8e2c",
+ "type": "switchNode",
+ "name": "switch vnf-level-oper-status",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$tmp.nidx].vnf-data.vnf-level-oper-status.order-status`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 660.0550842285156,
+ "y": 347.70563411712646,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ [
+ "6f0effe.88561",
+ "4d0008ab.c847c8"
+ ]
+ ]
+ },
+ {
+ "id": "6f0effe.88561",
+ "type": "outcome",
+ "name": "outcome PendingDelete",
+ "xml": "<outcome value='PendingDelete'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 936.888427734375,
+ "y": 350.8167338371277,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ [
+ "1d4d444b.bf117c"
+ ]
+ ]
+ },
+ {
+ "id": "4d0008ab.c847c8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 897.8884124755859,
+ "y": 396.816782951355,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ [
+ "640a50b6.3e86d"
+ ]
+ ]
+ },
+ {
+ "id": "640a50b6.3e86d",
+ "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": 1046.388126373291,
+ "y": 395.81676292419434,
+ "z": "db08cdbb.446ef",
+ "wires": []
+ },
+ {
+ "id": "c3cf9f4.9560f6",
+ "type": "switchNode",
+ "name": "switch vnf-id",
+ "xml": "<switch test=\"`$vnf-topology-operation-input.vnf-information.vnf-id`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 625.8884010314941,
+ "y": 228.81676387786865,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ [
+ "6f94c17f.e94a6"
+ ]
+ ]
+ },
+ {
+ "id": "6f94c17f.e94a6",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 823.8884658813477,
+ "y": 218.81677627563477,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ [
+ "723f2fa7.6d1e3"
+ ]
+ ]
+ },
+ {
+ "id": "723f2fa7.6d1e3",
+ "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": 990.3883514404297,
+ "y": 215.81677055358887,
+ "z": "db08cdbb.446ef",
+ "wires": []
+ },
+ {
+ "id": "5c51b14f.3f60b",
+ "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": 683.3884582519531,
+ "y": 168.81676292419434,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "247799a9.6130f6",
+ "type": "for",
+ "name": "for nidx..service-data.vnfs.vnf[]",
+ "xml": "<for index='nidx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1347.3882789611816,
+ "y": 262.81667137145996,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ [
+ "b01b8e2f.7dbb9"
+ ]
+ ]
+ },
+ {
+ "id": "b01b8e2f.7dbb9",
+ "type": "switchNode",
+ "name": "switch vnf-id found",
+ "xml": "<switch test=\"`$service-data.vnfs.vnf[$nidx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1603.388298034668,
+ "y": 262.81667137145996,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ [
+ "357169.84af7e98"
+ ]
+ ]
+ },
+ {
+ "id": "357169.84af7e98",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1779.8883514404297,
+ "y": 265.81667137145996,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ [
+ "38f16832.2c5d68"
+ ]
+ ]
+ },
+ {
+ "id": "38f16832.2c5d68",
+ "type": "set",
+ "name": "set tmp.nidx and ctx.vnf-data",
+ "xml": "<set>\n<parameter name='tmp.nidx' value='`$nidx`' />\n<parameter name='ctx.vnf-data.' value='`$service-data.vnfs.vnf[$nidx].vnf-data.`' />\n",
+ "comments": "",
+ "x": 1946.8883666992188,
+ "y": 326.81667137145996,
+ "z": "db08cdbb.446ef",
+ "wires": []
+ },
+ {
+ "id": "fc674990.6f1398",
+ "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": 1592.3882904052734,
+ "y": 326.8166751861572,
+ "z": "db08cdbb.446ef",
+ "wires": []
+ },
+ {
+ "id": "7a17688b.c98ab8",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1454.8882904052734,
+ "y": 326.8166751861572,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ [
+ "fc674990.6f1398"
+ ]
+ ]
+ },
+ {
+ "id": "ac2e49a1.5e8568",
+ "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": 646.9051055908203,
+ "y": 562.333676815033,
+ "z": "db08cdbb.446ef",
+ "wires": []
+ },
+ {
+ "id": "4d83bd7.fa4f844",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 603.0162582397461,
+ "y": 639.8892359733582,
+ "z": "db08cdbb.446ef",
+ "wires": []
+ },
+ {
+ "id": "1d4d444b.bf117c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1132.1947860717773,
+ "y": 358.141939163208,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "84b98584.0b5d68",
+ "type": "set",
+ "name": "set prop.vnfNewidx",
+ "xml": "<set>\n<parameter name='prop.vnfidxLen' value='`0`' />\n",
+ "comments": "",
+ "x": 629.0000762939453,
+ "y": 398.00006914138794,
+ "z": "db08cdbb.446ef",
+ "wires": []
+ },
+ {
+ "id": "64b20017.f4e26",
+ "type": "for",
+ "name": "for lidx..service-data.vnfs.vnf[]",
+ "xml": "<for index='lidx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 653.0000610351562,
+ "y": 440.00006771087646,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ [
+ "ac122a7c.345458"
+ ]
+ ]
+ },
+ {
+ "id": "ac122a7c.345458",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 914.0001373291016,
+ "y": 444.000102519989,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ [
+ "7381e65e.fc3b68"
+ ]
+ ]
+ },
+ {
+ "id": "7381e65e.fc3b68",
+ "type": "switchNode",
+ "name": "switch vnf-id found",
+ "xml": "<switch test=\"`$service-data.vnfs.vnf[$lidx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1106.0000839233398,
+ "y": 453.0001468658447,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ [
+ "61719a57.800f34"
+ ]
+ ]
+ },
+ {
+ "id": "61719a57.800f34",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1292.000099182129,
+ "y": 437.0000333786011,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ [
+ "9df0dc24.7346c"
+ ]
+ ]
+ },
+ {
+ "id": "9df0dc24.7346c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1443.0000228881836,
+ "y": 438.0000696182251,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ [
+ "c661d6a.46dd528",
+ "142b6671.1e430a"
+ ]
+ ]
+ },
+ {
+ "id": "c661d6a.46dd528",
+ "type": "set",
+ "name": "set vnf data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$prop.vnfidxLen].vnf-id' value='`$service-data.vnfs.vnf[$lidx].vnf-id`' />\n<parameter name='service-data.vnfs.vnf[$prop.vnfidxLen].vnf-data.' value='`$service-data.vnfs.vnf[$lidx].vnf-data.`' />\n",
+ "comments": "",
+ "x": 1610.0001907348633,
+ "y": 412.000253200531,
+ "z": "db08cdbb.446ef",
+ "wires": []
+ },
+ {
+ "id": "142b6671.1e430a",
+ "type": "set",
+ "name": "set prop.vnfNewidx",
+ "xml": "<set>\n<parameter name='prop.vnfidxLen' value='`$prop.vnfidxLen + 1`' />\n",
+ "comments": "",
+ "x": 1630.0001182556152,
+ "y": 469.00018882751465,
+ "z": "db08cdbb.446ef",
+ "wires": []
+ },
+ {
+ "id": "c1ccb47b.c48ef8",
+ "type": "set",
+ "name": "set new vnf length",
+ "xml": "<set>\n\t<parameter name=\"service-data.vnfs.vnf_length\" value='`$prop.vnfidxLen`'/>\n\n\t\n",
+ "comments": "",
+ "x": 621.1014747619629,
+ "y": 483.80442094802856,
+ "z": "db08cdbb.446ef",
+ "wires": []
+ },
+ {
+ "id": "dfa19665.762578",
+ "type": "set",
+ "name": "Remove vnf from ServiceData",
+ "xml": "<set>\n\t<parameter name=\"service-data.vnfs.vnf[$prop.vnfidxLen].\" value=\"\"/>\n\n",
+ "comments": "",
+ "x": 651.000244140625,
+ "y": 522.0002040863037,
+ "z": "db08cdbb.446ef",
+ "wires": []
+ },
+ {
+ "id": "f3ab3fd1.f188e",
+ "type": "save",
+ "name": "delete AnAI - vnf-instance.orchestration-status",
+ "xml": "<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"generic-vnf\" \n\t\tkey=\"generic-vnf.vnf-id = $vnfId\" >\n<parameter name=\"orchestration-status\" value=\"PendingDelete\" />\n<parameter name=\"vnf-type\" value=\"some vnf-type\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 708.0066375732422,
+ "y": 599.0106163024902,
+ "z": "db08cdbb.446ef",
+ "wires": [
+ []
+ ]
+ }
+] \ 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 6dbe24bf..cabcce51 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
@@ -20,6 +20,16 @@
<outcome value='ActivateSDWANPortInstance'>
<call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-activate' mode='sync' ></call>
</outcome>
+ <outcome value='ActivateSDWANVpnInstance'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-activate' mode='sync' ></call>
+ </block>
+ </outcome>
+ <outcome value='ActivateSDWANSiteInstance'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-activate' mode='sync' ></call>
+ </block>
+ </outcome>
<outcome value='Other'>
<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-activate' mode='sync' ></call>
</outcome>
@@ -38,6 +48,16 @@
<outcome value='DeactivateSDWANPortInstance'>
<call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-deactivate' mode='sync' ></call>
</outcome>
+ <outcome value='DeactivateSDWANVpnInstance'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-deactivate' mode='sync' ></call>
+ </block>
+ </outcome>
+ <outcome value='DeactivateSDWANSiteInstance'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-deactivate' mode='sync' ></call>
+ </block>
+ </outcome>
<outcome value='Other'>
<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-deactivate' mode='sync' ></call>
</outcome>
@@ -59,6 +79,16 @@
<outcome value='CreateSDWANPortInstance'>
<call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-create' mode='sync' ></call>
</outcome>
+ <outcome value='CreateSDWANVpnInstance'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-create' mode='sync' ></call>
+ </block>
+ </outcome>
+ <outcome value='CreateSDWANSiteInstance'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-create' mode='sync' ></call>
+ </block>
+ </outcome>
<outcome value='Other'>
<block></block>
</outcome>
@@ -77,6 +107,16 @@
<outcome value='DeleteSDWANPortInstance'>
<call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-delete' mode='sync' ></call>
</outcome>
+ <outcome value='DeleteSDWANVpnInstance'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-delete' mode='sync' ></call>
+ </block>
+ </outcome>
+ <outcome value='DeleteSDWANSiteInstance'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-delete' mode='sync' ></call>
+ </block>
+ </outcome>
<outcome value='Other'>
<block></block>
</outcome>
@@ -98,4 +138,4 @@
</return>
</block>
</method>
-</service-logic>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-activate.xml b/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-activate.xml
new file mode 100644
index 00000000..32fa9b27
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-activate.xml
@@ -0,0 +1,66 @@
+<service-logic
+ xmlns='http://www.onap.org/sdnc/svclogic'
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+ <method rpc='vnf-topology-operation-vpn-site-resource-activate' mode='sync'>
+ <block atomic="true">
+ <switch test='`$service-data.vnfs.vnf_length`'>
+ <outcome value='0'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />
+ </return>
+ </outcome>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <for index='vidx' start='0' end='`$service-data.vnfs.vnf_length`' >
+ <block>
+ <switch test="`$service-data.vnfs.vnf[$vidx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`">
+ <outcome value='true'>
+ <set>
+ <parameter name='tmp.vidx' value='`$vidx`' />
+ <parameter name='ctx.vnf-data.' value='`$service-data.vnfs.vnf[$vidx].`' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ <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.' />
+ </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>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $vnfId" >
+ <parameter name="orchestration-status" value="Active" />
+ <parameter name="vnf-type" value="some vnf-type" />
+ </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> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-create.xml b/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-create.xml
new file mode 100644
index 00000000..9fbcd8f2
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-create.xml
@@ -0,0 +1,86 @@
+<service-logic
+ xmlns='http://www.onap.org/sdnc/svclogic'
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+ <method rpc='vnf-topology-operation-vpn-site-resource-create' mode='sync'>
+ <block atomic="true">
+ <switch test='`$service-data.vnfs.vnf_length`'>
+ <outcome value=''>
+ <set>
+ <parameter name='vnf-index' value='0' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block>
+ <set>
+ <parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />
+ </set>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >
+ <switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>
+ <outcome value='true'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id
+ + ' already exists, and has order status ' + $service-data.vnfs.vnf[$idx].vnf-data.vnf-level-oper-status.order-status`" />
+ </return>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='vnf-request-input.' value='`$vnf-topology-operation-input.vnf-request-input.`' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >
+ <parameter name="ctx-destination" value="prop.vnf-index"/>
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id' value='`$prop.vnf-index`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='Created' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
+ </set>
+ <set>
+ <parameter name='vnfId' value='`$prop.vnf-index`' />
+ <parameter name="vnf-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $vnf-topology-operation-input.service-information.service-instance-id + '/service-data/vnfs/vnf/' + $prop.vnf-index + '/vnf-data/'` " />
+ </set>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $prop.vnf-index" >
+ <parameter name="orchestration-status" value="create" />
+ <parameter name="vnf-type" value="some vnf-type" />
+ </save>
+ <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list'
+ key='service-instance.service-instance-id = $service-data.service-information.service-instance-id
+ AND customer.global-customer-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.global-customer-id
+ AND service-subscription.service-type = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.subscription-service-type'
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="generic-vnf" />
+ <parameter name="relationship-list.relationship[0].related-link" value="`'/network/generic-vnfs/generic-vnf/' + $prop.vnf-index`" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="generic-vnf.vnf-id" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.vnf-index`" />
+ <!--save 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="vpn-resource" /><parameter name="relationship-list.relationship[0].related-link" value="`'/network/vpn-resources/vpn-resource/' + $prop.vnf-index`" /><parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="vpn-resource.vpn-resource-id" /><parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.vnf-index`" /-->
+ </save>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-deactivate.xml b/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-deactivate.xml
new file mode 100644
index 00000000..95c67071
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-deactivate.xml
@@ -0,0 +1,89 @@
+<service-logic
+ xmlns='http://www.onap.org/sdnc/svclogic'
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+ <method rpc='vnf-topology-operation-vpn-site-resource-deactivate' mode='sync'>
+ <block atomic="true">
+ <switch test='`$service-data.vnfs.vnf_length`'>
+ <outcome value='0'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />
+ </return>
+ </outcome>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <for index='vidx' start='0' end='`$service-data.vnfs.vnf_length`' >
+ <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>
+ </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>
+ </block>
+ </outcome>
+ </switch>
+ <switch test='`$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-level-oper-status.order-status`'>
+ <outcome value='Active'>
+ <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[$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.' />
+ </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="generic-vnf"
+ key="generic-vnf.vnf-id = $vnfId" >
+ <parameter name="orchestration-status" value="PendingDelete" />
+ <parameter name="vnf-type" value="some vnf-type" />
+ </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> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-delete.xml b/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-delete.xml
new file mode 100644
index 00000000..41bab8f3
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_vnf-topology-operation-vpn-site-resource-delete.xml
@@ -0,0 +1,107 @@
+<service-logic
+ xmlns='http://www.onap.org/sdnc/svclogic'
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+ <method rpc='vnf-topology-operation-vpn-site-resource-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='nidx' start='0' end='`$service-data.vnfs.vnf_length`' >
+ <switch test="`$service-data.vnfs.vnf[$nidx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`">
+ <outcome value='true'>
+ <set>
+ <parameter name='tmp.nidx' value='`$nidx`' />
+ <parameter name='ctx.vnf-data.' value='`$service-data.vnfs.vnf[$nidx].vnf-data.`' />
+ </set>
+ </outcome>
+ </switch>
+ </for>
+ <switch test="`$tmp.nidx`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ <switch test='`$service-data.vnfs.vnf[$tmp.nidx].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='prop.vnfidxLen' value='`0`' />
+ </set>
+ <for index='lidx' start='0' end='`$service-data.vnfs.vnf_length`' >
+ <block atomic="true">
+ <switch test="`$service-data.vnfs.vnf[$lidx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`">
+ <outcome value='false'>
+ <block atomic="true">
+ <set>
+ <parameter name='service-data.vnfs.vnf[$prop.vnfidxLen].vnf-id' value='`$service-data.vnfs.vnf[$lidx].vnf-id`' />
+ <parameter name='service-data.vnfs.vnf[$prop.vnfidxLen].vnf-data.' value='`$service-data.vnfs.vnf[$lidx].vnf-data.`' />
+ </set>
+ <set>
+ <parameter name='prop.vnfidxLen' value='`$prop.vnfidxLen + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <set>
+ <parameter name="service-data.vnfs.vnf_length" value='`$prop.vnfidxLen`'/>
+ </set>
+ <set>
+ <parameter name="service-data.vnfs.vnf[$prop.vnfidxLen]." 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>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $vnfId" >
+ <parameter name="orchestration-status" value="PendingDelete" />
+ <parameter name="vnf-type" value="some vnf-type" />
+ </delete>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file