SDWAN bandwidth update DG.

Change-Id: I4a933ae8297e4a27fa72ed53705aa8536e12f219
Issue-ID: SDNC-653
Signed-off-by: shashikanth.vh <shashikanth.vh@huawei.com>

Former-commit-id: 62721594686caa7ebe0967c7b94fd3e26dafa211
diff --git a/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-bandwidth-policy-change.json b/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-bandwidth-policy-change.json
new file mode 100644
index 0000000..f9f7a42
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-bandwidth-policy-change.json
@@ -0,0 +1,1990 @@
+[

+    {

+        "id": "2f944e3f.133922",

+        "type": "method",

+        "name": "method sdwan-bandwidth-policy-change",

+        "xml": "<method rpc='sdwan-bandwidth-policy-change' mode='sync'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 228,

+        "y": 177.58634185791016,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "ab448c0a.7a72d"

+            ]

+        ]

+    },

+    {

+        "id": "c5904683.1a03e8",

+        "type": "dgstart",

+        "name": "DGSTART",

+        "outputs": 1,

+        "x": 117,

+        "y": 32.00000190734863,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "6bc6460b.0fa818"

+            ]

+        ]

+    },

+    {

+        "id": "6bc6460b.0fa818",

+        "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": 216.28570556640625,

+        "y": 83.23810958862305,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "2f944e3f.133922"

+            ]

+        ]

+    },

+    {

+        "id": "ab448c0a.7a72d",

+        "type": "block",

+        "name": "block : atomic",

+        "xml": "<block atomic=\"true\">",

+        "atomic": "true",

+        "outputs": 1,

+        "x": 176.6666717529297,

+        "y": 459.6667175292969,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "12f15f6d.9827f1",

+                "fe00d9f.b56fd28",

+                "6684c99a.7427e8",

+                "2af6c94c.af19e6",

+                "e293366.5ca59c8",

+                "ed22f7f1.ec7288",

+                "1a81feba.045cb1",

+                "565469d0.7320a8",

+                "6d629a7b.45bc64",

+                "a9a5c4dd.f02338",

+                "b2fc342f.6c0b68",

+                "23f3a49a.a36dac",

+                "325ec5e8.8f682a",

+                "fb6cf9c5.202108",

+                "df7c0c81.e6dd8",

+                "95135039.a60aa",

+                "e76d9029.37f13",

+                "55e5acbf.fe5b24",

+                "bf167ea6.f9992",

+                "89ecf7ea.f65c78"

+            ]

+        ]

+    },

+    {

+        "id": "fe00d9f.b56fd28",

+        "type": "for",

+        "name": "for each vnf",

+        "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 554.0313873291016,

+        "y": 257.26914978027344,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "12817250.a42a3e"

+            ]

+        ]

+    },

+    {

+        "id": "12f15f6d.9827f1",

+        "type": "switchNode",

+        "name": "switch vnf_length",

+        "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 565.0000190734863,

+        "y": 196.00001049041748,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "b500c350.6e3d9"

+            ]

+        ]

+    },

+    {

+        "id": "b500c350.6e3d9",

+        "type": "outcome",

+        "name": "NULL",

+        "xml": "<outcome value=''>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 745,

+        "y": 195,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "805afe4f.d6084"

+            ]

+        ]

+    },

+    {

+        "id": "805afe4f.d6084",

+        "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": 894.4287261962891,

+        "y": 196.14291763305664,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "12817250.a42a3e",

+        "type": "switchNode",

+        "name": "switch this vnf-id == input vnf-id",

+        "xml": "<switch test=\"`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`\">    \n",

+        "comments": "",

+        "outputs": 1,

+        "x": 783.0000152587891,

+        "y": 258.00000619888306,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "b6a1534.58369b"

+            ]

+        ]

+    },

+    {

+        "id": "b6a1534.58369b",

+        "type": "outcomeTrue",

+        "name": "true",

+        "xml": "<outcome value='true'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 998,

+        "y": 256,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "3bca8e45.080102"

+            ]

+        ]

+    },

+    {

+        "id": "3bca8e45.080102",

+        "type": "set",

+        "name": "set vnf-index",

+        "xml": "<set>\n<parameter name='vnf-index' value='`$idx`' />\n",

+        "comments": "",

+        "x": 1162,

+        "y": 251,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "6684c99a.7427e8",

+        "type": "set",

+        "name": "set prop.siteAttachement_length=0",

+        "xml": "<set>\n<parameter name='prop.siteAttachements_length' value='0' />\n<parameter name='prop.siteIds_length' value='0' />\n\n\n\n",

+        "comments": "",

+        "x": 586.2857360839844,

+        "y": 573.3333435058594,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "2af6c94c.af19e6",

+        "type": "for",

+        "name": "for vf-modules.vf-module_length",

+        "xml": "<for index='vfidx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 581.0312652587891,

+        "y": 725.531270980835,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "27cc261.a1c4eda"

+            ]

+        ]

+    },

+    {

+        "id": "27cc261.a1c4eda",

+        "type": "block",

+        "name": "block",

+        "xml": "<block>\n",

+        "atomic": "false",

+        "comments": "",

+        "outputs": 1,

+        "x": 741.0312728881836,

+        "y": 802.5312714576721,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "25c1741b.71156c",

+                "f476b4c1.90d488",

+                "38661728.f30148"

+            ]

+        ]

+    },

+    {

+        "id": "25c1741b.71156c",

+        "type": "switchNode",

+        "name": "switch ActivateSDWANDeviceInstance",

+        "xml": "<switch test=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].vf-module-data.request-information.request-action == 'ActivateSDWANDeviceInstance'`\">\n\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 1036.0000305175781,

+        "y": 726.0000219345093,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "d5c6abe5.2055e8"

+            ]

+        ]

+    },

+    {

+        "id": "d5c6abe5.2055e8",

+        "type": "outcomeTrue",

+        "name": "true",

+        "xml": "<outcome value='true'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 1257.999870300293,

+        "y": 725.000020980835,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "2cf625ba.b60eba"

+            ]

+        ]

+    },

+    {

+        "id": "2cf625ba.b60eba",

+        "type": "block",

+        "name": "block : atomic",

+        "xml": "<block atomic=\"true\">",

+        "atomic": "true",

+        "outputs": 1,

+        "x": 1402.3333740234375,

+        "y": 724.0000219345093,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "139b09d6.445b26"

+            ]

+        ]

+    },

+    {

+        "id": "139b09d6.445b26",

+        "type": "for",

+        "name": "for loop didx - Get deviceId from servicedata",

+        "xml": "<for index=\"didx\" start=\"0\" end=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].vf-module-data.vf-module-request-input.vf-module-input-parameters.param_length`\">\n\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 1665.3334197998047,

+        "y": 765.9999008178711,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "21359c3d.902a24"

+            ]

+        ]

+    },

+    {

+        "id": "21359c3d.902a24",

+        "type": "block",

+        "name": "block : atomic",

+        "xml": "<block atomic=\"true\">",

+        "atomic": "true",

+        "outputs": 1,

+        "x": 1594.6663208007812,

+        "y": 849.6666679382324,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "b1f8674.56f5f98"

+            ]

+        ]

+    },

+    {

+        "id": "b1f8674.56f5f98",

+        "type": "switchNode",

+        "name": "switch name (DeviceName)",

+        "xml": "<switch test=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].vf-module-data.vf-module-request-input.vf-module-input-parameters.param[$didx].name == 'name'`\">\n\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 1799.3342399597168,

+        "y": 858.0001764297485,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "708fccb5.daf804"

+            ]

+        ]

+    },

+    {

+        "id": "708fccb5.daf804",

+        "type": "outcomeTrue",

+        "name": "true",

+        "xml": "<outcome value='true'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 2022.3346977233887,

+        "y": 839.0002365112305,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "eb8a8320.4a5de"

+            ]

+        ]

+    },

+    {

+        "id": "eb8a8320.4a5de",

+        "type": "block",

+        "name": "block : atomic",

+        "xml": "<block atomic=\"true\">",

+        "atomic": "true",

+        "outputs": 1,

+        "x": 1760.6675491333008,

+        "y": 940.0002403259277,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "f39deed1.3e3c"

+            ]

+        ]

+    },

+    {

+        "id": "f39deed1.3e3c",

+        "type": "switchNode",

+        "name": "switch deviceName match",

+        "xml": "<switch test=\"`$prop.wan.deviceName == $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].vf-module-data.vf-module-request-input.vf-module-input-parameters.param[$didx].value`\">\n\n\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 1966.3342742919922,

+        "y": 941.0003042221069,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "bb4cb546.fc5c48"

+            ]

+        ]

+    },

+    {

+        "id": "bb4cb546.fc5c48",

+        "type": "outcomeTrue",

+        "name": "true",

+        "xml": "<outcome value='true'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 1735.668342590332,

+        "y": 1007.0003929138184,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "f77de57f.61b768"

+            ]

+        ]

+    },

+    {

+        "id": "f77de57f.61b768",

+        "type": "block",

+        "name": "block : atomic",

+        "xml": "<block atomic=\"true\">",

+        "atomic": "true",

+        "outputs": 1,

+        "x": 1885.0003128051758,

+        "y": 1012.0001487731934,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "93f703bf.f8f44",

+                "a140338b.f48e2",

+                "a367096a.4c3508"

+            ]

+        ]

+    },

+    {

+        "id": "93f703bf.f8f44",

+        "type": "for",

+        "name": "for loop deviceidx - Get deviceId from servicedata",

+        "xml": "<for index=\"deviceidx\" start=\"0\" end=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].vf-module-data.vf-module-request-input.vf-module-input-parameters.param_length`\">\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 2156.197494506836,

+        "y": 983.0313453674316,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "16b92c49.0550e4"

+            ]

+        ]

+    },

+    {

+        "id": "a140338b.f48e2",

+        "type": "set",

+        "name": "set tmp.devicevidx",

+        "xml": "<set>\n<parameter name='tmp.devicevidx' value='`$vfidx`' />\n\n",

+        "comments": "",

+        "x": 2073.9994049072266,

+        "y": 1023.0001039505005,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "16b92c49.0550e4",

+        "type": "block",

+        "name": "block : atomic",

+        "xml": "<block atomic=\"true\">",

+        "atomic": "true",

+        "outputs": 1,

+        "x": 2321.1983489990234,

+        "y": 1035.0314292907715,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "2c030d38.c88f02",

+                "27a33e60.c61c12"

+            ]

+        ]

+    },

+    {

+        "id": "2c030d38.c88f02",

+        "type": "switchNode",

+        "name": "switch deviceId",

+        "xml": "<switch test=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].vf-module-data.vf-module-request-input.vf-module-input-parameters.param[$deviceidx].name == 'deviceId'`\">\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 2336.6680221557617,

+        "y": 1077.6669998168945,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "cfe51c42.c396a"

+            ]

+        ]

+    },

+    {

+        "id": "c2afdbf0.691fd8",

+        "type": "comment",

+        "name": "Get deviceId from device resource created for this service",

+        "info": "",

+        "comments": "",

+        "x": 2164.333366394043,

+        "y": 908.3332514762878,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "cfe51c42.c396a",

+        "type": "outcomeTrue",

+        "name": "true",

+        "xml": "<outcome value='true'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 2489.6683921813965,

+        "y": 1078.6670770645142,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "c26a319e.7f774"

+            ]

+        ]

+    },

+    {

+        "id": "c26a319e.7f774",

+        "type": "set",

+        "name": "set prop.wan.deviceId",

+        "xml": "<set>\n<parameter name='prop.wan.deviceId' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].vf-module-data.vf-module-request-input.vf-module-input-parameters.param[$deviceidx].value`' />\n",

+        "comments": "",

+        "x": 2658.6689987182617,

+        "y": 1077.2671117782593,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "f476b4c1.90d488",

+        "type": "switchNode",

+        "name": "switch ActivateSiteInstance",

+        "xml": "<switch test=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].vf-module-data.request-information.request-action == 'ActivateSiteInstance'`\">\n\n    \n\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 989.6666870117188,

+        "y": 786.666690826416,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "b3e07a22.de09f8"

+            ]

+        ]

+    },

+    {

+        "id": "b3e07a22.de09f8",

+        "type": "outcomeTrue",

+        "name": "true",

+        "xml": "<outcome value='true'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 1183.666862487793,

+        "y": 785.6667108535767,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "b9aff3fc.b88e"

+            ]

+        ]

+    },

+    {

+        "id": "b9aff3fc.b88e",

+        "type": "set",

+        "name": "set tmp.siteVidx",

+        "xml": "<set>\n<parameter name='tmp.siteVidx' value='`$vfidx`' />\n<parameter name='ctx.site.' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].`' />",

+        "comments": "",

+        "x": 1346.6662979125977,

+        "y": 782.666711807251,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "55e5acbf.fe5b24",

+        "type": "switchNode",

+        "name": "switch tmp.wanPortVidx",

+        "xml": "<switch test=\"`$tmp.wanPortVidx`\">\n\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 567.0002365112305,

+        "y": 842.0002207756042,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "51af758e.d4a8ec"

+            ]

+        ]

+    },

+    {

+        "id": "bf167ea6.f9992",

+        "type": "switchNode",

+        "name": "switch tmp.siteVidx",

+        "xml": "<switch test=\"`$tmp.siteVidx`\">\n\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 551.984489440918,

+        "y": 886.9965887069702,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "d0596a3e.d0abe8"

+            ]

+        ]

+    },

+    {

+        "id": "89ecf7ea.f65c78",

+        "type": "switchNode",

+        "name": "switch tmp.devicevidx",

+        "xml": "<switch test=\"`$tmp.devicevidx`\">\n\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 563.651237487793,

+        "y": 931.9965581893921,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "46e578eb.e7f2e8"

+            ]

+        ]

+    },

+    {

+        "id": "46e578eb.e7f2e8",

+        "type": "outcome",

+        "name": "NULL",

+        "xml": "<outcome value=''>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 742.0798377990723,

+        "y": 932.5679111480713,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "7c5cc100.4ca9a"

+            ]

+        ]

+    },

+    {

+        "id": "d0596a3e.d0abe8",

+        "type": "outcome",

+        "name": "NULL",

+        "xml": "<outcome value=''>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 735.4131698608398,

+        "y": 885.5678281784058,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "c0c0caa4.6e3d18"

+            ]

+        ]

+    },

+    {

+        "id": "51af758e.d4a8ec",

+        "type": "outcome",

+        "name": "NULL",

+        "xml": "<outcome value=''>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 737.4289398193359,

+        "y": 844.5715956687927,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "c3788885.5a3728"

+            ]

+        ]

+    },

+    {

+        "id": "c3788885.5a3728",

+        "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=\"ActivateSDWANPortInstance not found in service-data\" />\n",

+        "comments": "",

+        "x": 878.8580017089844,

+        "y": 844.7145147323608,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "c0c0caa4.6e3d18",

+        "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=\"ActivateSiteInstance not found in service-data\" />\n",

+        "comments": "",

+        "x": 879.8421325683594,

+        "y": 885.710732460022,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "7c5cc100.4ca9a",

+        "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=\"ActivateSDWANDeviceInstance not found in service-data\" />\n",

+        "comments": "",

+        "x": 888.508623123169,

+        "y": 931.7109107971191,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "e293366.5ca59c8",

+        "type": "for",

+        "name": "for loop sidx - Get siteId from servicedata",

+        "xml": "<for index=\"sidx\" start=\"0\" end=\"`$ctx.site.vf-module-data.vf-module-request-input.vf-module-input-parameters.param_length`\">\n    \n    \n",

+        "comments": "",

+        "outputs": 1,

+        "x": 628,

+        "y": 996.0000038146973,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "42f26061.cc632"

+            ]

+        ]

+    },

+    {

+        "id": "42f26061.cc632",

+        "type": "block",

+        "name": "block : atomic",

+        "xml": "<block atomic=\"true\">",

+        "atomic": "true",

+        "outputs": 1,

+        "x": 890.0101928710938,

+        "y": 996.6768283843994,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "cb46a81.d18b858"

+            ]

+        ]

+    },

+    {

+        "id": "cb46a81.d18b858",

+        "type": "switchNode",

+        "name": "switch siteId",

+        "xml": "<switch test=\"`$ctx.site.vf-module-data.vf-module-request-input.vf-module-input-parameters.param[$sidx].name == 'siteId'`\">\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 1059.0003280639648,

+        "y": 997.0001344680786,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "a653a5d0.84bc78"

+            ]

+        ]

+    },

+    {

+        "id": "a653a5d0.84bc78",

+        "type": "outcomeTrue",

+        "name": "true",

+        "xml": "<outcome value='true'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 1197.0007858276367,

+        "y": 995.0001192092896,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "53153bf4.922eb4"

+            ]

+        ]

+    },

+    {

+        "id": "53153bf4.922eb4",

+        "type": "set",

+        "name": "set prop.wan.siteId",

+        "xml": "<set>\n<parameter name='prop.wan.siteId' value='`$ctx.site.vf-module-data.vf-module-request-input.vf-module-input-parameters.param[$sidx].value`' />\n\n\n",

+        "comments": "",

+        "x": 1361.000820159912,

+        "y": 996.5999727249146,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "7b2acf1d.5d2c4",

+        "type": "execute",

+        "name": "execute RestApiCallNode Get token",

+        "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/actokentemplate.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"token-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>",

+        "comments": "",

+        "outputs": 1,

+        "x": 611,

+        "y": 1169.3333778381348,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "1d80bee.50bc541",

+                "eb5f900d.dda61"

+            ]

+        ]

+    },

+    {

+        "id": "56ffc8fe.295058",

+        "type": "get-resource",

+        "name": "get-resource esr-thirdparty-sdnc",

+        "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"esr-thirdparty-sdnc\" \n\t\tkey=\"esr-thirdparty-sdnc.thirdparty-sdnc-id = SDWANController AND \n\t\t     depth = '1'\"\n        pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\n\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 597.0617713928223,

+        "y": 1086.2122583389282,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "2d46ac01.fa3384",

+                "c3235371.70f16",

+                "11a49df.fe69062"

+            ]

+        ]

+    },

+    {

+        "id": "2d46ac01.fa3384",

+        "type": "success",

+        "name": "success",

+        "xml": "<outcome value='success'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 832.0618362426758,

+        "y": 1050.212275505066,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "ec636fec.ea999"

+            ]

+        ]

+    },

+    {

+        "id": "c3235371.70f16",

+        "type": "not-found",

+        "name": "not-found",

+        "xml": "<outcome value='not-found'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 834.5527191162109,

+        "y": 1085.7863121032715,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "1b1255b3.3b49aa"

+            ]

+        ]

+    },

+    {

+        "id": "11a49df.fe69062",

+        "type": "other",

+        "name": "other",

+        "xml": "<outcome value='Other'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 829.8857269287109,

+        "y": 1122.11967086792,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "5e1f1c91.441454"

+            ]

+        ]

+    },

+    {

+        "id": "1b1255b3.3b49aa",

+        "type": "returnFailure",

+        "name": "return failure",

+        "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`\" />\n\n",

+        "comments": "",

+        "x": 980.1241149902344,

+        "y": 1084.0719995498657,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "ec636fec.ea999",

+        "type": "set",

+        "name": "set controller data",

+        "xml": "<set>\n<parameter name='prop.sdncRestApi.thirdpartySdnc.url' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`\" />\n<parameter name='prop.sdncRestApi.thirdpartySdnc.user' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`\" />\n<parameter name='prop.sdncRestApi.thirdpartySdnc.password' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`\" />\n",

+        "comments": "",

+        "x": 992.5619468688965,

+        "y": 1048.212215423584,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "1d80bee.50bc541",

+        "type": "success",

+        "name": "success",

+        "xml": "<outcome value='success'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 846.0001258850098,

+        "y": 1155.333366394043,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "f4c3c5fd.2e8218"

+            ]

+        ]

+    },

+    {

+        "id": "eb5f900d.dda61",

+        "type": "failure",

+        "name": "failure",

+        "xml": "<outcome value='failure'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 845.2501258850098,

+        "y": 1190.9762735366821,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "e10df217.332b2"

+            ]

+        ]

+    },

+    {

+        "id": "e10df217.332b2",

+        "type": "returnFailure",

+        "name": "return failure",

+        "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"Error executing get token rest api\" />\n",

+        "comments": "",

+        "x": 994.0001335144043,

+        "y": 1191.7263555526733,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "f4c3c5fd.2e8218",

+        "type": "set",

+        "name": "set token-id",

+        "xml": "<set>\n<parameter name='prop.sdncRestApi.token_id' value='`$token-result.data.token_id`' />\n",

+        "comments": "",

+        "x": 988.0001335144043,

+        "y": 1154.3333673477173,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "ed22f7f1.ec7288",

+        "type": "set",

+        "name": "set prop.tenant-id",

+        "xml": "<set>\n<parameter name='prop.tenant-id' value='d9511b64-61ae-446e-96a1-6adbff09582c' />\n",

+        "comments": "",

+        "x": 552.9999847412109,

+        "y": 1214.6250553131104,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "fb6cf9c5.202108",

+        "type": "execute",

+        "name": "execute RestApiCallNode Create tenant auth",

+        "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/actokentemplate.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v2/baseservice/tenants/authorization/' + $prop.tenant-id`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"tenant-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",

+        "comments": "",

+        "outputs": 1,

+        "x": 634.9999961853027,

+        "y": 1256.6249332427979,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            []

+        ]

+    },

+    {

+        "id": "5e1f1c91.441454",

+        "type": "returnFailure",

+        "name": "return failure",

+        "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`\" />\n\n",

+        "comments": "",

+        "x": 983.6582183837891,

+        "y": 1119.5587577819824,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "b2fc342f.6c0b68",

+        "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": 496,

+        "y": 1733.999966621399,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "be4cbaa5.a17bc8",

+        "type": "set",

+        "name": "set prop.wan.transportNetworkId",

+        "xml": "<set>\n<parameter name='prop.wan.transportNetworkId' value='`$transportNetworksResp.data.transportNetworks[$tidx].id`' />\n",

+        "comments": "",

+        "x": 1450.656608581543,

+        "y": 1367.6559944152832,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "a3594760.3045f8",

+        "type": "switchNode",

+        "name": "switch transportNetworkName same",

+        "xml": "<switch test=\"`$transportNetworksResp.data.transportNetworks[$tidx].name == $prop.wan.transportNetworkName`\">\n\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 1030.666259765625,

+        "y": 1368.3323431015015,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "2217267e.e3931a"

+            ]

+        ]

+    },

+    {

+        "id": "2217267e.e3931a",

+        "type": "outcomeTrue",

+        "name": "true",

+        "xml": "<outcome value='true'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 1243.6657104492188,

+        "y": 1368.3322610855103,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "be4cbaa5.a17bc8"

+            ]

+        ]

+    },

+    {

+        "id": "ab99bc56.03a1f",

+        "type": "block",

+        "name": "block",

+        "xml": "<block>\n",

+        "atomic": "false",

+        "comments": "",

+        "outputs": 1,

+        "x": 817.6660118103027,

+        "y": 1368.9990720748901,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "a3594760.3045f8"

+            ]

+        ]

+    },

+    {

+        "id": "95135039.a60aa",

+        "type": "for",

+        "name": "for loop tidx - Get transportNetwork ID",

+        "xml": "<for index=\"tidx\" start=\"0\" end=\"`$transportNetworksResp.data.transportNetworks_length`\">\n    \n    \n",

+        "comments": "",

+        "outputs": 1,

+        "x": 593.6655960083008,

+        "y": 1368.9987926483154,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "ab99bc56.03a1f"

+            ]

+        ]

+    },

+    {

+        "id": "bc190905.6bdb08",

+        "type": "block",

+        "name": "block : atomic",

+        "xml": "<block atomic=\"true\">",

+        "atomic": "true",

+        "comments": "",

+        "outputs": 1,

+        "x": 1095.6652336120605,

+        "y": 1324.6654443740845,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            []

+        ]

+    },

+    {

+        "id": "ce813dcf.485f7",

+        "type": "returnFailure",

+        "name": "return failure",

+        "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"Error executing Get transport network info rest api\" />\n",

+        "comments": "",

+        "x": 1084.66548538208,

+        "y": 1280.6654481887817,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "ee008d39.43008",

+        "type": "failure",

+        "name": "failure",

+        "xml": "<outcome value='failure'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 942.665153503418,

+        "y": 1281.6654481887817,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "ce813dcf.485f7"

+            ]

+        ]

+    },

+    {

+        "id": "719fe2a2.cae46c",

+        "type": "success",

+        "name": "success",

+        "xml": "<outcome value='success'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 938.6652297973633,

+        "y": 1325.6657705307007,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "bc190905.6bdb08"

+            ]

+        ]

+    },

+    {

+        "id": "df7c0c81.e6dd8",

+        "type": "execute",

+        "name": "execute RestApiCallNode get transport network info",

+        "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/network-orchestration-resources'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"get\"/>\n<parameter name=\"responsePrefix\" value=\"transportNetworksResp\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",

+        "comments": "",

+        "outputs": 1,

+        "x": 650.6655883789062,

+        "y": 1330.6659331321716,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "719fe2a2.cae46c",

+                "ee008d39.43008"

+            ]

+        ]

+    },

+    {

+        "id": "a9a5c4dd.f02338",

+        "type": "save",

+        "name": "save sdwan vpn bandwidth configuration in AAI",

+        "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='bandwidth-history' \n      key='sdwan-bandwidth-policy-id = $prop.bandwidth.bandwidth-policyId' >\n<parameter name=\"sdwan-bandwidth-policy-id\" value=\"`$prop.bandwidth.bandwidth-policyId`\" />\n<parameter name=\"sdwan-bandwidth-policy-name\" value=\"`$prop.bandwidth.bandwidth-policyId`\" />\n<parameter name=\"bandwidth-value\" value=\"`$prop.wan.inputBandwidth`\" />\n<parameter name=\"bandwidth-change-time\" value=\"`$prop.wan.bandwidth-change-time`\" />\n<parameter name=\"vpn-id\" value=\"`$prop.bandwidth.vpnId`\" />\n<!--parameter name='model-customization-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />\n<parameter name='model-invariant-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />\n<parameter name='model-version-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' /-->\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 599.7565498352051,

+        "y": 1688.3282527923584,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "9a0d6126.e5e05",

+                "7f8d367f.2cb258"

+            ]

+        ]

+    },

+    {

+        "id": "565469d0.7320a8",

+        "type": "for",

+        "name": "for loop bwidx -input-parameters",

+        "xml": "<for index=\"bwidx\" start=\"0\" end=\"`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`\">\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 568.0937576293945,

+        "y": 1508.6650838851929,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "fe4d7e03.7b0c7"

+            ]

+        ]

+    },

+    {

+        "id": "fe4d7e03.7b0c7",

+        "type": "block",

+        "name": "block : atomic",

+        "xml": "<block atomic=\"true\">",

+        "atomic": "true",

+        "outputs": 1,

+        "x": 804.0945892333984,

+        "y": 1507.665246963501,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "7f4a05af.27429c",

+                "67d8e067.207d7"

+            ]

+        ]

+    },

+    {

+        "id": "7f4a05af.27429c",

+        "type": "switchNode",

+        "name": "switch bandwidth",

+        "xml": "<switch test=\"`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$bwidx].name == 'bandwidth'`\">\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 990.563835144043,

+        "y": 1504.3006629943848,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "27845d4d.df4892"

+            ]

+        ]

+    },

+    {

+        "id": "27845d4d.df4892",

+        "type": "outcomeTrue",

+        "name": "true",

+        "xml": "<outcome value='true'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 1156.5641689300537,

+        "y": 1501.3008270263672,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "7318bc58.3a78f4"

+            ]

+        ]

+    },

+    {

+        "id": "7318bc58.3a78f4",

+        "type": "set",

+        "name": "set prop.wan.inputBandwidth & outputBandwidth",

+        "xml": "<set>\n<parameter name='prop.wan.inputBandwidth' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$bwidx].value`' />\n<parameter name='prop.wan.outputBandwidth' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$bwidx].value`' />\n",

+        "comments": "",

+        "x": 1419.564826965332,

+        "y": 1499.9009237289429,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "67d8e067.207d7",

+        "type": "switchNode",

+        "name": "switch bandwidth",

+        "xml": "<switch test=\"`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$bwidx].name == 'bandwidth-change-time'`\">\n\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 993.3692321777344,

+        "y": 1542.3316974639893,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "d3e4fb8e.757688"

+            ]

+        ]

+    },

+    {

+        "id": "d3e4fb8e.757688",

+        "type": "outcomeTrue",

+        "name": "true",

+        "xml": "<outcome value='true'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 1159.3695659637451,

+        "y": 1539.3318614959717,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "dad668dd.f97bc8"

+            ]

+        ]

+    },

+    {

+        "id": "dad668dd.f97bc8",

+        "type": "set",

+        "name": "set prop.wan.bandwidth-change-time",

+        "xml": "<set>\n<parameter name='prop.wan.bandwidth-change-time' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$bwidx].value`' />\n\n",

+        "comments": "",

+        "x": 1393.370246887207,

+        "y": 1537.9320068359375,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "9a0d6126.e5e05",

+        "type": "failure",

+        "name": "success",

+        "xml": "<outcome value='success'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 863.0359802246094,

+        "y": 1664.9988250732422,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "2fb60b95.3ca614"

+            ]

+        ]

+    },

+    {

+        "id": "7f8d367f.2cb258",

+        "type": "failure",

+        "name": "failure",

+        "xml": "<outcome value='failure'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 858.0359802246094,

+        "y": 1698.9988269805908,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "9bc825b2.9d6228"

+            ]

+        ]

+    },

+    {

+        "id": "2fb60b95.3ca614",

+        "type": "block",

+        "name": "block : atomic",

+        "xml": "<block atomic=\"true\">",

+        "atomic": "true",

+        "comments": "",

+        "outputs": 1,

+        "x": 1015.0359840393066,

+        "y": 1661.9988255500793,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            []

+        ]

+    },

+    {

+        "id": "6d629a7b.45bc64",

+        "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.bandwidth.bandwidth-policyId\"/>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 540.1652374267578,

+        "y": 1647.998661994934,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            []

+        ]

+    },

+    {

+        "id": "9bc825b2.9d6228",

+        "type": "returnFailure",

+        "name": "return failure",

+        "xml": "<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value=\"Falied to add AAI bandwidth history record\" />\n",

+        "comments": "",

+        "x": 1007.1652164459229,

+        "y": 1698.9988269805908,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "d4773b75.f02ff8",

+        "type": "block",

+        "name": "block : atomic",

+        "xml": "<block atomic=\"true\">",

+        "atomic": "true",

+        "comments": "",

+        "outputs": 1,

+        "x": 1423.831729888916,

+        "y": 1618.6653962135315,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            []

+        ]

+    },

+    {

+        "id": "654cee32.d9b47",

+        "type": "block",

+        "name": "block : atomic",

+        "xml": "<block atomic=\"true\">",

+        "atomic": "true",

+        "comments": "",

+        "outputs": 1,

+        "x": 1419.8355903625488,

+        "y": 1584.169144153595,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            []

+        ]

+    },

+    {

+        "id": "496f73f1.608cec",

+        "type": "success",

+        "name": "success",

+        "xml": "<outcome value='success'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 1279.831714630127,

+        "y": 1619.6655592918396,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "d4773b75.f02ff8"

+            ]

+        ]

+    },

+    {

+        "id": "93a36b7f.6e1e08",

+        "type": "failure",

+        "name": "failure",

+        "xml": "<outcome value='failure'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 1275.831745147705,

+        "y": 1585.6654524803162,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "654cee32.d9b47"

+            ]

+        ]

+    },

+    {

+        "id": "62263572.725b3c",

+        "type": "execute",

+        "name": "execute RestApiCallNode wan port update",

+        "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-wan-port.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/transport-network-ports'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"wanPortResp\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",

+        "comments": "",

+        "outputs": 1,

+        "x": 1012.8321380615234,

+        "y": 1594.6657781600952,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "496f73f1.608cec",

+                "93a36b7f.6e1e08"

+            ]

+        ]

+    },

+    {

+        "id": "e76d9029.37f13",

+        "type": "switchNode",

+        "name": "switch prop.wanPortUpdate null",

+        "xml": "<switch test=\"`$prop.wanPortUpdate`\">",

+        "comments": "",

+        "outputs": 1,

+        "x": 558.1964721679688,

+        "y": 1594.696870803833,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "125755f3.b6968a"

+            ]

+        ]

+    },

+    {

+        "id": "125755f3.b6968a",

+        "type": "outcome",

+        "name": "NULL",

+        "xml": "<outcome value=''>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 770.1965560913086,

+        "y": 1595.1965408325195,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "62263572.725b3c"

+            ]

+        ]

+    },

+    {

+        "id": "1e1aff6a.3deca1",

+        "type": "returnFailure",

+        "name": "return failure",

+        "xml": "<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value=\"An error occured while splitting sna1_route\" />\n",

+        "comments": "",

+        "x": 911.6554641723633,

+        "y": 1470.9890832901,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "abee6b5b.1a5908",

+        "type": "set",

+        "name": "set ipAddress prefixLength",

+        "xml": "<set>\n<parameter name='prop.wan.ip-address' value='`$ipandMask[0]`' />\n<parameter name='prop.wan.prefixLength' value='`$ipandMask[1]`' />",

+        "comments": "",

+        "x": 953.6554718017578,

+        "y": 1430.9890804290771,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "24145b24.9d1724",

+        "type": "failure",

+        "name": "failure",

+        "xml": "<outcome value='failure'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 756.6554565429688,

+        "y": 1473.9890842437744,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "1e1aff6a.3deca1"

+            ]

+        ]

+    },

+    {

+        "id": "621ae9dc.5f21b8",

+        "type": "failure",

+        "name": "success",

+        "xml": "<outcome value='success'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 756.6554527282715,

+        "y": 1432.9890804290771,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "abee6b5b.1a5908"

+            ]

+        ]

+    },

+    {

+        "id": "1a81feba.045cb1",

+        "type": "execute",

+        "name": "execute split ip and mask",

+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n<parameter name=\"original_string\" value='`$prop.wan.ipAddress`'/>\n<parameter name=\"regex\" value=\"/\"/>\n<parameter name=\"ctx_memory_result_key\" value=\"ipandMask\"/>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 555.6554336547852,

+        "y": 1454.989089012146,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "24145b24.9d1724",

+                "621ae9dc.5f21b8"

+            ]

+        ]

+    },

+    {

+        "id": "beaaef8c.a4de5",

+        "type": "comment",

+        "name": "Create wan port",

+        "info": "",

+        "comments": "",

+        "x": 519.6653251647949,

+        "y": 1407.999002456665,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "c837b6d8.71b3e8",

+        "type": "comment",

+        "name": "TODO: split ip/mask",

+        "info": "",

+        "comments": "",

+        "x": 943.6651191711426,

+        "y": 1393.1692161560059,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "aaddefb8.d63d3",

+        "type": "comment",

+        "name": "Get network id",

+        "info": "",

+        "comments": "",

+        "x": 604.6652145385742,

+        "y": 1294.9988594055176,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "38661728.f30148",

+        "type": "record",

+        "name": "record",

+        "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/svclogic111.log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"request-action\"/>\n<parameter name=\"field3\" value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].vf-module-data.request-information.request-action`'/>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 945.0000343322754,

+        "y": 683.0000123977661,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            []

+        ]

+    },

+    {

+        "id": "27a33e60.c61c12",

+        "type": "record",

+        "name": "record",

+        "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/svclogic113.log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].vf-module-data.vf-module-request-input.vf-module-input-parameters.param[$deviceidx].name`'/>\n<parameter name=\"field3\" value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].vf-module-data.vf-module-request-input.vf-module-input-parameters.param[$deviceidx].value`'/>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 2473.00008392334,

+        "y": 1019.0000581741333,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            []

+        ]

+    },

+    {

+        "id": "a367096a.4c3508",

+        "type": "record",

+        "name": "record",

+        "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/svclogic112.log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"tmp.devicevidx\"/>\n<parameter name=\"field3\" value='`$tmp.devicevidx`'/>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 2028.000057220459,

+        "y": 1074.0000247955322,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            []

+        ]

+    },

+    {

+        "id": "483c2153.d1795",

+        "type": "outcomeTrue",

+        "name": "true",

+        "xml": "<outcome value='true'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 1254.4840850830078,

+        "y": 485.00001335144043,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "600f472e.25ba58"

+            ]

+        ]

+    },

+    {

+        "id": "abbfdee9.6a6e5",

+        "type": "switchNode",

+        "name": "switch ActivateSDWANPortInstance",

+        "xml": "<switch test=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.request-information.request-action == 'ActivateSDWANPortInstance'`\">\n\n    \n    \n\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 1034.7699279785156,

+        "y": 483.5715036392212,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "483c2153.d1795"

+            ]

+        ]

+    },

+    {

+        "id": "c4affd66.4dfb2",

+        "type": "block",

+        "name": "block : atomic",

+        "xml": "<block atomic=\"true\">",

+        "atomic": "true",

+        "outputs": 1,

+        "x": 797.9841156005859,

+        "y": 484.0000114440918,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "abbfdee9.6a6e5"

+            ]

+        ]

+    },

+    {

+        "id": "23f3a49a.a36dac",

+        "type": "for",

+        "name": "for each existing vf-index",

+        "xml": "<for index='idx' start='0' end='`$vf-module-length`' >\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 569.4841003417969,

+        "y": 477.9999713897705,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "c4affd66.4dfb2"

+            ]

+        ]

+    },

+    {

+        "id": "fbf16bc4.9feaf8",

+        "type": "other",

+        "name": "other",

+        "xml": "<outcome value='Other'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 853.0000228881836,

+        "y": 386.222261428833,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "5652c210.116cdc"

+            ]

+        ]

+    },

+    {

+        "id": "325ec5e8.8f682a",

+        "type": "switchNode",

+        "name": "switch vf-modules.vf-module_length",

+        "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 617,

+        "y": 332.2222456638701,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "49412102.9496d",

+                "e27deb32.e1e6a8",

+                "fbf16bc4.9feaf8"

+            ]

+        ]

+    },

+    {

+        "id": "49412102.9496d",

+        "type": "outcome",

+        "name": "0",

+        "xml": "<outcome value='0'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 858.4840364456177,

+        "y": 303.99997469829395,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "b39cde31.8ce66"

+            ]

+        ]

+    },

+    {

+        "id": "e27deb32.e1e6a8",

+        "type": "other",

+        "name": "Null",

+        "xml": "<outcome value=''>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 860.5152254104614,

+        "y": 341.0312857334502,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "b39cde31.8ce66"

+            ]

+        ]

+    },

+    {

+        "id": "b39cde31.8ce66",

+        "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=\"vf-module-operation-input.vf-module-request-input.vf-id not found in service-data\" />\n",

+        "comments": "",

+        "x": 1018.2927408218384,

+        "y": 321.92023417400196,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "5652c210.116cdc",

+        "type": "set",

+        "name": "set vf-module-length",

+        "xml": "<set>\n<parameter name='vf-module-length' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />\n\n\n",

+        "comments": "",

+        "x": 1038.6666259765625,

+        "y": 368,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "600f472e.25ba58",

+        "type": "block",

+        "name": "block : atomic",

+        "xml": "<block atomic=\"true\">",

+        "atomic": "true",

+        "outputs": 1,

+        "x": 1428.0313301086426,

+        "y": 462.03124907566234,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "a6912dc8.5986c",

+                "2acae3d9.7f09cc",

+                "83a5b820.78ba98",

+                "b1b5a247.70dba"

+            ]

+        ]

+    },

+    {

+        "id": "a6912dc8.5986c",

+        "type": "set",

+        "name": "set tmp.wanPortVidx and ctx.vnf-data",

+        "xml": "<set>\n<parameter name='tmp.wanPortVidx' value='`$idx`' />\n<parameter name='ctx.vf-module-data.' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.`' />\n",

+        "comments": "",

+        "x": 1704.9180221557617,

+        "y": 430.37367010116577,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "2acae3d9.7f09cc",

+        "type": "set",

+        "name": "set vf-module-request-input.",

+        "xml": "<set>\n<parameter name='vf-module-request-input.' value='`$ctx.vf-module-data.vf-module-request-input.`' />\n\n",

+        "comments": "",

+        "x": 1677.3642578125,

+        "y": 475.0313091278076,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "83a5b820.78ba98",

+        "type": "call",

+        "name": "call sdwan-get-wan-param",

+        "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-get-wan-param' mode='sync' >\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 1664.660732269287,

+        "y": 523.8709006602876,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            []

+        ]

+    },

+    {

+        "id": "be34f62e.f9bdf8",

+        "type": "switchNode",

+        "name": "switch vf-modules.vf-module_length",

+        "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 463.03125,

+        "y": 1964.53125,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "52c232df.5401dc"

+            ]

+        ]

+    },

+    {

+        "id": "52c232df.5401dc",

+        "type": "other",

+        "name": "other",

+        "xml": "<outcome value='Other'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 699.031268119812,

+        "y": 2037.5312375728972,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "cadc484c.8b1958"

+            ]

+        ]

+    },

+    {

+        "id": "cadc484c.8b1958",

+        "type": "block",

+        "name": "block",

+        "xml": "<block>\n",

+        "atomic": "false",

+        "comments": "",

+        "outputs": 1,

+        "x": 843.3883123397827,

+        "y": 2037.4677495663054,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "4c365aae.126754",

+                "d7b1d5a0.b2f338",

+                "cd28ccaa.a0cb3"

+            ]

+        ]

+    },

+    {

+        "id": "cd28ccaa.a0cb3",

+        "type": "set",

+        "name": "set prop.site.deviceId_length",

+        "xml": "<set>\n<parameter name='prop.site.deviceId_length' value='0' />\n",

+        "comments": "",

+        "x": 1065.515284538269,

+        "y": 1988.3089876174927,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "d7b1d5a0.b2f338",

+        "type": "set",

+        "name": "set vf-module-length",

+        "xml": "<set>\n<parameter name='vf-module-length' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />\n\n\n",

+        "comments": "",

+        "x": 1039.086916923523,

+        "y": 2024.0868644714355,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "4c365aae.126754",

+        "type": "for",

+        "name": "for each existing vf-index",

+        "xml": "<for index='idx' start='0' end='`$vf-module-length`' >\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 1052.5152921676636,

+        "y": 2060.308978051413,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "d0642297.f75c7"

+            ]

+        ]

+    },

+    {

+        "id": "d0642297.f75c7",

+        "type": "block",

+        "name": "block : atomic",

+        "xml": "<block atomic=\"true\">",

+        "atomic": "true",

+        "outputs": 1,

+        "x": 1354.0153493881226,

+        "y": 2031.3090119655244,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "1f9b5508.732aeb"

+            ]

+        ]

+    },

+    {

+        "id": "1f9b5508.732aeb",

+        "type": "switchNode",

+        "name": "switch vf-module-id found",

+        "xml": "<switch test=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id == $vf-module-topology-operation-input.vf-module-information.vf-module-id`\">\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 1560.8011465072632,

+        "y": 2027.880497932434,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "199c63ad.ad4b1c"

+            ]

+        ]

+    },

+    {

+        "id": "199c63ad.ad4b1c",

+        "type": "outcomeTrue",

+        "name": "true",

+        "xml": "<outcome value='true'>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 1764.5153875350952,

+        "y": 2026.3090043361299,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "4cd80296.71966c"

+            ]

+        ]

+    },

+    {

+        "id": "4cd80296.71966c",

+        "type": "block",

+        "name": "block : atomic",

+        "xml": "<block atomic=\"true\">",

+        "atomic": "true",

+        "outputs": 1,

+        "x": 1934.8586835861206,

+        "y": 2030.3951397235505,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            [

+                "cab6ed40.1a967",

+                "30158b6d.c639f4",

+                "a23128b1.823648"

+            ]

+        ]

+    },

+    {

+        "id": "cab6ed40.1a967",

+        "type": "set",

+        "name": "set tmp.vidx and ctx.vnf-data",

+        "xml": "<set>\n<parameter name='tmp.vidx' value='`$idx`' />\n<parameter name='ctx.vf-module-data.' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.`' />\n",

+        "comments": "",

+        "x": 2185.745337486267,

+        "y": 2000.7375526428223,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "30158b6d.c639f4",

+        "type": "set",

+        "name": "set vf-module-request-input.",

+        "xml": "<set>\n<parameter name='vf-module-request-input.' value='`$ctx.vf-module-data.vf-module-request-input.`' />\n\n",

+        "comments": "",

+        "x": 2180.1916341781616,

+        "y": 2045.395192652475,

+        "z": "fe3a5d18.ca1b6",

+        "wires": []

+    },

+    {

+        "id": "a23128b1.823648",

+        "type": "call",

+        "name": "call sdwan-get-wan-param",

+        "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-get-wan-param' mode='sync' >\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 2171.488085746765,

+        "y": 2092.2347913081758,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            []

+        ]

+    },

+    {

+        "id": "b1b5a247.70dba",

+        "type": "record",

+        "name": "record",

+        "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/svclogic121.log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"tmp.wanPortVidx\"/>\n<parameter name=\"field3\" value='`$tmp.wanPortVidx`'/>\n<parameter name=\"field4\" value=\"wan port i/p param len\"/>\n<parameter name=\"field5\" value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.vf-module-request-input.vf-module-input-parameters.param_length`'/>\n",

+        "comments": "",

+        "outputs": 1,

+        "x": 1615.0313711166382,

+        "y": 378.03124713897705,

+        "z": "fe3a5d18.ca1b6",

+        "wires": [

+            []

+        ]

+    }

+]
\ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-bandwidth-policy-change.xml b/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-bandwidth-policy-change.xml
new file mode 100644
index 0000000..8653689
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-bandwidth-policy-change.xml
@@ -0,0 +1,318 @@
+<service-logic

+    xmlns='http://www.onap.org/sdnc/svclogic'

+    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>

+    <method rpc='sdwan-bandwidth-policy-change' mode='sync'>

+        <block atomic="true">

+            <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>

+            </switch>

+            <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >

+                <switch test="`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`">

+                    <outcome value='true'>

+                        <set>

+                            <parameter name='vnf-index' value='`$idx`' />

+                        </set>

+                    </outcome>

+                </switch>

+            </for>

+            <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>

+                <outcome value='0'>

+                    <return status='failure'>

+                        <parameter name='ack-final' value='Y'/>

+                        <parameter name="error-code" value="500" />

+                        <parameter name="error-message" value="vf-module-operation-input.vf-module-request-input.vf-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="vf-module-operation-input.vf-module-request-input.vf-id not found in service-data" />

+                    </return>

+                </outcome>

+                <outcome value='Other'>

+                    <set>

+                        <parameter name='vf-module-length' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />

+                    </set>

+                </outcome>

+            </switch>

+            <for index='idx' start='0' end='`$vf-module-length`' >

+                <block atomic="true">

+                    <switch test="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.request-information.request-action == 'ActivateSDWANPortInstance'`">

+                        <outcome value='true'>

+                            <block atomic="true">

+                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">

+                                    <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic121.log"/>

+                                    <parameter name="field1" value="__TIMESTAMP__"/>

+                                    <parameter name="field2" value="tmp.wanPortVidx"/>

+                                    <parameter name="field3" value='`$tmp.wanPortVidx`'/>

+                                    <parameter name="field4" value="wan port i/p param len"/>

+                                    <parameter name="field5" value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.vf-module-request-input.vf-module-input-parameters.param_length`'/>

+                                </record>

+                                <set>

+                                    <parameter name='tmp.wanPortVidx' value='`$idx`' />

+                                    <parameter name='ctx.vf-module-data.' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.`' />

+                                </set>

+                                <set>

+                                    <parameter name='vf-module-request-input.' value='`$ctx.vf-module-data.vf-module-request-input.`' />

+                                </set>

+                                <call module='GENERIC-RESOURCE-API' rpc='sdwan-get-wan-param' mode='sync' ></call>

+                            </block>

+                        </outcome>

+                    </switch>

+                </block>

+            </for>

+            <set>

+                <parameter name='prop.siteAttachements_length' value='0' />

+                <parameter name='prop.siteIds_length' value='0' />

+            </set>

+            <for index='vfidx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >

+                <block>

+                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">

+                        <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic111.log"/>

+                        <parameter name="field1" value="__TIMESTAMP__"/>

+                        <parameter name="field2" value="request-action"/>

+                        <parameter name="field3" value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].vf-module-data.request-information.request-action`'/>

+                    </record>

+                    <switch test="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].vf-module-data.request-information.request-action == 'ActivateSDWANDeviceInstance'`">

+                        <outcome value='true'>

+                            <block atomic="true">

+                                <for index="didx" start="0" end="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].vf-module-data.vf-module-request-input.vf-module-input-parameters.param_length`">

+                                    <block atomic="true">

+                                        <switch test="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].vf-module-data.vf-module-request-input.vf-module-input-parameters.param[$didx].name == 'name'`">

+                                            <outcome value='true'>

+                                                <block atomic="true">

+                                                    <switch test="`$prop.wan.deviceName == $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].vf-module-data.vf-module-request-input.vf-module-input-parameters.param[$didx].value`">

+                                                        <outcome value='true'>

+                                                            <block atomic="true">

+                                                                <for index="deviceidx" start="0" end="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].vf-module-data.vf-module-request-input.vf-module-input-parameters.param_length`">

+                                                                    <block atomic="true">

+                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">

+                                                                            <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic113.log"/>

+                                                                            <parameter name="field1" value="__TIMESTAMP__"/>

+                                                                            <parameter name="field2" value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].vf-module-data.vf-module-request-input.vf-module-input-parameters.param[$deviceidx].name`'/>

+                                                                            <parameter name="field3" value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].vf-module-data.vf-module-request-input.vf-module-input-parameters.param[$deviceidx].value`'/>

+                                                                        </record>

+                                                                        <switch test="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].vf-module-data.vf-module-request-input.vf-module-input-parameters.param[$deviceidx].name == 'deviceId'`">

+                                                                            <outcome value='true'>

+                                                                                <set>

+                                                                                    <parameter name='prop.wan.deviceId' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].vf-module-data.vf-module-request-input.vf-module-input-parameters.param[$deviceidx].value`' />

+                                                                                </set>

+                                                                            </outcome>

+                                                                        </switch>

+                                                                    </block>

+                                                                </for>

+                                                                <set>

+                                                                    <parameter name='tmp.devicevidx' value='`$vfidx`' />

+                                                                </set>

+                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">

+                                                                    <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic112.log"/>

+                                                                    <parameter name="field1" value="__TIMESTAMP__"/>

+                                                                    <parameter name="field2" value="tmp.devicevidx"/>

+                                                                    <parameter name="field3" value='`$tmp.devicevidx`'/>

+                                                                </record>

+                                                            </block>

+                                                        </outcome>

+                                                    </switch>

+                                                </block>

+                                            </outcome>

+                                        </switch>

+                                    </block>

+                                </for>

+                            </block>

+                        </outcome>

+                    </switch>

+                    <switch test="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].vf-module-data.request-information.request-action == 'ActivateSiteInstance'`">

+                        <outcome value='true'>

+                            <set>

+                                <parameter name='tmp.siteVidx' value='`$vfidx`' />

+                                <parameter name='ctx.site.' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vfidx].`' />

+                            </set>

+                        </outcome>

+                    </switch>

+                </block>

+            </for>

+            <switch test="`$tmp.wanPortVidx`">

+                <outcome value=''>

+                    <return status='failure'>

+                        <parameter name='ack-final' value='Y'/>

+                        <parameter name="error-code" value="500" />

+                        <parameter name="error-message" value="ActivateSDWANPortInstance not found in service-data" />

+                    </return>

+                </outcome>

+            </switch>

+            <switch test="`$tmp.siteVidx`">

+                <outcome value=''>

+                    <return status='failure'>

+                        <parameter name='ack-final' value='Y'/>

+                        <parameter name="error-code" value="500" />

+                        <parameter name="error-message" value="ActivateSiteInstance not found in service-data" />

+                    </return>

+                </outcome>

+            </switch>

+            <switch test="`$tmp.devicevidx`">

+                <outcome value=''>

+                    <return status='failure'>

+                        <parameter name='ack-final' value='Y'/>

+                        <parameter name="error-code" value="500" />

+                        <parameter name="error-message" value="ActivateSDWANDeviceInstance not found in service-data" />

+                    </return>

+                </outcome>

+            </switch>

+            <for index="sidx" start="0" end="`$ctx.site.vf-module-data.vf-module-request-input.vf-module-input-parameters.param_length`">

+                <block atomic="true">

+                    <switch test="`$ctx.site.vf-module-data.vf-module-request-input.vf-module-input-parameters.param[$sidx].name == 'siteId'`">

+                        <outcome value='true'>

+                            <set>

+                                <parameter name='prop.wan.siteId' value='`$ctx.site.vf-module-data.vf-module-request-input.vf-module-input-parameters.param[$sidx].value`' />

+                            </set>

+                        </outcome>

+                    </switch>

+                </block>

+            </for>

+            <set>

+                <parameter name='prop.tenant-id' value='d9511b64-61ae-446e-96a1-6adbff09582c' />

+            </set>

+            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >

+                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/actokentemplate.json'`" />

+                <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v2/baseservice/tenants/authorization/' + $prop.tenant-id`" />

+                <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />

+                <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />

+                <parameter name="format" value="json"/>

+                <parameter name="httpMethod" value="put"/>

+                <parameter name="responsePrefix" value="tenant-result"/>

+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>

+                <parameter name="trustStorePassword" value="adminadmin"/>

+                <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>

+                <parameter name="keyStorePassword" value="adminadmin"/>

+                <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />

+            </execute>

+            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >

+                <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/network-orchestration-resources'`" />

+                <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />

+                <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />

+                <parameter name="format" value="json"/>

+                <parameter name="httpMethod" value="get"/>

+                <parameter name="responsePrefix" value="transportNetworksResp"/>

+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>

+                <parameter name="trustStorePassword" value="adminadmin"/>

+                <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>

+                <parameter name="keyStorePassword" value="adminadmin"/>

+                <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />

+                <outcome value='failure'>

+                    <return status='failure'>

+                        <parameter name='ack-final' value='Y'/>

+                        <parameter name="error-code" value="500" />

+                        <parameter name="error-message" value="Error executing Get transport network info rest api" />

+                    </return>

+                </outcome>

+                <outcome value='success'>

+                    <block atomic="true"></block>

+                </outcome>

+            </execute>

+            <for index="tidx" start="0" end="`$transportNetworksResp.data.transportNetworks_length`">

+                <block>

+                    <switch test="`$transportNetworksResp.data.transportNetworks[$tidx].name == $prop.wan.transportNetworkName`">

+                        <outcome value='true'>

+                            <set>

+                                <parameter name='prop.wan.transportNetworkId' value='`$transportNetworksResp.data.transportNetworks[$tidx].id`' />

+                            </set>

+                        </outcome>

+                    </switch>

+                </block>

+            </for>

+            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >

+                <parameter name="original_string" value='`$prop.wan.ipAddress`'/>

+                <parameter name="regex" value="/"/>

+                <parameter name="ctx_memory_result_key" value="ipandMask"/>

+                <outcome value='success'>

+                    <set>

+                        <parameter name='prop.wan.ip-address' value='`$ipandMask[0]`' />

+                        <parameter name='prop.wan.prefixLength' value='`$ipandMask[1]`' />

+                    </set>

+                </outcome>

+                <outcome value='failure'>

+                    <return status='failure'>

+                        <parameter name='error-code' value='' />

+                        <parameter name='error-message' value="An error occured while splitting sna1_route" />

+                    </return>

+                </outcome>

+            </execute>

+            <for index="bwidx" start="0" end="`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`">

+                <block atomic="true">

+                    <switch test="`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$bwidx].name == 'bandwidth'`">

+                        <outcome value='true'>

+                            <set>

+                                <parameter name='prop.wan.inputBandwidth' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$bwidx].value`' />

+                                <parameter name='prop.wan.outputBandwidth' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$bwidx].value`' />

+                            </set>

+                        </outcome>

+                    </switch>

+                    <switch test="`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$bwidx].name == 'bandwidth-change-time'`">

+                        <outcome value='true'>

+                            <set>

+                                <parameter name='prop.wan.bandwidth-change-time' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$bwidx].value`' />

+                            </set>

+                        </outcome>

+                    </switch>

+                </block>

+            </for>

+            <switch test="`$prop.wanPortUpdate`">

+                <outcome value=''>

+                    <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >

+                        <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-wan-port.json'`" />

+                        <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/transport-network-ports'`" />

+                        <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />

+                        <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />

+                        <parameter name="format" value="json"/>

+                        <parameter name="httpMethod" value="put"/>

+                        <parameter name="responsePrefix" value="wanPortResp"/>

+                        <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>

+                        <parameter name="trustStorePassword" value="adminadmin"/>

+                        <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>

+                        <parameter name="keyStorePassword" value="adminadmin"/>

+                        <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />

+                        <outcome value='failure'>

+                            <block atomic="true"></block>

+                        </outcome>

+                        <outcome value='success'>

+                            <block atomic="true"></block>

+                        </outcome>

+                    </execute>

+                </outcome>

+            </switch>

+            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >

+                <parameter name="ctx-destination" value="prop.bandwidth.bandwidth-policyId"/>

+            </execute>

+            <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='bandwidth-history' 

+      key='sdwan-bandwidth-policy-id = $prop.bandwidth.bandwidth-policyId' >

+                <parameter name="sdwan-bandwidth-policy-id" value="`$prop.bandwidth.bandwidth-policyId`" />

+                <parameter name="sdwan-bandwidth-policy-name" value="`$prop.bandwidth.bandwidth-policyId`" />

+                <parameter name="bandwidth-value" value="`$prop.wan.inputBandwidth`" />

+                <parameter name="bandwidth-change-time" value="`$prop.wan.bandwidth-change-time`" />

+                <parameter name="vpn-id" value="`$prop.bandwidth.vpnId`" />

+                <!--parameter name='model-customization-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' /><parameter name='model-invariant-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' /><parameter name='model-version-id' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' /-->

+                <outcome value='success'>

+                    <block atomic="true"></block>

+                </outcome>

+                <outcome value='failure'>

+                    <return status='failure'>

+                        <parameter name='error-code' value='' />

+                        <parameter name='error-message' value="Falied to add AAI bandwidth history record" />

+                    </return>

+                </outcome>

+            </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