CCVPN extension DGs

VPN and SITE resource VNF-topology-operation DGs

Change-Id: I2f39a26280b7a9a2add0783c614b542fe2073439
Issue-ID: SDNC-659
Signed-off-by: Prakash.E <prakash.e@huawei.com>

Former-commit-id: 201b92b81c7f50e7733297df88141357dc05c05c
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 1502a4d..46a248f 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 0000000..244799a
--- /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 0000000..7e74909
--- /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 0000000..654c97b
--- /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 0000000..3d26891
--- /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 6dbe24b..cabcce5 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 0000000..32fa9b2
--- /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 0000000..9fbcd8f
--- /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 0000000..95c6707
--- /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 0000000..41bab8f
--- /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