SDWAN VPN DG addition
authorgaurav <gaurav.agrawal@huawei.com>
Fri, 10 Aug 2018 10:54:06 +0000 (16:24 +0530)
committergaurav <gaurav.agrawal@huawei.com>
Fri, 10 Aug 2018 10:54:06 +0000 (16:24 +0530)
Updates include:
- Addition of sdwan connectivity resource DG
- Hooking the same to main DG

Change-Id: Icb629089ec3f5a4983eabe3168523b24e2afd275
Issue-ID: SDNC-357
Signed-off-by: Gaurav Agrawal <gaurav.agrawal@huawei.com>
15 files changed:
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_network-topology-operation.json
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-network-topology-operation-activate.json [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-network-topology-operation-create.json [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-network-topology-operation-deactivate.json [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-network-topology-operation-delete.json [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-network-input.json
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-sdwan-network-input-parameters.json [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/resources/graph.versions
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation.xml
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-network-topology-operation-activate.xml [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-network-topology-operation-create.xml [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-network-topology-operation-deactivate.xml [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-network-topology-operation-delete.xml [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-network-input.xml
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-sdwan-network-input-parameters.xml [new file with mode: 0644]

index 25978d1..76d920b 100644 (file)
@@ -1,20 +1,20 @@
 [
   {
-    "id": "d276ec27.0866",
+    "id": "79f282c8.82473c",
     "type": "dgstart",
     "name": "DGSTART",
     "outputs": 1,
-    "x": 136.1214714050293,
-    "y": 82.77775192260742,
-    "z": "769245e0.4dbeec",
+    "x": 126.01040649414062,
+    "y": 74.77774620056152,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "66987af3.af1924"
+        "aa8fb88e.70ce88"
       ]
     ]
   },
   {
-    "id": "66987af3.af1924",
+    "id": "aa8fb88e.70ce88",
     "type": "service-logic",
     "name": "GENERIC-RESOURCE-API ${project.version}",
     "module": "GENERIC-RESOURCE-API",
     "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": 218.07383346557617,
-    "y": 123.01586437225342,
-    "z": "769245e0.4dbeec",
+    "x": 207.9627685546875,
+    "y": 115.01585865020752,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "f1b0134c.c5b0a"
+        "6e24967e.ad6008"
       ]
     ]
   },
   {
-    "id": "f1b0134c.c5b0a",
+    "id": "6e24967e.ad6008",
     "type": "method",
     "name": "network-topology-operation",
     "xml": "<method rpc='network-topology-operation' mode='sync'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 197.55010604858398,
-    "y": 173.77775764465332,
-    "z": "769245e0.4dbeec",
+    "x": 187.4390411376953,
+    "y": 165.77775192260742,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "c003577e.c54298"
+        "7a35625.e24119c"
       ]
     ]
   },
   {
-    "id": "7056cdf4.c4bad4",
+    "id": "a789a649.5a0d58",
     "type": "comment",
     "name": " NETWORK-TOPOLOGY-OPERATION ",
     "info": "",
     "comments": "",
-    "x": 530.4663276672363,
-    "y": 30.36409568786621,
-    "z": "769245e0.4dbeec",
-    "wires": [
-      
-    ]
+    "x": 520.3552627563477,
+    "y": 22.364089965820312,
+    "z": "9aad28bb.de6b08",
+    "wires": []
   },
   {
-    "id": "c003577e.c54298",
+    "id": "7a35625.e24119c",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "outputs": 1,
-    "x": 250.12150192260742,
-    "y": 246.22123527526855,
-    "z": "769245e0.4dbeec",
+    "x": 240.01043701171875,
+    "y": 238.22122955322266,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "652c71cd.5bf74",
-        "dda0c26b.24c19",
-        "f618f19d.3c0f3",
-        "df1e6363.a8583"
+        "ba0d38ae.e81c58",
+        "457583d9.562e0c",
+        "cba36fc0.072d2",
+        "d3235e19.d8ecb"
       ]
     ]
   },
   {
-    "id": "652c71cd.5bf74",
+    "id": "ba0d38ae.e81c58",
     "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": 454.2048759460449,
-    "y": 1272.3138885498047,
-    "z": "769245e0.4dbeec",
-    "wires": [
-      
-    ]
+    "x": 444.09381103515625,
+    "y": 1264.3138828277588,
+    "z": "9aad28bb.de6b08",
+    "wires": []
   },
   {
-    "id": "dda0c26b.24c19",
+    "id": "457583d9.562e0c",
     "type": "switchNode",
     "name": "switch svc-action",
     "xml": "<switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 476.8357353210449,
-    "y": 476.6349296569824,
-    "z": "769245e0.4dbeec",
+    "x": 466.72467041015625,
+    "y": 468.6349239349365,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "a977edb.79e281",
-        "8c392a7f.92a2a8",
-        "3ca5b98a.51cfb6",
-        "3092b4a7.3417bc",
-        "c46511e9.7ee6f",
-        "c11431a0.2a357",
-        "4adddee6.536c1",
-        "a471ef3a.82ee1"
+        "dc5ac960.8b0118",
+        "c0a124c2.b074a8",
+        "615f84cf.02d10c",
+        "5464b8d8.4a3498",
+        "fb6e7e31.10ac3",
+        "a87a521d.9540c",
+        "31fb5db9.aec912",
+        "24acb0b8.15f98"
       ]
     ]
   },
   {
-    "id": "a977edb.79e281",
+    "id": "dc5ac960.8b0118",
     "type": "other",
     "name": "assign",
     "xml": "<outcome value='assign'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 691.3119735717773,
-    "y": 248.9206085205078,
-    "z": "769245e0.4dbeec",
+    "x": 681.2009086608887,
+    "y": 240.9206027984619,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "2d6049f7.1b6df6"
+        "875082ec.7b232"
       ]
     ]
   },
   {
-    "id": "2d6049f7.1b6df6",
+    "id": "875082ec.7b232",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "outputs": 1,
-    "x": 863.5501441955566,
-    "y": 246.92073726654053,
-    "z": "769245e0.4dbeec",
+    "x": 853.439079284668,
+    "y": 238.92073154449463,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "9557e9f.7417f18"
+        "580a77ff.6cd088"
       ]
     ]
   },
   {
-    "id": "f618f19d.3c0f3",
+    "id": "cba36fc0.072d2",
     "type": "call",
     "name": "call GENERIC-RESOURCE-API:validate-network-input",
     "xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-network-input' mode='sync' >\n",
     "comments": "",
     "outputs": 1,
-    "x": 587.1214599609375,
-    "y": 186.77775883674622,
-    "z": "769245e0.4dbeec",
+    "x": 577.0103950500488,
+    "y": 178.77775311470032,
+    "z": "9aad28bb.de6b08",
     "wires": [
-      [
-        
-      ]
+      []
     ]
   },
   {
-    "id": "8c392a7f.92a2a8",
+    "id": "c0a124c2.b074a8",
     "type": "other",
     "name": "activate",
     "xml": "<outcome value='activate'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 694.1215133666992,
-    "y": 338.7777462005615,
-    "z": "769245e0.4dbeec",
+    "x": 684.0104484558105,
+    "y": 330.7777404785156,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "6976ed5b.280d44"
+        "e703e8d7.7187b8"
       ]
     ]
   },
   {
-    "id": "a8c8cbe2.91bf68",
+    "id": "5517cc3b.5b0904",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "outputs": 1,
-    "x": 1070.359764099121,
-    "y": 415.77792835235596,
-    "z": "769245e0.4dbeec",
+    "x": 1060.2486991882324,
+    "y": 407.77792263031006,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "90460675.cf5568",
-        "ec32e473.a43f78",
-        "e36653ec.961d4"
+        "9c0b8d26.ccc64",
+        "7ee91c34.4e4f44",
+        "10521c9e.098fa3"
       ]
     ]
   },
   {
-    "id": "994ac0b1.0c869",
+    "id": "4ebef597.bf543c",
     "type": "call",
     "name": "call GENERIC-RESOURCE-API:network-topology-operation-activate",
     "xml": "<call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-activate' mode='sync' >\n",
     "comments": "",
     "outputs": 1,
-    "x": 2335.1813583374023,
-    "y": 865.3849945068359,
-    "z": "769245e0.4dbeec",
+    "x": 2331.0703353881836,
+    "y": 919.38498878479,
+    "z": "9aad28bb.de6b08",
     "wires": [
-      [
-        
-      ]
+      []
     ]
   },
   {
-    "id": "3ca5b98a.51cfb6",
+    "id": "615f84cf.02d10c",
     "type": "other",
     "name": "deactivate",
     "xml": "<outcome value='deactivate'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 688.1215057373047,
-    "y": 570.7777442932129,
-    "z": "769245e0.4dbeec",
+    "x": 678.010440826416,
+    "y": 562.777738571167,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "48d75ce9.275f44"
+        "c572c289.cadd5"
       ]
     ]
   },
   {
-    "id": "6b404d95.49ee94",
+    "id": "1e922072.6c693",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "outputs": 1,
-    "x": 1084.3596878051758,
-    "y": 703.7780342102051,
-    "z": "769245e0.4dbeec",
+    "x": 1080.248664855957,
+    "y": 757.7780284881592,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "90460675.cf5568",
-        "2838a9bc.3fa006",
-        "e36653ec.961d4"
+        "9c0b8d26.ccc64",
+        "8aea2ef9.6eafd",
+        "10521c9e.098fa3"
       ]
     ]
   },
   {
-    "id": "2838a9bc.3fa006",
+    "id": "8aea2ef9.6eafd",
     "type": "call",
     "name": "call GENERIC-RESOURCE-API:network-topology-operation-deactivate",
     "xml": "<call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-deactivate' mode='sync' >\n",
     "comments": "",
     "outputs": 1,
-    "x": 1663.3479614257812,
-    "y": 953.6350421905518,
-    "z": "769245e0.4dbeec",
+    "x": 1659.2369384765625,
+    "y": 1007.6350364685059,
+    "z": "9aad28bb.de6b08",
     "wires": [
-      [
-        
-      ]
+      []
     ]
   },
   {
-    "id": "3092b4a7.3417bc",
+    "id": "5464b8d8.4a3498",
     "type": "other",
     "name": "unassign",
     "xml": "<outcome value='unassign'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 679.1214828491211,
-    "y": 760.7777938842773,
-    "z": "769245e0.4dbeec",
+    "x": 675.0104598999023,
+    "y": 814.7777881622314,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "2cde702d.cb5cf"
+        "a28f55cf.2766d8"
       ]
     ]
   },
   {
-    "id": "2cde702d.cb5cf",
+    "id": "a28f55cf.2766d8",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "outputs": 1,
-    "x": 860.3596420288086,
-    "y": 761.7779159545898,
-    "z": "769245e0.4dbeec",
+    "x": 856.2486190795898,
+    "y": 815.777910232544,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "90460675.cf5568",
-        "cba3cf9d.18a25",
-        "e36653ec.961d4"
+        "9c0b8d26.ccc64",
+        "f8a88ed3.13cf",
+        "10521c9e.098fa3"
       ]
     ]
   },
   {
-    "id": "f781dfc6.aa561",
+    "id": "3a9ebc21.5bb5a4",
     "type": "call",
     "name": "call GENERIC-RESOURCE-API:network-topology-operation-unassign",
     "xml": "<call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-unassign' mode='sync' >\n",
     "comments": "",
     "outputs": 1,
-    "x": 2330.931221008301,
-    "y": 1058.8849639892578,
-    "z": "769245e0.4dbeec",
+    "x": 2326.820198059082,
+    "y": 1112.884958267212,
+    "z": "9aad28bb.de6b08",
     "wires": [
-      [
-        
-      ]
+      []
     ]
   },
   {
-    "id": "c46511e9.7ee6f",
+    "id": "fb6e7e31.10ac3",
     "type": "other",
     "name": "other",
     "xml": "<outcome value='Other'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 663.1214828491211,
-    "y": 1015.7777905464172,
-    "z": "769245e0.4dbeec",
+    "x": 659.0104598999023,
+    "y": 1069.7777848243713,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "31c67734.03c588"
+        "ddd743b8.7f7fe"
       ]
     ]
   },
   {
-    "id": "31c67734.03c588",
+    "id": "ddd743b8.7f7fe",
     "type": "returnFailure",
     "name": "return failure",
     "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"sdnc-request-header.svc-action is a required input\" />\n",
     "comments": "",
-    "x": 845.1214790344238,
-    "y": 1014.7778000831604,
-    "z": "769245e0.4dbeec",
-    "wires": [
-      
-    ]
+    "x": 841.0104560852051,
+    "y": 1068.7777943611145,
+    "z": "9aad28bb.de6b08",
+    "wires": []
   },
   {
-    "id": "df1e6363.a8583",
+    "id": "d3235e19.d8ecb",
     "type": "set",
     "name": "Set final indicator to Y",
     "xml": "<set>\n<parameter name=\"ack-final\" value=\"Y\"/>",
     "comments": "",
-    "x": 473.23257064819336,
-    "y": 1231.4722270965576,
-    "z": "769245e0.4dbeec",
-    "wires": [
-      
-    ]
+    "x": 463.1215057373047,
+    "y": 1223.4722213745117,
+    "z": "9aad28bb.de6b08",
+    "wires": []
   },
   {
-    "id": "d669adab.d2ab4",
+    "id": "58c301a.4cd9b",
     "type": "for",
     "name": "for nidx..service-data.networks.network[]",
     "xml": "<for index='nidx' start='0' end='`$service-data.networks.network_length`' >\n",
     "comments": "",
     "outputs": 1,
-    "x": 2205.8519287109375,
-    "y": 465.5397033691406,
-    "z": "769245e0.4dbeec",
+    "x": 2195.740863800049,
+    "y": 457.5396976470947,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "b88a3bc.7eab6c8"
+        "ae92c30c.ac766"
       ]
     ]
   },
   {
-    "id": "90460675.cf5568",
+    "id": "9c0b8d26.ccc64",
     "type": "switchNode",
     "name": "switch service-data.networks.network_length",
     "xml": "<switch test='`$service-data.networks.network_length`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 1483.3160858154297,
-    "y": 433.8610954284668,
-    "z": "769245e0.4dbeec",
+    "x": 1473.205020904541,
+    "y": 425.8610897064209,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "b10bb014.abf41",
-        "d3656963.b69488"
+        "88ad5c25.78bab",
+        "eb688204.84b63"
       ]
     ]
   },
   {
-    "id": "b10bb014.abf41",
+    "id": "88ad5c25.78bab",
     "type": "other",
     "name": "outcome Null",
     "xml": "<outcome value=''>\n",
     "comments": "",
     "outputs": 1,
-    "x": 1782.5659637451172,
-    "y": 432.11109352111816,
-    "z": "769245e0.4dbeec",
+    "x": 1772.4548988342285,
+    "y": 424.11108779907227,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "128445f6.2b925a"
+        "5cd57caa.022474"
       ]
     ]
   },
   {
-    "id": "d3656963.b69488",
+    "id": "eb688204.84b63",
     "type": "other",
     "name": "other",
     "xml": "<outcome value='Other'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 1736.5659942626953,
-    "y": 465.1111145019531,
-    "z": "769245e0.4dbeec",
+    "x": 1726.4549293518066,
+    "y": 457.1111087799072,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "69ca6be2.c47e44"
+        "a9c84ebc.a8703"
       ]
     ]
   },
   {
-    "id": "b88a3bc.7eab6c8",
+    "id": "ae92c30c.ac766",
     "type": "switchNode",
     "name": "switch networkid found",
     "xml": "<switch test=\"`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`\">\n\n",
     "comments": "",
     "outputs": 1,
-    "x": 2496.2804794311523,
-    "y": 464.78978729248047,
-    "z": "769245e0.4dbeec",
+    "x": 2486.1694145202637,
+    "y": 456.78978157043457,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "2fa14bee.cef564"
+        "3c861008.97d8d"
       ]
     ]
   },
   {
-    "id": "2fa14bee.cef564",
+    "id": "3c861008.97d8d",
     "type": "outcomeTrue",
     "name": "true",
     "xml": "<outcome value='true'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 2685.2328338623047,
-    "y": 465.6825256347656,
-    "z": "769245e0.4dbeec",
+    "x": 2675.121768951416,
+    "y": 457.6825199127197,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "6f9efa6c.844604"
+        "276ddcff.2cc734"
       ]
     ]
   },
   {
-    "id": "6f9efa6c.844604",
+    "id": "276ddcff.2cc734",
     "type": "set",
     "name": "set tmp.nidx and network-data",
     "xml": "<set>\n<parameter name='tmp.nidx' value='`$nidx`' />\n<parameter name='network-data.' value='`$service-data.networks.network[$nidx].`' />\n",
     "comments": "",
-    "x": 2918.764602661133,
-    "y": 464.43253326416016,
-    "z": "769245e0.4dbeec",
-    "wires": [
-      
-    ]
+    "x": 2908.653537750244,
+    "y": 456.43252754211426,
+    "z": "9aad28bb.de6b08",
+    "wires": []
   },
   {
-    "id": "12e0a69e.bd3e39",
+    "id": "b1fb15f0.efbb18",
     "type": "comment",
     "name": "Find the index to service data for this network - save id in tmp.nidx, save service-data",
     "info": "",
     "comments": "",
-    "x": 1662.6771087646484,
-    "y": 399.1111068725586,
-    "z": "769245e0.4dbeec",
-    "wires": [
-      
-    ]
+    "x": 1652.5660438537598,
+    "y": 391.1111011505127,
+    "z": "9aad28bb.de6b08",
+    "wires": []
   },
   {
-    "id": "1eb25cf9.844f63",
+    "id": "5cfdd79e.62ec78",
     "type": "comment",
     "name": "service-data  will not be stored until we have a network-id",
     "info": "",
     "comments": "",
-    "x": 1201.7882652282715,
-    "y": 28.0000057220459,
-    "z": "769245e0.4dbeec",
-    "wires": [
-      
-    ]
+    "x": 1191.6772003173828,
+    "y": 20,
+    "z": "9aad28bb.de6b08",
+    "wires": []
   },
   {
-    "id": "128445f6.2b925a",
+    "id": "5cd57caa.022474",
     "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=\"network-topology-operation-input.network-request-input.network-id not found in service-data\" />\n",
     "comments": "",
-    "x": 1974.343521118164,
-    "y": 430.0000915527344,
-    "z": "769245e0.4dbeec",
-    "wires": [
-      
-    ]
+    "x": 1964.2324562072754,
+    "y": 422.0000858306885,
+    "z": "9aad28bb.de6b08",
+    "wires": []
   },
   {
-    "id": "69ca6be2.c47e44",
+    "id": "a9c84ebc.a8703",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "outputs": 1,
-    "x": 1903.8359603881836,
-    "y": 464.6656913757324,
-    "z": "769245e0.4dbeec",
+    "x": 1893.724895477295,
+    "y": 456.6656856536865,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "d669adab.d2ab4",
-        "afac9ad.985bc68"
+        "58c301a.4cd9b",
+        "a3b536b8.c2db88"
       ]
     ]
   },
   {
-    "id": "afac9ad.985bc68",
+    "id": "a3b536b8.c2db88",
     "type": "switchNode",
     "name": "switch tmp.nidx ",
     "xml": "<switch test=\"`$tmp.nidx`\">\n\n",
     "comments": "",
     "outputs": 1,
-    "x": 2132.9034729003906,
-    "y": 515.0229024887085,
-    "z": "769245e0.4dbeec",
+    "x": 2122.792407989502,
+    "y": 507.0228967666626,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "c23bd54c.511518",
-        "81ca2a3e.0d6c18"
+        "71b6d5f6.52251c",
+        "76280ac2.a29dc4"
       ]
     ]
   },
   {
-    "id": "12f6b523.cb143b",
+    "id": "18569546.2d3f0b",
     "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=\"network-topology-operation-input.network-request-input.network-id not found in service-data\" />\n",
     "comments": "",
-    "x": 2485.760456085205,
-    "y": 510.73714447021484,
-    "z": "769245e0.4dbeec",
-    "wires": [
-      
-    ]
+    "x": 2475.6493911743164,
+    "y": 502.73713874816895,
+    "z": "9aad28bb.de6b08",
+    "wires": []
   },
   {
-    "id": "c23bd54c.511518",
+    "id": "71b6d5f6.52251c",
     "type": "outcome",
     "name": "NULL",
     "xml": "<outcome value=''>\n",
     "comments": "",
     "outputs": 1,
-    "x": 2304.3320083618164,
-    "y": 513.5942878723145,
-    "z": "769245e0.4dbeec",
+    "x": 2294.2209434509277,
+    "y": 505.59428215026855,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "12f6b523.cb143b"
+        "18569546.2d3f0b"
       ]
     ]
   },
   {
-    "id": "ec32e473.a43f78",
+    "id": "7ee91c34.4e4f44",
     "type": "switchNode",
     "name": "switch network-level-oper-status",
     "xml": "<switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 1548.1495895385742,
-    "y": 865.3363952636719,
-    "z": "769245e0.4dbeec",
+    "x": 1544.0385665893555,
+    "y": 919.336389541626,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "462bf0db.4f771",
-        "a326444a.4d9638"
+        "9b070cdb.c3554",
+        "e0410e72.9776b"
       ]
     ]
   },
   {
-    "id": "462bf0db.4f771",
+    "id": "9b070cdb.c3554",
     "type": "outcome",
     "name": "outcome PendingCreate",
     "xml": "<outcome value='PendingCreate'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 1913.1495691935215,
-    "y": 865.3363800048828,
-    "z": "769245e0.4dbeec",
+    "x": 1909.0385462443028,
+    "y": 919.3363742828369,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "994ac0b1.0c869"
+        "4ebef597.bf543c"
       ]
     ]
   },
   {
-    "id": "a326444a.4d9638",
+    "id": "e0410e72.9776b",
     "type": "other",
     "name": "other",
     "xml": "<outcome value='Other'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 1863.149616241455,
-    "y": 905.3364105224609,
-    "z": "769245e0.4dbeec",
+    "x": 1859.0385932922363,
+    "y": 959.336404800415,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "406691ae.b1b3d"
+        "3fd77df7.1089b2"
       ]
     ]
   },
   {
-    "id": "406691ae.b1b3d",
+    "id": "3fd77df7.1089b2",
     "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=\"`'Network is not in appropriate state for activate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`\" />",
     "comments": "",
-    "x": 2033.149616241455,
-    "y": 905.3364105224609,
-    "z": "769245e0.4dbeec",
-    "wires": [
-      
-    ]
+    "x": 2029.0385932922363,
+    "y": 959.336404800415,
+    "z": "9aad28bb.de6b08",
+    "wires": []
   },
   {
-    "id": "cba3cf9d.18a25",
+    "id": "f8a88ed3.13cf",
     "type": "switchNode",
     "name": "switch network-level-oper-status",
     "xml": "<switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 1537.7526016235352,
-    "y": 1060.4891662597656,
-    "z": "769245e0.4dbeec",
+    "x": 1533.6415786743164,
+    "y": 1114.4891605377197,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "f04c0e43.ba592",
-        "94dee4e8.caed68",
-        "2a14e849.1c8f28"
+        "bc4211ff.d463a",
+        "affa5015.d4e59",
+        "f59d3b2d.cd5398"
       ]
     ]
   },
   {
-    "id": "f04c0e43.ba592",
+    "id": "bc4211ff.d463a",
     "type": "outcome",
     "name": "outcome PendingCreate",
     "xml": "<outcome value='PendingCreate'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 1897.752571105957,
-    "y": 1060.4891967773438,
-    "z": "769245e0.4dbeec",
+    "x": 1893.6415481567383,
+    "y": 1114.4891910552979,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "f781dfc6.aa561"
+        "3a9ebc21.5bb5a4"
       ]
     ]
   },
   {
-    "id": "94dee4e8.caed68",
+    "id": "affa5015.d4e59",
     "type": "other",
     "name": "other",
     "xml": "<outcome value='Other'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 1853.5024948120117,
-    "y": 1131.9892597198486,
-    "z": "769245e0.4dbeec",
+    "x": 1849.391471862793,
+    "y": 1185.9892539978027,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "5a43e0d8.b0755"
+        "3f9880a9.7295a"
       ]
     ]
   },
   {
-    "id": "5a43e0d8.b0755",
+    "id": "3f9880a9.7295a",
     "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=\"`'Network is not in appropriate state for unassign. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`\" />",
     "comments": "",
-    "x": 2044.8359146118164,
-    "y": 1130.655888557434,
-    "z": "769245e0.4dbeec",
-    "wires": [
-      
-    ]
+    "x": 2040.7248916625977,
+    "y": 1184.6558828353882,
+    "z": "9aad28bb.de6b08",
+    "wires": []
   },
   {
-    "id": "2a14e849.1c8f28",
+    "id": "f59d3b2d.cd5398",
     "type": "outcome",
     "name": "outcome PendingDelete",
     "xml": "<outcome value='PendingDelete'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 1900.982795715332,
-    "y": 1098.3363647460938,
-    "z": "769245e0.4dbeec",
+    "x": 1896.8717727661133,
+    "y": 1152.3363590240479,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "f781dfc6.aa561"
+        "3a9ebc21.5bb5a4"
       ]
     ]
   },
   {
-    "id": "c11431a0.2a357",
+    "id": "a87a521d.9540c",
     "type": "other",
     "name": "changeassign",
     "xml": "<outcome value='changeassign'>",
     "comments": "",
     "outputs": 1,
-    "x": 696.1215438842773,
-    "y": 473.77777671813965,
-    "z": "769245e0.4dbeec",
+    "x": 686.0104789733887,
+    "y": 465.77777099609375,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "2cd7c2c4.b0ed0e"
+        "4c2bd72a.1c31e8"
       ]
     ]
   },
   {
-    "id": "2cd7c2c4.b0ed0e",
+    "id": "4c2bd72a.1c31e8",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "outputs": 1,
-    "x": 1068.371482849121,
-    "y": 470.7777681350708,
-    "z": "769245e0.4dbeec",
+    "x": 1058.2604179382324,
+    "y": 462.7777624130249,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "90460675.cf5568",
-        "f390e91b.d09948"
+        "9c0b8d26.ccc64",
+        "8a2b1a64.939138"
       ]
     ]
   },
   {
-    "id": "8700a609.f92848",
+    "id": "a28b0e04.6b316",
     "type": "call",
     "name": "call GENERIC-RESOURCE-API:network-topology-operation-assign",
     "xml": "<call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-assign' mode='sync' >\n",
     "comments": "",
     "outputs": 1,
-    "x": 1837.1216659545898,
-    "y": 168.77776908874512,
-    "z": "769245e0.4dbeec",
+    "x": 1827.0106010437012,
+    "y": 160.77776336669922,
+    "z": "9aad28bb.de6b08",
     "wires": [
-      [
-        
-      ]
+      []
     ]
   },
   {
-    "id": "9557e9f.7417f18",
+    "id": "580a77ff.6cd088",
     "type": "switchNode",
     "name": "switch network-level-oper-status",
     "xml": "<switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 1133.0897216796875,
-    "y": 106.72916030883789,
-    "z": "769245e0.4dbeec",
+    "x": 1122.9786567687988,
+    "y": 98.72915458679199,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "3a93c4b5.f2ff8c",
-        "2f3e0c06.82ec24",
-        "eef104f8.713bf8",
-        "760fa471.65ceac"
+        "bfcbec05.b41b2",
+        "ca2b9239.fc004",
+        "3e71fe57.a54f32",
+        "fd7d3d8b.626ba"
       ]
     ]
   },
   {
-    "id": "3a93c4b5.f2ff8c",
+    "id": "bfcbec05.b41b2",
     "type": "outcome",
     "name": "outcome PendingCreate",
     "xml": "<outcome value='PendingCreate'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 1519.0897674560547,
-    "y": 126.72914218902588,
-    "z": "769245e0.4dbeec",
+    "x": 1508.978702545166,
+    "y": 118.72913646697998,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "e929e5de.80f968"
+        "8e3a130b.a0405"
       ]
     ]
   },
   {
-    "id": "2f3e0c06.82ec24",
+    "id": "ca2b9239.fc004",
     "type": "other",
     "name": "other",
     "xml": "<outcome value='Other'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 1467.0897636413574,
-    "y": 168.72917366027832,
-    "z": "769245e0.4dbeec",
+    "x": 1456.9786987304688,
+    "y": 160.72916793823242,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "8700a609.f92848"
+        "a28b0e04.6b316"
       ]
     ]
   },
   {
-    "id": "e929e5de.80f968",
+    "id": "8e3a130b.a0405",
     "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=\"`'Network is not in appropriate state for assign. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`\" />",
     "comments": "",
-    "x": 1794.089988708496,
-    "y": 122.72919082641602,
-    "z": "769245e0.4dbeec",
-    "wires": [
-      
-    ]
+    "x": 1783.9789237976074,
+    "y": 114.72918510437012,
+    "z": "9aad28bb.de6b08",
+    "wires": []
   },
   {
-    "id": "760fa471.65ceac",
+    "id": "fd7d3d8b.626ba",
     "type": "outcome",
     "name": "outcome PendingDelete",
     "xml": "<outcome value='PendingDelete'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 1517.1215057373047,
-    "y": 91.77775764465332,
-    "z": "769245e0.4dbeec",
+    "x": 1507.010440826416,
+    "y": 83.77775192260742,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "e929e5de.80f968"
+        "8e3a130b.a0405"
       ]
     ]
   },
   {
-    "id": "eef104f8.713bf8",
+    "id": "3e71fe57.a54f32",
     "type": "outcome",
     "name": "outcome Created",
     "xml": "<outcome value='Created'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 1497.1215438842773,
-    "y": 56.77775955200195,
-    "z": "769245e0.4dbeec",
+    "x": 1487.0104789733887,
+    "y": 48.777753829956055,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "e929e5de.80f968"
+        "8e3a130b.a0405"
       ]
     ]
   },
   {
-    "id": "f390e91b.d09948",
+    "id": "8a2b1a64.939138",
     "type": "call",
     "name": "call GENERIC-RESOURCE-API:network-topology-operation-changeassign",
     "xml": "<call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-changeassign' mode='sync' >\n",
     "comments": "",
     "outputs": 1,
-    "x": 1640.3678359985352,
-    "y": 797.2738857269287,
-    "z": "769245e0.4dbeec",
+    "x": 1636.2568130493164,
+    "y": 851.2738800048828,
+    "z": "9aad28bb.de6b08",
     "wires": [
-      [
-        
-      ]
+      []
     ]
   },
   {
-    "id": "f47e682e.86e828",
+    "id": "aa217b3b.e03768",
     "type": "set",
     "name": "set object-path",
     "xml": "<set>\n<parameter name='network-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $network-topology-operation-input.service-information.service-instance-id\n + '/service-data/networks/network/'\n + $networkId\n + '/network-data/network-topology/'` \" />\n \n",
     "comments": "",
-    "x": 482.6224479675293,
-    "y": 1137.528720855713,
-    "z": "769245e0.4dbeec",
-    "wires": [
-      
-    ]
+    "x": 472.5113830566406,
+    "y": 1129.528715133667,
+    "z": "9aad28bb.de6b08",
+    "wires": []
   },
   {
-    "id": "93c706b1.771668",
+    "id": "5dd24184.f92cb",
     "type": "set",
     "name": "set networkId",
     "xml": "<set>\n<parameter name='networkId' value='`$network-topology-operation-input.network-information.network-id`' />\n",
     "comments": "",
-    "x": 476.9080810546875,
-    "y": 1100.3858289718628,
-    "z": "769245e0.4dbeec",
-    "wires": [
-      
-    ]
+    "x": 466.7970161437988,
+    "y": 1092.385823249817,
+    "z": "9aad28bb.de6b08",
+    "wires": []
   },
   {
-    "id": "8bebbe1e.84829",
+    "id": "c28329f4.0a0298",
     "type": "set",
     "name": "set network-level-oper-status",
     "xml": "<set>\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status' value='Created' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.last-rpc-action' value='`$network-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.last-action' value='`$network-topology-operation-input.request-information.request-action`' />\n",
     "comments": "",
-    "x": 524.9081420898438,
-    "y": 1182.957194328308,
-    "z": "769245e0.4dbeec",
-    "wires": [
-      
-    ]
+    "x": 514.7970771789551,
+    "y": 1174.9571886062622,
+    "z": "9aad28bb.de6b08",
+    "wires": []
   },
   {
-    "id": "e36653ec.961d4",
+    "id": "10521c9e.098fa3",
     "type": "switchNode",
     "name": "switch network-information.network-instance-group-id",
     "xml": "<switch test='`$network-topology-operation-input.network-information.network-instance-group-id`'>\n\n",
     "comments": "",
     "outputs": 1,
-    "x": 1552.5600776672363,
-    "y": 629.278772354126,
-    "z": "769245e0.4dbeec",
+    "x": 1548.4490547180176,
+    "y": 683.2787666320801,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "381493.7b57fb6e",
-        "860fc721.1f1a18"
+        "9cd01d18.8e54",
+        "b7c9f72f.a87b48"
       ]
     ]
   },
   {
-    "id": "381493.7b57fb6e",
+    "id": "9cd01d18.8e54",
     "type": "other",
     "name": "Other",
     "xml": "<outcome value='Other'>",
     "comments": "",
     "outputs": 1,
-    "x": 1839.309959411621,
-    "y": 667.4454393386841,
-    "z": "769245e0.4dbeec",
+    "x": 1835.1989364624023,
+    "y": 721.4454336166382,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "9fbd3013.47415"
+        "a5779725.1836a8"
       ]
     ]
   },
   {
-    "id": "860fc721.1f1a18",
+    "id": "b7c9f72f.a87b48",
     "type": "other",
     "name": "NULL",
     "xml": "<outcome value=''>",
     "comments": "",
     "outputs": 1,
-    "x": 1836.9768562316895,
-    "y": 634.4453134536743,
-    "z": "769245e0.4dbeec",
+    "x": 1832.8658332824707,
+    "y": 688.4453077316284,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "5af426b3.790798"
+        "92ce5cf3.bc142"
       ]
     ]
   },
   {
-    "id": "5af426b3.790798",
+    "id": "92ce5cf3.bc142",
     "type": "returnSuccess",
     "name": "return success",
     "xml": "<return status='success'>\n<parameter name='' value='' />\n",
     "comments": "",
-    "x": 1997.3100852966309,
-    "y": 631.4453706741333,
-    "z": "769245e0.4dbeec",
-    "wires": [
-      
-    ]
+    "x": 1993.199062347412,
+    "y": 685.4453649520874,
+    "z": "9aad28bb.de6b08",
+    "wires": []
   },
   {
-    "id": "68215b65.4e0fa4",
+    "id": "434328af.62d878",
     "type": "switchNode",
     "name": "service-data.network-instance-groups.network-instance-group_length",
     "xml": "<switch test='`$service-data.network-instance-groups.network-instance-group_length`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 2332.38570022583,
-    "y": 660.7111883163452,
-    "z": "769245e0.4dbeec",
+    "x": 2328.2746772766113,
+    "y": 714.7111825942993,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "b700bba7.772938",
-        "5a541c24.7df2a4"
+        "b36d81f7.3394d",
+        "af36bb73.fa73d8"
       ]
     ]
   },
   {
-    "id": "b700bba7.772938",
+    "id": "b36d81f7.3394d",
     "type": "other",
     "name": "outcome Null",
     "xml": "<outcome value=''>\n",
     "comments": "",
     "outputs": 1,
-    "x": 2691.6353912353516,
-    "y": 617.7111911773682,
-    "z": "769245e0.4dbeec",
+    "x": 2687.524368286133,
+    "y": 671.7111854553223,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "e79853a5.ac004"
+        "14e27ae6.5357e5"
       ]
     ]
   },
   {
-    "id": "5a541c24.7df2a4",
+    "id": "af36bb73.fa73d8",
     "type": "other",
     "name": "other",
     "xml": "<outcome value='Other'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 2671.6353912353516,
-    "y": 652.7111911773682,
-    "z": "769245e0.4dbeec",
+    "x": 2667.524368286133,
+    "y": 706.7111854553223,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "440fa626.979958"
+        "c46e6f.e0c8b19"
       ]
     ]
   },
   {
-    "id": "9fbd3013.47415",
+    "id": "a5779725.1836a8",
     "type": "block",
     "name": "block",
     "xml": "<block>\n",
     "atomic": "false",
     "comments": "",
     "outputs": 1,
-    "x": 1973.421215057373,
-    "y": 667.8898439407349,
-    "z": "769245e0.4dbeec",
+    "x": 1969.3101921081543,
+    "y": 721.889838218689,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "68215b65.4e0fa4"
+        "434328af.62d878"
       ]
     ]
   },
   {
-    "id": "b5479d1a.5649e",
+    "id": "704254e7.9457ec",
     "type": "outcomeTrue",
     "name": "true",
     "xml": "<outcome value='true'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 4101.629249572754,
-    "y": 657.9217948913574,
-    "z": "769245e0.4dbeec",
+    "x": 4091.5181846618652,
+    "y": 649.9217891693115,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "21010343.a1a7bc"
+        "c1e82544.f95008"
       ]
     ]
   },
   {
-    "id": "71841938.f374b8",
+    "id": "909b166d.5228d8",
     "type": "set",
     "name": "set tmp.ngidx and ctx.network-instance-group-data",
     "xml": "<set>\n<parameter name='tmp.ngidx' value='`$ngidx`' />\n<parameter name='ctx.network-instance-group-data.' value='`$service-data.network-instance-groups.network-instance-group[$ngidx].`' />\n",
     "comments": "",
-    "x": 4544.16121673584,
-    "y": 657.6718196868896,
-    "z": "769245e0.4dbeec",
-    "wires": [
-      
-    ]
+    "x": 4534.050151824951,
+    "y": 649.6718139648438,
+    "z": "9aad28bb.de6b08",
+    "wires": []
   },
   {
-    "id": "21010343.a1a7bc",
+    "id": "c1e82544.f95008",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "outputs": 1,
-    "x": 4250.247688293457,
-    "y": 657.778980255127,
-    "z": "769245e0.4dbeec",
+    "x": 4240.136623382568,
+    "y": 649.778974533081,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "71841938.f374b8"
+        "909b166d.5228d8"
       ]
     ]
   },
   {
-    "id": "4c5fe551.3b81dc",
+    "id": "b3d1c50c.fca068",
     "type": "for",
     "name": "for ngidx..service-data.network-instance-groups.network-instance-group[]",
     "xml": "<for index='ngidx' start='0' end='`$service-data.network-instance-groups.network-instance-_length`' >\n",
     "comments": "",
     "outputs": 1,
-    "x": 3278.4976119995117,
-    "y": 656.0287675857544,
-    "z": "769245e0.4dbeec",
+    "x": 3274.386589050293,
+    "y": 710.0287618637085,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "b936ff96.5eec"
+        "7b57f8f2.c90d48"
       ]
     ]
   },
   {
-    "id": "b936ff96.5eec",
+    "id": "7b57f8f2.c90d48",
     "type": "switchNode",
     "name": "switch network-instance-group-id found",
     "xml": "<switch test=\"`$service-data.network-instance-groups.network-instance-group[$nidx].network-instance-group-id == $network-topology-operation-input.network-information.network-instance-group-id`\">\n\n",
     "comments": "",
     "outputs": 1,
-    "x": 3723.9262084960938,
-    "y": 655.7789363861084,
-    "z": "769245e0.4dbeec",
+    "x": 3719.815185546875,
+    "y": 709.7789306640625,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "b5479d1a.5649e"
+        "704254e7.9457ec"
       ]
     ]
   },
   {
-    "id": "440fa626.979958",
+    "id": "c46e6f.e0c8b19",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "outputs": 1,
-    "x": 2890.481491088867,
-    "y": 653.9046926498413,
-    "z": "769245e0.4dbeec",
+    "x": 2886.3704681396484,
+    "y": 707.9046869277954,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "4c5fe551.3b81dc"
+        "b3d1c50c.fca068"
       ]
     ]
   },
   {
-    "id": "e79853a5.ac004",
+    "id": "14e27ae6.5357e5",
     "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=\"network-topology-operation-input.network-request-input.network-instance-group-id not found in service-data\" />\n",
     "comments": "",
-    "x": 2883.185043334961,
-    "y": 617.2787580490112,
-    "z": "769245e0.4dbeec",
-    "wires": [
-      
-    ]
+    "x": 2879.074020385742,
+    "y": 671.2787523269653,
+    "z": "9aad28bb.de6b08",
+    "wires": []
   },
   {
-    "id": "81ca2a3e.0d6c18",
+    "id": "76280ac2.a29dc4",
     "type": "other",
     "name": "other",
     "xml": "<outcome value='Other'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 2303.867660522461,
-    "y": 544.5238704681396,
-    "z": "769245e0.4dbeec",
+    "x": 2293.7565956115723,
+    "y": 536.5238647460938,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "f6668543.543498"
+        "d6b32cf3.dcd68"
       ]
     ]
   },
   {
-    "id": "f6668543.543498",
+    "id": "d6b32cf3.dcd68",
     "type": "set",
     "name": "set nidx",
     "xml": "<set>\n<parameter name='nidx' value='`$tmp.nidx`' />\n",
     "comments": "",
-    "x": 2460.867660522461,
-    "y": 545.5238704681396,
-    "z": "769245e0.4dbeec",
-    "wires": [
-      
-    ]
+    "x": 2450.7565956115723,
+    "y": 537.5238647460938,
+    "z": "9aad28bb.de6b08",
+    "wires": []
   },
   {
-    "id": "6976ed5b.280d44",
+    "id": "e703e8d7.7187b8",
     "type": "switchNode",
     "name": "switch request-action",
     "xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 885.2326583862305,
-    "y": 331.2326822280884,
-    "z": "769245e0.4dbeec",
+    "x": 875.1215934753418,
+    "y": 323.2326765060425,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "91a1d59.5506628",
-        "b38072e2.360e7",
-        "9675034c.650f5"
+        "ab621132.6111e",
+        "503d49e7.558b48",
+        "79aaad9.716b554",
+        "7fc79916.fb5438"
       ]
     ]
   },
   {
-    "id": "91a1d59.5506628",
+    "id": "ab621132.6111e",
     "type": "outcome",
     "name": "ActivateDCINetworkInstance",
     "xml": "<outcome value='ActivateDCINetworkInstance'>",
     "comments": "",
     "outputs": 1,
-    "x": 1145.5658798217773,
-    "y": 276.2324981689453,
-    "z": "769245e0.4dbeec",
+    "x": 1135.4548149108887,
+    "y": 268.2324924468994,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "cc61e75c.f46fa8"
+        "cac59810.e65568"
       ]
     ]
   },
   {
-    "id": "cc61e75c.f46fa8",
+    "id": "cac59810.e65568",
     "type": "call",
     "name": "call GENERIC-RESOURCE-API:dci-connects-network-topology-operation-activate",
     "xml": "<call module='GENERIC-RESOURCE-API' rpc='dci-connects-network-topology-operation-activate' mode='sync' >\n",
     "comments": "",
     "outputs": 1,
-    "x": 1591.5659790039062,
-    "y": 277.8993282318115,
-    "z": "769245e0.4dbeec",
+    "x": 1581.4549140930176,
+    "y": 269.8993225097656,
+    "z": "9aad28bb.de6b08",
     "wires": [
-      [
-        
-      ]
+      []
     ]
   },
   {
-    "id": "b38072e2.360e7",
+    "id": "503d49e7.558b48",
     "type": "outcome",
     "name": "other",
     "xml": "<outcome value='other'>",
     "comments": "",
     "outputs": 1,
-    "x": 1077.5658988952637,
-    "y": 317.8992328643799,
-    "z": "769245e0.4dbeec",
+    "x": 1071.454833984375,
+    "y": 361.89923095703125,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "a8c8cbe2.91bf68"
+        "5517cc3b.5b0904"
       ]
     ]
   },
   {
-    "id": "48d75ce9.275f44",
+    "id": "c572c289.cadd5",
     "type": "switchNode",
     "name": "switch request-action",
     "xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 889.7882080078125,
-    "y": 572.6770629882812,
-    "z": "769245e0.4dbeec",
+    "x": 879.6771430969238,
+    "y": 564.6770572662354,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "1aa76512.222f4b",
-        "e4fa13e2.b067",
-        "180a8601.c0536a"
+        "b98e948a.2ccfb8",
+        "5cdec052.1da21",
+        "16f91dec.cb7af2",
+        "625d77ac.1d4f58"
       ]
     ]
   },
   {
-    "id": "1aa76512.222f4b",
+    "id": "b98e948a.2ccfb8",
     "type": "outcome",
     "name": "DeactivateSOTNConnectivityInstance",
     "xml": "<outcome value='DeactivateSOTNConnectivityInstance'>",
     "comments": "",
     "outputs": 1,
-    "x": 1179.5660858154297,
-    "y": 516.8992004394531,
-    "z": "769245e0.4dbeec",
+    "x": 1169.455020904541,
+    "y": 508.8991947174072,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "e5cc673d.dff018"
+        "2cfdfb08.ec09b4"
       ]
     ]
   },
   {
-    "id": "e4fa13e2.b067",
+    "id": "5cdec052.1da21",
     "type": "other",
     "name": "other",
     "xml": "<outcome value='Other'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 1082.0110092163086,
-    "y": 602.5907745361328,
-    "z": "769245e0.4dbeec",
+    "x": 1077.8999862670898,
+    "y": 656.5907688140869,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "6b404d95.49ee94"
+        "1e922072.6c693"
       ]
     ]
   },
   {
-    "id": "e5cc673d.dff018",
+    "id": "2cfdfb08.ec09b4",
     "type": "call",
     "name": "call GENERIC-RESOURCE-API:sotn-network-topology-operation-deactivate",
     "xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-deactivate' mode='sync' >\n",
     "comments": "",
     "outputs": 1,
-    "x": 1639.9232025146484,
-    "y": 518.1825275421143,
-    "z": "769245e0.4dbeec",
+    "x": 1629.8121376037598,
+    "y": 510.18252182006836,
+    "z": "9aad28bb.de6b08",
     "wires": [
-      [
-        
-      ]
+      []
     ]
   },
   {
-    "id": "4adddee6.536c1",
+    "id": "31fb5db9.aec912",
     "type": "other",
     "name": "create",
     "xml": "<outcome value='create'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 669.4549331665039,
-    "y": 850.0106019973755,
-    "z": "769245e0.4dbeec",
+    "x": 665.3439102172852,
+    "y": 904.0105962753296,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "77afb22f.0154cc"
+        "b39f385b.dd8e48"
       ]
     ]
   },
   {
-    "id": "77afb22f.0154cc",
+    "id": "b39f385b.dd8e48",
     "type": "switchNode",
     "name": "switch request-action",
     "xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 869.7687530517578,
-    "y": 849.7882747650146,
-    "z": "769245e0.4dbeec",
+    "x": 865.6577301025391,
+    "y": 903.7882690429688,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "47caedb.c84d914",
-        "4cac5319.13eecc"
+        "de767c6b.834f1",
+        "6bdbc712.18ec58",
+        "c75bd3e1.bc391"
       ]
     ]
   },
   {
-    "id": "a471ef3a.82ee1",
+    "id": "24acb0b8.15f98",
     "type": "other",
     "name": "delete",
     "xml": "<outcome value='delete'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 667.4549369812012,
-    "y": 927.0106058120728,
-    "z": "769245e0.4dbeec",
+    "x": 663.3439140319824,
+    "y": 981.0106000900269,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "841198d0.4df568"
+        "7e743816.5d9958"
       ]
     ]
   },
   {
-    "id": "841198d0.4df568",
+    "id": "7e743816.5d9958",
     "type": "switchNode",
     "name": "switch request-action",
     "xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 869.7431945800781,
-    "y": 928.0714063644409,
-    "z": "769245e0.4dbeec",
+    "x": 865.6321716308594,
+    "y": 982.071400642395,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "f9d80d07.57de1",
-        "30bbe85.c379118"
+        "8f457dbf.8b07b",
+        "915d81d7.e103a",
+        "c7012119.b3554"
       ]
     ]
   },
   {
-    "id": "17f9f788.8ff328",
+    "id": "c02f2b27.1444e8",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "outputs": 1,
-    "x": 1625.5661582946777,
-    "y": 1248.8993555465713,
-    "z": "769245e0.4dbeec",
+    "x": 1609.4551811218262,
+    "y": 1338.8993883132935,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "8b5d3c47.c2f2b"
+        "f7aee00f.2cad"
       ]
     ]
   },
   {
-    "id": "d4f55e73.2e1c",
+    "id": "afea4e67.794a",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "outputs": 1,
-    "x": 1599.0106163024902,
-    "y": 1403.4548937240615,
-    "z": "769245e0.4dbeec",
+    "x": 1581.8996543884277,
+    "y": 1537.454912662506,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "35ceb905.d5d9a6"
+        "1b882c62.b4d5c4"
       ]
     ]
   },
   {
-    "id": "8b5d3c47.c2f2b",
+    "id": "f7aee00f.2cad",
     "type": "call",
     "name": "call GENERIC-RESOURCE-API:network-topology-operation-create",
     "xml": "<call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-create' mode='sync' >\n",
     "comments": "",
     "outputs": 1,
-    "x": 1990.2326545715332,
-    "y": 1248.3439775863662,
-    "z": "769245e0.4dbeec",
+    "x": 1974.1216773986816,
+    "y": 1338.3440103530884,
+    "z": "9aad28bb.de6b08",
     "wires": [
-      [
-        
-      ]
+      []
     ]
   },
   {
-    "id": "35ceb905.d5d9a6",
+    "id": "1b882c62.b4d5c4",
     "type": "call",
     "name": "call GENERIC-RESOURCE-API:network-topology-operation-delete",
     "xml": "<call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-delete' mode='sync' >\n",
     "comments": "",
     "outputs": 1,
-    "x": 1964.010540008545,
-    "y": 1402.4548221984878,
-    "z": "769245e0.4dbeec",
+    "x": 1946.8995780944824,
+    "y": 1536.4548411369324,
+    "z": "9aad28bb.de6b08",
     "wires": [
-      [
-        
-      ]
+      []
     ]
   },
   {
-    "id": "47caedb.c84d914",
+    "id": "de767c6b.834f1",
     "type": "outcome",
     "name": "other",
     "xml": "<outcome value='other'>",
     "comments": "",
     "outputs": 1,
-    "x": 1443.7686920166016,
-    "y": 1250.6769691864029,
-    "z": "769245e0.4dbeec",
+    "x": 1427.65771484375,
+    "y": 1340.677001953125,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "17f9f788.8ff328"
+        "c02f2b27.1444e8"
       ]
     ]
   },
   {
-    "id": "4cac5319.13eecc",
+    "id": "6bdbc712.18ec58",
     "type": "outcome",
     "name": "CreateSOTNConnectivityInstance",
     "xml": "<outcome value='CreateSOTNConnectivityInstance'>",
     "comments": "",
     "outputs": 1,
-    "x": 1511.4354667663574,
-    "y": 1187.4549089828506,
-    "z": "769245e0.4dbeec",
+    "x": 1507.3244438171387,
+    "y": 1241.4549032608047,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "10d3a091.69adcf"
+        "cc35726f.72d91"
       ]
     ]
   },
   {
-    "id": "10d3a091.69adcf",
+    "id": "cc35726f.72d91",
     "type": "call",
     "name": "call GENERIC-RESOURCE-API:sotn-network-topology-operation-create",
     "xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-create' mode='sync' >\n",
     "comments": "",
     "outputs": 1,
-    "x": 1990.3242835998535,
-    "y": 1189.6770912567154,
-    "z": "769245e0.4dbeec",
+    "x": 1986.2132606506348,
+    "y": 1243.6770855346695,
+    "z": "9aad28bb.de6b08",
     "wires": [
-      [
-        
-      ]
+      []
     ]
   },
   {
-    "id": "30bbe85.c379118",
+    "id": "915d81d7.e103a",
     "type": "outcome",
     "name": "DeleteSOTNConnectivityInstance",
     "xml": "<outcome value='DeleteSOTNConnectivityInstance'>",
     "comments": "",
     "outputs": 1,
-    "x": 1520.8545188903809,
-    "y": 1344.6269198814407,
-    "z": "769245e0.4dbeec",
+    "x": 1504.7435417175293,
+    "y": 1434.6269526481628,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "735a9502.6e869c"
+        "ffefe985.e53578"
       ]
     ]
   },
   {
-    "id": "735a9502.6e869c",
+    "id": "ffefe985.e53578",
     "type": "call",
     "name": "call GENERIC-RESOURCE-API:sotn-network-topology-operation-delete",
     "xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-delete' mode='sync' >\n",
     "comments": "",
     "outputs": 1,
-    "x": 1987.743335723877,
-    "y": 1346.8491021553054,
-    "z": "769245e0.4dbeec",
+    "x": 1971.6323585510254,
+    "y": 1436.8491349220276,
+    "z": "9aad28bb.de6b08",
     "wires": [
-      [
-        
-      ]
+      []
     ]
   },
   {
-    "id": "f9d80d07.57de1",
+    "id": "8f457dbf.8b07b",
     "type": "outcome",
     "name": "other",
     "xml": "<outcome value='other'>",
     "comments": "",
     "outputs": 1,
-    "x": 1441.187744140625,
-    "y": 1407.848980084993,
-    "z": "769245e0.4dbeec",
+    "x": 1424.0767822265625,
+    "y": 1541.8489990234375,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "d4f55e73.2e1c"
+        "afea4e67.794a"
       ]
     ]
   },
   {
-    "id": "9675034c.650f5",
+    "id": "79aaad9.716b554",
     "type": "outcome",
     "name": "ActivateSOTNConnectivityInstance",
     "xml": "<outcome value='ActivateSOTNConnectivityInstance'>",
     "comments": "",
     "outputs": 1,
-    "x": 1168.56591796875,
-    "y": 231.01040649414062,
-    "z": "769245e0.4dbeec",
+    "x": 1158.4548530578613,
+    "y": 223.01040077209473,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "de8bdb94.3cf588"
+        "a1756e2.236019"
       ]
     ]
   },
   {
-    "id": "de8bdb94.3cf588",
+    "id": "a1756e2.236019",
     "type": "call",
     "name": "call GENERIC-RESOURCE-API:sotn-network-topology-operation-activate",
     "xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-activate' mode='sync' >\n",
     "comments": "",
     "outputs": 1,
-    "x": 1593.7880744934082,
-    "y": 227.24494899902493,
-    "z": "769245e0.4dbeec",
+    "x": 1583.6770095825195,
+    "y": 219.24494327697903,
+    "z": "9aad28bb.de6b08",
     "wires": [
-      [
-        
-      ]
+      []
     ]
   },
   {
-    "id": "180a8601.c0536a",
+    "id": "16f91dec.cb7af2",
     "type": "outcome",
     "name": "DeActivateDCINetworkInstance",
     "xml": "<outcome value='DeActivateDCINetworkInstance'>",
     "comments": "",
     "outputs": 1,
-    "x": 1159.6666259765625,
-    "y": 560,
-    "z": "769245e0.4dbeec",
+    "x": 1149.5555610656738,
+    "y": 551.9999942779541,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        "d9e73bb1.305be8"
+        "20c06620.a7484a"
       ]
     ]
   },
   {
-    "id": "d9e73bb1.305be8",
+    "id": "20c06620.a7484a",
     "type": "call",
     "name": "call GENERIC-RESOURCE-API:dci-connects-network-topology-operation-deactivate",
     "xml": "<call module='GENERIC-RESOURCE-API' rpc='dci-connects-network-topology-operation-deactivate' mode='sync' >\n",
     "comments": "",
     "outputs": 1,
-    "x": 1634.666847229004,
-    "y": 558.6668181419373,
-    "z": "769245e0.4dbeec",
+    "x": 1624.5557823181152,
+    "y": 550.6668124198914,
+    "z": "9aad28bb.de6b08",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "7fc79916.fb5438",
+    "type": "outcome",
+    "name": "ActivateSDWANConnectivityInstance",
+    "xml": "<outcome value='ActivateSDWANConnectivityInstance'>",
+    "comments": "",
+    "outputs": 1,
+    "x": 1155.0000228881836,
+    "y": 318.0000190734863,
+    "z": "9aad28bb.de6b08",
+    "wires": [
+      [
+        "8f8df3ac.f43bf"
+      ]
+    ]
+  },
+  {
+    "id": "8f8df3ac.f43bf",
+    "type": "call",
+    "name": "call GENERIC-RESOURCE-API:sdwan-network-topology-operation-activate",
+    "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-network-topology-operation-activate' mode='sync' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1598.0002136230469,
+    "y": 315.66684770584106,
+    "z": "9aad28bb.de6b08",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "625d77ac.1d4f58",
+    "type": "outcome",
+    "name": "DeactivateSDWANConnectivityInstance",
+    "xml": "<outcome value='DeactivateSDWANConnectivityInstance'>",
+    "comments": "",
+    "outputs": 1,
+    "x": 1167,
+    "y": 605,
+    "z": "9aad28bb.de6b08",
     "wires": [
       [
-        
+        "3bbfdab2.224de6"
       ]
     ]
+  },
+  {
+    "id": "3bbfdab2.224de6",
+    "type": "call",
+    "name": "call GENERIC-RESOURCE-API:sdwan-network-topology-operation-deactivate",
+    "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-network-topology-operation-deactivate' mode='sync' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1610.0001907348633,
+    "y": 602.6668286323547,
+    "z": "9aad28bb.de6b08",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "c75bd3e1.bc391",
+    "type": "outcome",
+    "name": "CreateSDWANConnectivityInstance",
+    "xml": "<outcome value='CreateSDWANConnectivityInstance'>",
+    "comments": "",
+    "outputs": 1,
+    "x": 1513,
+    "y": 1290,
+    "z": "9aad28bb.de6b08",
+    "wires": [
+      [
+        "db52f061.34611"
+      ]
+    ]
+  },
+  {
+    "id": "db52f061.34611",
+    "type": "call",
+    "name": "call GENERIC-RESOURCE-API:sdwan-network-topology-operation-create",
+    "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-network-topology-operation-create' mode='sync' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1956.0001907348633,
+    "y": 1287.6668286323547,
+    "z": "9aad28bb.de6b08",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "c7012119.b3554",
+    "type": "outcome",
+    "name": "DeleteSDWANConnectivityInstance",
+    "xml": "<outcome value='DeleteSDWANConnectivityInstance'>",
+    "comments": "",
+    "outputs": 1,
+    "x": 1506,
+    "y": 1485,
+    "z": "9aad28bb.de6b08",
+    "wires": [
+      [
+        "c57dac36.dcf83"
+      ]
+    ]
+  },
+  {
+    "id": "c57dac36.dcf83",
+    "type": "call",
+    "name": "call GENERIC-RESOURCE-API:sdwan-network-topology-operation-delete",
+    "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-network-topology-operation-delete' mode='sync' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1972.888816833496,
+    "y": 1487.2221822738647,
+    "z": "9aad28bb.de6b08",
+    "wires": [
+      []
+    ]
   }
 ]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-network-topology-operation-activate.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-network-topology-operation-activate.json
new file mode 100644 (file)
index 0000000..9f672c1
--- /dev/null
@@ -0,0 +1,732 @@
+[
+  {
+    "id": "674547d2.8e25c8",
+    "type": "dgstart",
+    "name": "DGSTART",
+    "outputs": 1,
+    "x": 102.5039176940918,
+    "y": 36.00000238418579,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "e5902308.c1c82"
+      ]
+    ]
+  },
+  {
+    "id": "e5902308.c1c82",
+    "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": 288.50392150878906,
+    "y": 108.00001955032349,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "790713af.f45e7c"
+      ]
+    ]
+  },
+  {
+    "id": "790713af.f45e7c",
+    "type": "method",
+    "name": "method sdwan-network-topology-operation-activate",
+    "xml": "<method rpc='sdwan-network-topology-operation-activate' mode='sync'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 276.5040397644043,
+    "y": 196.0000023841858,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "e083889a.f74828"
+      ]
+    ]
+  },
+  {
+    "id": "e083889a.f74828",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 450.50393295288086,
+    "y": 304.0000615119934,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "6158cb8c.f46db4",
+        "81410bf9.e64458",
+        "781fc34d.70c51c",
+        "7be4b307.5359ec",
+        "2905e598.65892a",
+        "68901172.3a726",
+        "a0fba53c.970e38",
+        "944018c7.5a14b8",
+        "5e8274ed.a57dbc",
+        "f220bde6.61096",
+        "1ebcf5b8.ee7c3a",
+        "95959ba8.d84698",
+        "cf1e1603.5d6118",
+        "f18b4542.7d2158",
+        "581db18a.df70a"
+      ]
+    ]
+  },
+  {
+    "id": "6158cb8c.f46db4",
+    "type": "call",
+    "name": "call GENERIC-RESOURCE-API:validate-sdwan-network-input-parameters",
+    "xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-sdwan-network-input-parameters' mode='sync' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 908.8928184509277,
+    "y": 53.00000238418579,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "81410bf9.e64458",
+    "type": "record",
+    "name": "record",
+    "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/svclogic.log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"sdwan-network-topology-operation-activate\"/>\n<parameter name=\"field3\" value=\"SDWAN-Activate\"/>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 709.0595169067383,
+    "y": 106.77785539627075,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "781fc34d.70c51c",
+    "type": "set",
+    "name": "set networkId and network-object-path",
+    "xml": "<set>\n<parameter name='networkId' value='`$network-topology-operation-input.network-information.network-id`' />\n<parameter name=\"network-object-path\" value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $network-topology-operation-input.service-information.service-instance-id  + '/service-data/networks/network/'  + $network-topology-operation-input.network-information.network-id  + '/network-data/'` \" />",
+    "comments": "",
+    "x": 796.0597953796387,
+    "y": 1029.3134715557098,
+    "z": "5630a65a.9ec898",
+    "wires": []
+  },
+  {
+    "id": "7be4b307.5359ec",
+    "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": 717.8375968933105,
+    "y": 1218.8688914775848,
+    "z": "5630a65a.9ec898",
+    "wires": []
+  },
+  {
+    "id": "2905e598.65892a",
+    "type": "set",
+    "name": "set network-level-oper-status",
+    "xml": "<set>\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status' value='Active' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.last-rpc-action' value='`$network-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.last-action' value='`$network-topology-operation-input.request-information.request-action`' />",
+    "comments": "",
+    "x": 762.9487113952637,
+    "y": 1090.53564620018,
+    "z": "5630a65a.9ec898",
+    "wires": []
+  },
+  {
+    "id": "68901172.3a726",
+    "type": "execute",
+    "name": "execute Properties",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n    <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n    <parameter name='contextPrefix' value='prop' />\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 741.3616218566895,
+    "y": 159.77789163589478,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "a0fba53c.970e38",
+    "type": "update",
+    "name": "update SDWAN VPN status to AAI",
+    "xml": "<update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='sdwan-vpn' \n      key='sdwan-vpn.id = $network-topology-operation-input.network-information.network-id' >\n<parameter name='id' value='`$network-topology-operation-input.network-information.network-id`' />\n<parameter name='operational-status' value='Active' />\n<parameter name='tenanatId' value='`$prop.tenant-id`' />\n<parameter name='vpn-id' value='`$prop.vpn-id`' />",
+    "comments": "",
+    "outputs": 1,
+    "x": 780.1674270629883,
+    "y": 1153.2388577461243,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "944018c7.5a14b8",
+    "type": "set",
+    "name": "set network in service-data",
+    "xml": "<set>\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.service-information.' value='`$network-topology-operation-input.service-information.`' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-information.' value='`$network-topology-operation-input.network-information.`' />",
+    "comments": "",
+    "x": 756.5043258666992,
+    "y": 976.0913054943085,
+    "z": "5630a65a.9ec898",
+    "wires": []
+  },
+  {
+    "id": "5e8274ed.a57dbc",
+    "type": "for",
+    "name": "for each network-input-parameters",
+    "xml": "<for index='idx' start='0' end='`$ctx.network-data.network-request-input.network-input-parameters.param_length`' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 793.5039176940918,
+    "y": 230.00390991568565,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "aff4cb70.f51d18"
+      ]
+    ]
+  },
+  {
+    "id": "aff4cb70.f51d18",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 1050.3373489379883,
+    "y": 164.33726105093956,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "55124a0e.ecead4",
+        "b20e40a7.db9f2"
+      ]
+    ]
+  },
+  {
+    "id": "55124a0e.ecead4",
+    "type": "switchNode",
+    "name": "switch name",
+    "xml": "<switch test=\"`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].name == 'name'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1241.3374099731445,
+    "y": 160.33729347586632,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "c7d7c03b.f2fa6"
+      ]
+    ]
+  },
+  {
+    "id": "c7d7c03b.f2fa6",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1415.3375358581543,
+    "y": 160.33729729056358,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "af327670.c19a78"
+      ]
+    ]
+  },
+  {
+    "id": "af327670.c19a78",
+    "type": "set",
+    "name": "set name",
+    "xml": "<set>\n<parameter name='prop.name' value='`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].value`' />\n",
+    "comments": "",
+    "x": 1578.3374214172363,
+    "y": 159.9372919499874,
+    "z": "5630a65a.9ec898",
+    "wires": []
+  },
+  {
+    "id": "f220bde6.61096",
+    "type": "get-resource",
+    "name": "get-resource esr-thirdparty-sdnc",
+    "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"esr-thirdparty-sdnc\" \n\t\tkey=\"esr-thirdparty-sdnc.thirdparty-sdnc-id = 'SDWAN-Controller' AND \n\t\t     depth = '1'\"\n        pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 787.5039176940918,
+    "y": 339.00390991568565,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "9390ab8d.339038",
+        "422112c5.89ee3c",
+        "b2fc220b.c981"
+      ]
+    ]
+  },
+  {
+    "id": "9390ab8d.339038",
+    "type": "success",
+    "name": "success",
+    "xml": "<outcome value='success'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1032.5039176940918,
+    "y": 285.00390991568565,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "b9e9d09e.1a521"
+      ]
+    ]
+  },
+  {
+    "id": "422112c5.89ee3c",
+    "type": "not-found",
+    "name": "not-found",
+    "xml": "<outcome value='not-found'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1035.9948844909668,
+    "y": 332.5779455602169,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "fc9a3019.525c8"
+      ]
+    ]
+  },
+  {
+    "id": "b2fc220b.c981",
+    "type": "other",
+    "name": "other",
+    "xml": "<outcome value='Other'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1031.3278923034668,
+    "y": 373.91125854849815,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "9d79278.15d3ed8"
+      ]
+    ]
+  },
+  {
+    "id": "b9e9d09e.1a521",
+    "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": 1230.003978729248,
+    "y": 273.00390991568565,
+    "z": "5630a65a.9ec898",
+    "wires": []
+  },
+  {
+    "id": "fc9a3019.525c8",
+    "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": 1212.5662956237793,
+    "y": 320.8636816442013,
+    "z": "5630a65a.9ec898",
+    "wires": []
+  },
+  {
+    "id": "9d79278.15d3ed8",
+    "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": 1219.1004486083984,
+    "y": 369.3504513204098,
+    "z": "5630a65a.9ec898",
+    "wires": []
+  },
+  {
+    "id": "1ebcf5b8.ee7c3a",
+    "type": "execute",
+    "name": "execute RestApiCallNode Get token",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/actokentemplate.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"token-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>",
+    "comments": "",
+    "outputs": 1,
+    "x": 795.5039176940918,
+    "y": 450.00390991568565,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "fd9ecfb8.dcb2c",
+        "2aa6377a.1dbc88"
+      ]
+    ]
+  },
+  {
+    "id": "fd9ecfb8.dcb2c",
+    "type": "success",
+    "name": "success",
+    "xml": "<outcome value='success'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1030.5039176940918,
+    "y": 428.00390991568565,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "ff15f3bd.bf298"
+      ]
+    ]
+  },
+  {
+    "id": "2aa6377a.1dbc88",
+    "type": "failure",
+    "name": "failure",
+    "xml": "<outcome value='failure'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1022.7539176940918,
+    "y": 481.6467932164669,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "95badc84.277a8"
+      ]
+    ]
+  },
+  {
+    "id": "ff15f3bd.bf298",
+    "type": "set",
+    "name": "set token-id",
+    "xml": "<set>\n<parameter name='prop.sdncRestApi.token_id' value='`$token-result.data.token_id`' />\n",
+    "comments": "",
+    "x": 1184.5039176940918,
+    "y": 429.00390991568565,
+    "z": "5630a65a.9ec898",
+    "wires": []
+  },
+  {
+    "id": "95badc84.277a8",
+    "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": 1175.5039176940918,
+    "y": 481.39685425162315,
+    "z": "5630a65a.9ec898",
+    "wires": []
+  },
+  {
+    "id": "b20e40a7.db9f2",
+    "type": "switchNode",
+    "name": "switch topology",
+    "xml": "<switch test=\"`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].name == 'topology'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1239.7539176940918,
+    "y": 213.00390991568565,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "968633ac.1886b"
+      ]
+    ]
+  },
+  {
+    "id": "968633ac.1886b",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1413.7540435791016,
+    "y": 213.00391373038292,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "28e1e286.2c199e"
+      ]
+    ]
+  },
+  {
+    "id": "28e1e286.2c199e",
+    "type": "set",
+    "name": "set topology",
+    "xml": "<set>\n<parameter name='prop.topology' value='`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].value`' />\n",
+    "comments": "",
+    "x": 1576.7539291381836,
+    "y": 212.60390838980675,
+    "z": "5630a65a.9ec898",
+    "wires": []
+  },
+  {
+    "id": "95959ba8.d84698",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 722.2539329528809,
+    "y": 650.0039599835873,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "c37fc252.ca32b"
+      ]
+    ]
+  },
+  {
+    "id": "c37fc252.ca32b",
+    "type": "execute",
+    "name": "execute RestApiCallNode Create network orchestration",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-network-orchestration.json'`\" />\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=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"orchestration-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+    "comments": "",
+    "outputs": 1,
+    "x": 1044.7539825439453,
+    "y": 653.0040616989136,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "cf1e1603.5d6118",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 719.7539329528809,
+    "y": 758.0039599835873,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "e379ec58.8ceb2",
+        "3e353248.8e09fe",
+        "6943d9d8.2f1f68"
+      ]
+    ]
+  },
+  {
+    "id": "e379ec58.8ceb2",
+    "type": "execute",
+    "name": "execute RestApiCallNode Create vpn",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-vpn.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/vpn'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"vpn-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+    "comments": "",
+    "outputs": 1,
+    "x": 991.253978729248,
+    "y": 748.0040839612484,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "3e353248.8e09fe",
+    "type": "set",
+    "name": "set prop.vpn-id and prop.vpn1Id",
+    "xml": "<set>\n<parameter name='prop.vpn-id' value='`$vpn-result.id`' />\n<parameter name='prop.vpn1Id' value='`$vpn-result.id`' />\n",
+    "comments": "",
+    "x": 975.2541313171387,
+    "y": 800.004145950079,
+    "z": "5630a65a.9ec898",
+    "wires": []
+  },
+  {
+    "id": "6943d9d8.2f1f68",
+    "type": "execute",
+    "name": "execute RestApiCallNode Create vpn topology",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-vpn-topology.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/' + $prop.vpn-id + '/topology'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"vpn-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+    "comments": "",
+    "outputs": 1,
+    "x": 1018.7539825439453,
+    "y": 852.0039582252502,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "f18b4542.7d2158",
+    "type": "set",
+    "name": "set tenant-id and vpn-id to service-data",
+    "xml": "<set>\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$network-topology-operation-input.network-request-input.network-input-parameters.param_length].name' value='tenant-id' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$network-topology-operation-input.network-request-input.network-input-parameters.param_length].value' value='`$prop.tenant-id`' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$network-topology-operation-input.network-request-input.network-input-parameters.param_length + 1].name' value='vpn-id' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$network-topology-operation-input.network-request-input.network-input-parameters.param_length + 1].value' value='`$prop.vpn-id`' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param_length' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param_length + 2`' />",
+    "comments": "",
+    "x": 798.7539215087891,
+    "y": 921.7539792060852,
+    "z": "5630a65a.9ec898",
+    "wires": []
+  },
+  {
+    "id": "581db18a.df70a",
+    "type": "get-resource",
+    "name": "get-resource service-subscription",
+    "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"service-subscription\" \n        key= 'service-subscription.service-type = $service-data.networks.network[$tmp.nidx].network-data.service-information.subscription-service-type \n        AND customer.global-customer-id = $service-data.networks.network[$tmp.nidx].network-data.service-information.global-customer-id'\n      force=\"true\" pfx=\"tmp.AnAI-data\">\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 786.0039520263672,
+    "y": 547.2539210319519,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "fcef5013.081b8"
+      ]
+    ]
+  },
+  {
+    "id": "fcef5013.081b8",
+    "type": "switchNode",
+    "name": "switch temp-ub-sub-account-id",
+    "xml": "<switch test='`$tmp.AnAI-data.temp-ub-sub-account-id`'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1078.003993988037,
+    "y": 539.0039348602295,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "a4ce55d.f40f1a8",
+        "90c8ccd1.35a13"
+      ]
+    ]
+  },
+  {
+    "id": "a4ce55d.f40f1a8",
+    "type": "outcome",
+    "name": "NULL",
+    "xml": "<outcome value=''>",
+    "comments": "",
+    "outputs": 1,
+    "x": 1299.7182807922363,
+    "y": 540.0039367675781,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "d1e6018.8be3d"
+      ]
+    ]
+  },
+  {
+    "id": "90c8ccd1.35a13",
+    "type": "other",
+    "name": "Other",
+    "xml": "<outcome value='Other'>",
+    "comments": "",
+    "outputs": 1,
+    "x": 1301.00390625,
+    "y": 594.00390625,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "3ebb744f.dbc61c"
+      ]
+    ]
+  },
+  {
+    "id": "3ebb744f.dbc61c",
+    "type": "set",
+    "name": "set prop.tenant-id",
+    "xml": "<set>\n<parameter name='prop.tenant-id' value='`$tmp.AnAI-data.temp-ub-sub-account-id`' />\n",
+    "comments": "",
+    "x": 1487.0041427612305,
+    "y": 594.0039291381836,
+    "z": "5630a65a.9ec898",
+    "wires": []
+  },
+  {
+    "id": "d1e6018.8be3d",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 1515.75390625,
+    "y": 539.75390625,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      [
+        "3f91e970.83e3f6",
+        "df20c5db.1ec7f8",
+        "8a6f7c34.568fe",
+        "f54989e1.a4a098",
+        "eb872c81.f35e"
+      ]
+    ]
+  },
+  {
+    "id": "f54989e1.a4a098",
+    "type": "set",
+    "name": "set prop.customer-id",
+    "xml": "<set>\n<parameter name='prop.customer-id' value='`$ctx.network-data.service-information.global-customer-id`' />\n",
+    "comments": "",
+    "x": 1728.2540321350098,
+    "y": 492.75404182076454,
+    "z": "5630a65a.9ec898",
+    "wires": []
+  },
+  {
+    "id": "3f91e970.83e3f6",
+    "type": "execute",
+    "name": "execute RestApiCallNode Create tenant",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-tenant.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenanats'`\" />\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.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+    "comments": "",
+    "outputs": 1,
+    "x": 1789.2539176940918,
+    "y": 553.7539159357548,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "df20c5db.1ec7f8",
+    "type": "set",
+    "name": "set prop.tenant-id",
+    "xml": "<set>\n<parameter name='prop.tenant-id' value='`$tenant-result.data.tenantId`' />\n",
+    "comments": "",
+    "x": 1722.253963470459,
+    "y": 582.7538844645023,
+    "z": "5630a65a.9ec898",
+    "wires": []
+  },
+  {
+    "id": "8a6f7c34.568fe",
+    "type": "execute",
+    "name": "execute RestApiCallNode Create tenant auth",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenanats/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.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+    "comments": "",
+    "outputs": 1,
+    "x": 1803.7538719177246,
+    "y": 613.5038854181767,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "eb872c81.f35e",
+    "type": "get-resource",
+    "name": "save-resource customer-id in service-subscription",
+    "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"service-subscription\" \n        key= 'service-subscription.service-type = $service-data.networks.network[$tmp.nidx].network-data.service-information.subscription-service-type \n        AND customer.global-customer-id = $service-data.networks.network[$tmp.nidx].network-data.service-information.global-customer-id'>\n<parameter name='temp-ub-sub-account-id' value='`$prop.customer-id`' />\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1819.253963470459,
+    "y": 524.7540208399296,
+    "z": "5630a65a.9ec898",
+    "wires": [
+      []
+    ]
+  }
+]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-network-topology-operation-create.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-network-topology-operation-create.json
new file mode 100644 (file)
index 0000000..898d4c6
--- /dev/null
@@ -0,0 +1,481 @@
+[
+  {
+    "id": "688d11a7.db457",
+    "type": "dgstart",
+    "name": "DGSTART",
+    "outputs": 1,
+    "x": 119.00390625,
+    "y": 85.28888085437939,
+    "z": "60d023c5.cabe1c",
+    "wires": [
+      [
+        "e1d5eba9.a13628"
+      ]
+    ]
+  },
+  {
+    "id": "e1d5eba9.a13628",
+    "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": 373.50390625,
+    "y": 85.28888085437939,
+    "z": "60d023c5.cabe1c",
+    "wires": [
+      [
+        "d4ccfb4f.558f18"
+      ]
+    ]
+  },
+  {
+    "id": "d4ccfb4f.558f18",
+    "type": "method",
+    "name": "sdwan-network-topology-operation-create",
+    "xml": "<method rpc='sdwan-network-topology-operation-create' mode='sync'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 372.50390625,
+    "y": 185.28888085437939,
+    "z": "60d023c5.cabe1c",
+    "wires": [
+      [
+        "6f5dfed8.385d3"
+      ]
+    ]
+  },
+  {
+    "id": "6f5dfed8.385d3",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 512.50390625,
+    "y": 285.2888808543794,
+    "z": "60d023c5.cabe1c",
+    "wires": [
+      [
+        "122df2f8.6d274d",
+        "a575c3fa.61f11",
+        "922e69e7.a3d7a8",
+        "5d7736de.4069b8",
+        "27cb2b03.b23a84",
+        "47c22ea2.aab27",
+        "8f02d925.52aa28",
+        "eec5382a.01c068",
+        "6cba311b.177c7",
+        "aba522ee.20d06",
+        "6bb7e42.0db951c"
+      ]
+    ]
+  },
+  {
+    "id": "122df2f8.6d274d",
+    "type": "call",
+    "name": "call GENERIC-RESOURCE-API:validate-sdwan-network-input-parameters",
+    "xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-sdwan-network-input-parameters' mode='sync' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 942.5039176940918,
+    "y": 103.06663277698681,
+    "z": "60d023c5.cabe1c",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "a575c3fa.61f11",
+    "type": "record",
+    "name": "record",
+    "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/svclogic.log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"sdwan-network-topology-operation-create\"/>\n<parameter name=\"field3\" value=\"SDWAN-Config\"/>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 736.0595626831055,
+    "y": 280.5110926628113,
+    "z": "60d023c5.cabe1c",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "922e69e7.a3d7a8",
+    "type": "execute",
+    "name": "execute generate prop.sdwan.network-id",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\n<parameter name=\"ctx-destination\" value=\"prop.sdwan.network-id\"/>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 838.5039138793945,
+    "y": 147.06663513183594,
+    "z": "60d023c5.cabe1c",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "5d7736de.4069b8",
+    "type": "switchNode",
+    "name": "switch service-data.networks_length",
+    "xml": "<switch test='`$service-data.networks.network_length`'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 827.0595626831055,
+    "y": 240.51109266281128,
+    "z": "60d023c5.cabe1c",
+    "wires": [
+      [
+        "18f092a5.32926d",
+        "30abb8ec.b5d758"
+      ]
+    ]
+  },
+  {
+    "id": "18f092a5.32926d",
+    "type": "other",
+    "name": "Null",
+    "xml": "<outcome value=''>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1056.0595626831055,
+    "y": 220.51109266281128,
+    "z": "60d023c5.cabe1c",
+    "wires": [
+      [
+        "6b96ad21.6fe954"
+      ]
+    ]
+  },
+  {
+    "id": "30abb8ec.b5d758",
+    "type": "other",
+    "name": "other",
+    "xml": "<outcome value='Other'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1056.0595626831055,
+    "y": 260.5110926628113,
+    "z": "60d023c5.cabe1c",
+    "wires": [
+      [
+        "9b1eb0f3.03df9"
+      ]
+    ]
+  },
+  {
+    "id": "6b96ad21.6fe954",
+    "type": "set",
+    "name": "set nidx",
+    "xml": "<set>\n<parameter name='nidx' value='0' />\n",
+    "comments": "",
+    "x": 1198.5595626831055,
+    "y": 220.51109266281128,
+    "z": "60d023c5.cabe1c",
+    "wires": []
+  },
+  {
+    "id": "144f1430.6e2a2c",
+    "type": "set",
+    "name": "set nidx",
+    "xml": "<set>\n<parameter name='nidx' value='`$service-data.networks.network_length`' />\n",
+    "comments": "",
+    "x": 1332.1150817871094,
+    "y": 222.06670236587524,
+    "z": "60d023c5.cabe1c",
+    "wires": []
+  },
+  {
+    "id": "27cb2b03.b23a84",
+    "type": "set",
+    "name": "set network in service-data",
+    "xml": "<set>\n<parameter name='service-data.networks.network[$nidx].network-id' value='`$prop.sdwan.network-id`' />\n<parameter name='service-data.networks.network[$nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.service-information.' value='`$network-topology-operation-input.service-information.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.network-information.' value='`$network-topology-operation-input.network-information.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.network-request-input.' value='`$network-topology-operation-input.network-request-input.`' />\n<parameter name='service-data.networks.network_length' value='`$nidx+1`' />\n\n",
+    "comments": "",
+    "x": 797.5595626831055,
+    "y": 320.5110926628113,
+    "z": "60d023c5.cabe1c",
+    "wires": []
+  },
+  {
+    "id": "47c22ea2.aab27",
+    "type": "set",
+    "name": "set networkId and network-object-path",
+    "xml": "<set>\n<parameter name='networkId' value='`$prop.sdwan.network-id`' />\n<parameter name=\"network-object-path\" value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $network-topology-operation-input.service-information.service-instance-id  + '/service-data/networks/network/'  + $prop.sdwan.network-id  + '/network-data/'` \" />",
+    "comments": "",
+    "x": 833.0595626831055,
+    "y": 360.5110926628113,
+    "z": "60d023c5.cabe1c",
+    "wires": []
+  },
+  {
+    "id": "8f02d925.52aa28",
+    "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": 757.7264022827148,
+    "y": 530.1778182983398,
+    "z": "60d023c5.cabe1c",
+    "wires": []
+  },
+  {
+    "id": "eec5382a.01c068",
+    "type": "set",
+    "name": "set network-level-oper-status",
+    "xml": "<set>\n<parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.order-status' value='Created' />\n<parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.last-rpc-action' value='`$network-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.last-action' value='`$network-topology-operation-input.request-information.request-action`' />",
+    "comments": "",
+    "x": 804.5595626831055,
+    "y": 400.5110926628113,
+    "z": "60d023c5.cabe1c",
+    "wires": []
+  },
+  {
+    "id": "97c23cb8.cc8d8",
+    "type": "for",
+    "name": "for each existing network",
+    "xml": "<for index='idx' start='0' end='`$nidx`' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1201.5436248779297,
+    "y": 365.28884455608204,
+    "z": "60d023c5.cabe1c",
+    "wires": [
+      [
+        "30c4fff.3f577"
+      ]
+    ]
+  },
+  {
+    "id": "9b1eb0f3.03df9",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 1200.4166069030762,
+    "y": 260.4476046562195,
+    "z": "60d023c5.cabe1c",
+    "wires": [
+      [
+        "97c23cb8.cc8d8",
+        "144f1430.6e2a2c"
+      ]
+    ]
+  },
+  {
+    "id": "30c4fff.3f577",
+    "type": "switchNode",
+    "name": "switch networkid found",
+    "xml": "<switch test=\"`$service-data.networks.network[$idx].network-id == $network-topology-operation-input.network-information.network-id`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1476.829345703125,
+    "y": 364.8603472416289,
+    "z": "60d023c5.cabe1c",
+    "wires": [
+      [
+        "d2ce2b28.5e29e8"
+      ]
+    ]
+  },
+  {
+    "id": "d2ce2b28.5e29e8",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1377.5595436096191,
+    "y": 423.43177840160206,
+    "z": "60d023c5.cabe1c",
+    "wires": [
+      [
+        "f1e681ab.ee1c1"
+      ]
+    ]
+  },
+  {
+    "id": "5f52499a.1b3a58",
+    "type": "comment",
+    "name": "make sure this network doesn't exist already",
+    "info": "",
+    "comments": "",
+    "x": 1425.1943550109863,
+    "y": 323.5429019634612,
+    "z": "60d023c5.cabe1c",
+    "wires": []
+  },
+  {
+    "id": "f1e681ab.ee1c1",
+    "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=\"network-topology-operation-input.network-request-input.network-id already found in service-data\" />\n",
+    "comments": "",
+    "x": 1525.3096466064453,
+    "y": 423.28897047042847,
+    "z": "60d023c5.cabe1c",
+    "wires": []
+  },
+  {
+    "id": "3715a6c8.5b9a7a",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 1491.961139678955,
+    "y": 193.06668996810913,
+    "z": "60d023c5.cabe1c",
+    "wires": [
+      [
+        "e8cbf5d3.3c9d38",
+        "54012a96.723714"
+      ]
+    ]
+  },
+  {
+    "id": "e8cbf5d3.3c9d38",
+    "type": "switchNode",
+    "name": "switch name",
+    "xml": "<switch test=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'name'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1680.1829833984375,
+    "y": 175.39999413490295,
+    "z": "60d023c5.cabe1c",
+    "wires": [
+      [
+        "f228e37d.0f2a2"
+      ]
+    ]
+  },
+  {
+    "id": "f228e37d.0f2a2",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1867.1829833984375,
+    "y": 171.39999413490295,
+    "z": "60d023c5.cabe1c",
+    "wires": [
+      [
+        "7c1c28e6.2d07b8"
+      ]
+    ]
+  },
+  {
+    "id": "7c1c28e6.2d07b8",
+    "type": "set",
+    "name": "set name",
+    "xml": "<set>\n<parameter name='prop.name' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\n",
+    "comments": "",
+    "x": 2017.1831130981445,
+    "y": 170.00000071525574,
+    "z": "60d023c5.cabe1c",
+    "wires": []
+  },
+  {
+    "id": "54012a96.723714",
+    "type": "switchNode",
+    "name": "switch topology",
+    "xml": "<switch test=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'topology'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1691.0226440429688,
+    "y": 215.39999222755432,
+    "z": "60d023c5.cabe1c",
+    "wires": [
+      [
+        "e98b9c1d.e4ed8"
+      ]
+    ]
+  },
+  {
+    "id": "e98b9c1d.e4ed8",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1861.0226440429688,
+    "y": 211.39999222755432,
+    "z": "60d023c5.cabe1c",
+    "wires": [
+      [
+        "dbc89ad1.a2ed48"
+      ]
+    ]
+  },
+  {
+    "id": "dbc89ad1.a2ed48",
+    "type": "set",
+    "name": "set topology",
+    "xml": "<set>\n<parameter name='prop.topology' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\n",
+    "comments": "",
+    "x": 2048.3560848236084,
+    "y": 209.8611490726471,
+    "z": "60d023c5.cabe1c",
+    "wires": []
+  },
+  {
+    "id": "6cba311b.177c7",
+    "type": "for",
+    "name": "for loop i - Network input parameters",
+    "xml": "<for index=\"idx\" start=\"0\" end=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 829.7383041381836,
+    "y": 190.8444209098816,
+    "z": "60d023c5.cabe1c",
+    "wires": [
+      [
+        "3715a6c8.5b9a7a"
+      ]
+    ]
+  },
+  {
+    "id": "35a9ce0f.ae54c2",
+    "type": "comment",
+    "name": "TODO: Recheck AAI schemas",
+    "info": "",
+    "comments": "",
+    "x": 801.0351867675781,
+    "y": 49.43131971359253,
+    "z": "60d023c5.cabe1c",
+    "wires": []
+  },
+  {
+    "id": "aba522ee.20d06",
+    "type": "save",
+    "name": "save sdwan vpn resource in AAI",
+    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='sdwan-vpn' \n      key='sdwan-vpn.id = $prop.sdwan.network-id' >\n<parameter name='id' value='`$prop.sdwan.network-id`' />\n<parameter name='name' value='`$prop.name`' />\n<parameter name='topology' value='`$prop.topology`' />\n<parameter name='operational-status' value='Created' />\n<parameter name='model-customization-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`' />\n<parameter name='model-invariant-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`' />\n<parameter name='model-version-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-uuid`' />\n<parameter name='selflink' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $network-topology-operation-input.service-information.service-instance-id  + '/service-data/networks/network/'  + $prop.sdwan.network-id  + '/network-data/'` \" />",
+    "comments": "",
+    "outputs": 1,
+    "x": 814.0038986206055,
+    "y": 440.0039348602295,
+    "z": "60d023c5.cabe1c",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "6bb7e42.0db951c",
+    "type": "save",
+    "name": "save service relationship in AAI",
+    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list' \n      key='service-instance.service-instance-id = $service-data.service-information.service-instance-id \n         AND customer.global-customer-id = $service-data.networks.network[$nidx].network-data.service-information.global-customer-id \n         AND service-subscription.service-type = $service-data.networks.network[$nidx].network-data.service-information.subscription-service-type' \n      force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"sdwan-vpn\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/sdwan-vpns/sdwan-vpn/' + $prop.sdwan.network-id`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"sdwan-vpn.id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.sdwan.network-id`\" />",
+    "comments": "",
+    "outputs": 1,
+    "x": 810.00390625,
+    "y": 487.00390625,
+    "z": "60d023c5.cabe1c",
+    "wires": [
+      []
+    ]
+  }
+]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-network-topology-operation-deactivate.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-network-topology-operation-deactivate.json
new file mode 100644 (file)
index 0000000..9c84f2d
--- /dev/null
@@ -0,0 +1,585 @@
+[
+  {
+    "id": "793dbdb3.de8be4",
+    "type": "dgstart",
+    "name": "DGSTART",
+    "outputs": 1,
+    "x": 95.00390625,
+    "y": 45.00390625,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      [
+        "3a91b25b.2f4cce"
+      ]
+    ]
+  },
+  {
+    "id": "3a91b25b.2f4cce",
+    "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": 281.00391006469727,
+    "y": 117.0039234161377,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      [
+        "eca97066.caaf3"
+      ]
+    ]
+  },
+  {
+    "id": "eca97066.caaf3",
+    "type": "method",
+    "name": "method sdwan-network-topology-operation-deactivate",
+    "xml": "<method rpc='sdwan-network-topology-operation-deactivate' mode='sync'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 269.0040283203125,
+    "y": 205.00390625,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      [
+        "4de7b297.7c56ec"
+      ]
+    ]
+  },
+  {
+    "id": "4de7b297.7c56ec",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 443.00392150878906,
+    "y": 313.0039653778076,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      [
+        "b335849f.1ecf78",
+        "4b508beb.3a8574",
+        "49f08c5d.a4c334",
+        "c621318b.d31c",
+        "335b7a74.877be6",
+        "cf0d2147.3c1a7",
+        "fc2f3bed.6dcf68",
+        "6ed3cf6a.44f1b",
+        "2cf71503.16f17a",
+        "69c0586.74e3ea8",
+        "bd5c4a5d.9d8378",
+        "6cc3df01.2a98a",
+        "b06c361a.4ff338"
+      ]
+    ]
+  },
+  {
+    "id": "b335849f.1ecf78",
+    "type": "call",
+    "name": "call GENERIC-RESOURCE-API:validate-sdwan-network-input-parameters",
+    "xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-sdwan-network-input-parameters' mode='sync' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 901.3928070068359,
+    "y": 62.00390625,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "4b508beb.3a8574",
+    "type": "record",
+    "name": "record",
+    "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/svclogic.log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"sdwan-network-topology-operation-deactivate\"/>\n<parameter name=\"field3\" value=\"SDWAN-Deactivate\"/>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 701.5595054626465,
+    "y": 115.78175926208496,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "49f08c5d.a4c334",
+    "type": "set",
+    "name": "set networkId and network-object-path",
+    "xml": "<set>\n<parameter name='networkId' value='`$network-topology-operation-input.network-information.network-id`' />\n<parameter name=\"network-object-path\" value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $network-topology-operation-input.service-information.service-instance-id  + '/service-data/networks/network/'  + $network-topology-operation-input.network-information.network-id  + '/network-data/'` \" />",
+    "comments": "",
+    "x": 793.5597496032715,
+    "y": 742.3173627853394,
+    "z": "c3c952bc.05e95",
+    "wires": []
+  },
+  {
+    "id": "c621318b.d31c",
+    "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": 715.3375511169434,
+    "y": 931.8727827072144,
+    "z": "c3c952bc.05e95",
+    "wires": []
+  },
+  {
+    "id": "335b7a74.877be6",
+    "type": "set",
+    "name": "set network-level-oper-status",
+    "xml": "<set>\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status' value='PendingDelete' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.last-rpc-action' value='`$network-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.last-action' value='`$network-topology-operation-input.request-information.request-action`' />",
+    "comments": "",
+    "x": 760.4486656188965,
+    "y": 803.5395374298096,
+    "z": "c3c952bc.05e95",
+    "wires": []
+  },
+  {
+    "id": "cf0d2147.3c1a7",
+    "type": "execute",
+    "name": "execute Properties",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n    <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n    <parameter name='contextPrefix' value='prop' />\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 733.8616104125977,
+    "y": 168.78179550170898,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "fc2f3bed.6dcf68",
+    "type": "set",
+    "name": "set network in service-data",
+    "xml": "<set>\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.service-information.' value='`$network-topology-operation-input.service-information.`' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-information.' value='`$network-topology-operation-input.network-information.`' />",
+    "comments": "",
+    "x": 754.004280090332,
+    "y": 689.095196723938,
+    "z": "c3c952bc.05e95",
+    "wires": []
+  },
+  {
+    "id": "6ed3cf6a.44f1b",
+    "type": "for",
+    "name": "for each network-input-parameters",
+    "xml": "<for index='idx' start='0' end='`$ctx.network-data.network-request-input.network-input-parameters.param_length`' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 786.00390625,
+    "y": 239.00781378149986,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      [
+        "8e8065b6.1084e8"
+      ]
+    ]
+  },
+  {
+    "id": "8e8065b6.1084e8",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 1042.8373374938965,
+    "y": 173.34116491675377,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      [
+        "db93bdb.d26bf4",
+        "ac2e8139.951b",
+        "1e600efe.efd971",
+        "d6b3741d.b12d48"
+      ]
+    ]
+  },
+  {
+    "id": "db93bdb.d26bf4",
+    "type": "switchNode",
+    "name": "switch name",
+    "xml": "<switch test=\"`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].name == 'name'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1264.837417602539,
+    "y": 63.34119987487793,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      [
+        "c5296581.642598"
+      ]
+    ]
+  },
+  {
+    "id": "c5296581.642598",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1438.8375434875488,
+    "y": 63.341203689575195,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      [
+        "209fc8ff.4a3e38"
+      ]
+    ]
+  },
+  {
+    "id": "209fc8ff.4a3e38",
+    "type": "set",
+    "name": "set name",
+    "xml": "<set>\n<parameter name='prop.name' value='`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].value`' />\n",
+    "comments": "",
+    "x": 1601.8374290466309,
+    "y": 62.94119834899902,
+    "z": "c3c952bc.05e95",
+    "wires": []
+  },
+  {
+    "id": "2cf71503.16f17a",
+    "type": "get-resource",
+    "name": "get-resource esr-thirdparty-sdnc",
+    "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"esr-thirdparty-sdnc\" \n\t\tkey=\"esr-thirdparty-sdnc.thirdparty-sdnc-id = 'SDWAN-Controller' AND \n\t\t     depth = '1'\"\n        pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 780.00390625,
+    "y": 348.00781378149986,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      [
+        "fc6c7998.f0e088",
+        "27566cb3.03e2a4",
+        "235c43b0.c60f6c"
+      ]
+    ]
+  },
+  {
+    "id": "fc6c7998.f0e088",
+    "type": "success",
+    "name": "success",
+    "xml": "<outcome value='success'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1025.00390625,
+    "y": 294.00781378149986,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      [
+        "37902c28.eb9774"
+      ]
+    ]
+  },
+  {
+    "id": "27566cb3.03e2a4",
+    "type": "not-found",
+    "name": "not-found",
+    "xml": "<outcome value='not-found'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1028.494873046875,
+    "y": 341.5818494260311,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      [
+        "bebdf762.3c5628"
+      ]
+    ]
+  },
+  {
+    "id": "235c43b0.c60f6c",
+    "type": "other",
+    "name": "other",
+    "xml": "<outcome value='Other'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1023.827880859375,
+    "y": 382.91516241431236,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      [
+        "851cb606.194f18"
+      ]
+    ]
+  },
+  {
+    "id": "37902c28.eb9774",
+    "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": 1222.5039672851562,
+    "y": 282.00781378149986,
+    "z": "c3c952bc.05e95",
+    "wires": []
+  },
+  {
+    "id": "bebdf762.3c5628",
+    "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": 1205.0662841796875,
+    "y": 329.8675855100155,
+    "z": "c3c952bc.05e95",
+    "wires": []
+  },
+  {
+    "id": "851cb606.194f18",
+    "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": 1211.6004371643066,
+    "y": 378.354355186224,
+    "z": "c3c952bc.05e95",
+    "wires": []
+  },
+  {
+    "id": "69c0586.74e3ea8",
+    "type": "execute",
+    "name": "execute RestApiCallNode Get token",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/actokentemplate.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"token-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>",
+    "comments": "",
+    "outputs": 1,
+    "x": 788.00390625,
+    "y": 459.00781378149986,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      [
+        "96f3aa2e.c54988",
+        "cae8eff.6ac8b1"
+      ]
+    ]
+  },
+  {
+    "id": "96f3aa2e.c54988",
+    "type": "success",
+    "name": "success",
+    "xml": "<outcome value='success'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1023.00390625,
+    "y": 437.00781378149986,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      [
+        "91d847c8.f3fc48"
+      ]
+    ]
+  },
+  {
+    "id": "cae8eff.6ac8b1",
+    "type": "failure",
+    "name": "failure",
+    "xml": "<outcome value='failure'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1015.25390625,
+    "y": 490.6506970822811,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      [
+        "7d2fabee.7ea674"
+      ]
+    ]
+  },
+  {
+    "id": "91d847c8.f3fc48",
+    "type": "set",
+    "name": "set token-id",
+    "xml": "<set>\n<parameter name='prop.sdncRestApi.token_id' value='`$token-result.data.token_id`' />\n",
+    "comments": "",
+    "x": 1177.00390625,
+    "y": 438.00781378149986,
+    "z": "c3c952bc.05e95",
+    "wires": []
+  },
+  {
+    "id": "7d2fabee.7ea674",
+    "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": 1168.00390625,
+    "y": 490.40075811743736,
+    "z": "c3c952bc.05e95",
+    "wires": []
+  },
+  {
+    "id": "ac2e8139.951b",
+    "type": "switchNode",
+    "name": "switch topology",
+    "xml": "<switch test=\"`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].name == 'topology'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1270.253890991211,
+    "y": 106.00781416893005,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      [
+        "1cd087e9.a0e8d8"
+      ]
+    ]
+  },
+  {
+    "id": "1cd087e9.a0e8d8",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1444.2540168762207,
+    "y": 106.00781798362732,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      [
+        "4dc771ac.bec7e"
+      ]
+    ]
+  },
+  {
+    "id": "4dc771ac.bec7e",
+    "type": "set",
+    "name": "set topology",
+    "xml": "<set>\n<parameter name='prop.topology' value='`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].value`' />\n",
+    "comments": "",
+    "x": 1607.2539024353027,
+    "y": 105.60781264305115,
+    "z": "c3c952bc.05e95",
+    "wires": []
+  },
+  {
+    "id": "bd5c4a5d.9d8378",
+    "type": "execute",
+    "name": "execute RestApiCallNode delete vpn",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-vpn-delete.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/vpn/action/batch-delete'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"vpn-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+    "comments": "",
+    "outputs": 1,
+    "x": 786.7539825439453,
+    "y": 626.0080223083496,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "6cc3df01.2a98a",
+    "type": "execute",
+    "name": "execute RestApiCallNode delete vpn topology",
+    "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/overlay-network/' + $prop.vpn-id + '/topology'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"delete\"/>\n<parameter name=\"responsePrefix\" value=\"vpn-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+    "comments": "",
+    "outputs": 1,
+    "x": 816.2539978027344,
+    "y": 559.0079069137573,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "1e600efe.efd971",
+    "type": "switchNode",
+    "name": "switch vpn-id",
+    "xml": "<switch test=\"`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].name == 'vpn-id'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1264.5039691925049,
+    "y": 189.00390815734863,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      [
+        "c1d7d040.09f8"
+      ]
+    ]
+  },
+  {
+    "id": "c1d7d040.09f8",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1446.5040016174316,
+    "y": 189.00390696525574,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      [
+        "c45b30c0.c02ff"
+      ]
+    ]
+  },
+  {
+    "id": "c45b30c0.c02ff",
+    "type": "set",
+    "name": "set prop.vpn-id",
+    "xml": "<set>\n<parameter name='prop.vpn-id' value='`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].value`' />\n",
+    "comments": "",
+    "x": 1609.5038871765137,
+    "y": 188.60390162467957,
+    "z": "c3c952bc.05e95",
+    "wires": []
+  },
+  {
+    "id": "d6b3741d.b12d48",
+    "type": "switchNode",
+    "name": "switch tenant-id",
+    "xml": "<switch test=\"`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].name == 'tenant-id'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1270.25390625,
+    "y": 232.00390625,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      [
+        "3b68a208.b06d0e"
+      ]
+    ]
+  },
+  {
+    "id": "3b68a208.b06d0e",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1444.2540321350098,
+    "y": 232.00391006469727,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      [
+        "61b35e07.ec39d"
+      ]
+    ]
+  },
+  {
+    "id": "61b35e07.ec39d",
+    "type": "set",
+    "name": "set prop.tenant-id",
+    "xml": "<set>\n<parameter name='prop.tenant-id' value='`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].value`' />\n",
+    "comments": "",
+    "x": 1607.2539176940918,
+    "y": 231.6039047241211,
+    "z": "c3c952bc.05e95",
+    "wires": []
+  },
+  {
+    "id": "b06c361a.4ff338",
+    "type": "update",
+    "name": "update SDWAN VPN status to AAI",
+    "xml": "<update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='sdwan-vpn' \n      key='sdwan-vpn.id = $network-topology-operation-input.network-information.network-id' >\n<parameter name='id' value='`$network-topology-operation-input.network-information.network-id`' />\n<parameter name='operational-status' value='PendingDelete' />",
+    "comments": "",
+    "outputs": 1,
+    "x": 774.0039443969727,
+    "y": 870.5039930343628,
+    "z": "c3c952bc.05e95",
+    "wires": [
+      []
+    ]
+  }
+]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-network-topology-operation-delete.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-network-topology-operation-delete.json
new file mode 100644 (file)
index 0000000..735dc30
--- /dev/null
@@ -0,0 +1,159 @@
+[
+  {
+    "id": "16434d54.ed2623",
+    "type": "dgstart",
+    "name": "DGSTART",
+    "outputs": 1,
+    "x": 119.00390625,
+    "y": 54.00390625,
+    "z": "e1197598.e19d88",
+    "wires": [
+      [
+        "2405c02a.b511b"
+      ]
+    ]
+  },
+  {
+    "id": "2405c02a.b511b",
+    "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": 331.00391006469727,
+    "y": 126.0039234161377,
+    "z": "e1197598.e19d88",
+    "wires": [
+      [
+        "57a7aa96.552214"
+      ]
+    ]
+  },
+  {
+    "id": "57a7aa96.552214",
+    "type": "method",
+    "name": "method sdwan-network-topology-operation-delete",
+    "xml": "<method rpc='sdwan-network-topology-operation-delete' mode='sync'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 319.0040283203125,
+    "y": 214.00390625,
+    "z": "e1197598.e19d88",
+    "wires": [
+      [
+        "143b26be.1b4569"
+      ]
+    ]
+  },
+  {
+    "id": "143b26be.1b4569",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 489.44836044311523,
+    "y": 276.44836235046387,
+    "z": "e1197598.e19d88",
+    "wires": [
+      [
+        "562848d7.41e4c8",
+        "59bbd8d6.78d208",
+        "6c3e0fcd.7bef",
+        "358f6dc3.63de32",
+        "d740b485.fa2068",
+        "5120c39b.5dfdac",
+        "28dcbe3c.830122"
+      ]
+    ]
+  },
+  {
+    "id": "562848d7.41e4c8",
+    "type": "call",
+    "name": "call GENERIC-RESOURCE-API:validate-sdwan-network-input-parameters",
+    "xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-sdwan-network-input-parameters' mode='sync' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 970.3928146362305,
+    "y": 71.00391006469727,
+    "z": "e1197598.e19d88",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "59bbd8d6.78d208",
+    "type": "record",
+    "name": "record",
+    "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/svclogic.log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"sdwan-network-topology-operation-delete\"/>\n<parameter name=\"field3\" value=\"SDWAN-Delete\"/>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 764.7816314697266,
+    "y": 137.33727836608887,
+    "z": "e1197598.e19d88",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "6c3e0fcd.7bef",
+    "type": "set",
+    "name": "set networkId and network-object-path",
+    "xml": "<set>\n<parameter name='networkId' value='`$network-topology-operation-input.network-information.network-id`' />\n<parameter name='service-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $network-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'` \" />",
+    "comments": "",
+    "x": 849.448314666748,
+    "y": 385.4281978607178,
+    "z": "e1197598.e19d88",
+    "wires": []
+  },
+  {
+    "id": "358f6dc3.63de32",
+    "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": 778.5595626831055,
+    "y": 448.9835858345032,
+    "z": "e1197598.e19d88",
+    "wires": []
+  },
+  {
+    "id": "5120c39b.5dfdac",
+    "type": "set",
+    "name": "set new network length",
+    "xml": "<set>\n\t<parameter name=\"service-data.networks.network_length\" value=\"`$service-data.networks.network_length - 1`\"/>\n\n\t\n",
+    "comments": "",
+    "x": 808.0809860229492,
+    "y": 262.89910793304443,
+    "z": "e1197598.e19d88",
+    "wires": []
+  },
+  {
+    "id": "d740b485.fa2068",
+    "type": "set",
+    "name": "Remove networks from ServiceData",
+    "xml": "<set>\n\t<parameter name=\"service-data.networks.network[$tmp.nidx].\" value=\"\"/>\n\n",
+    "comments": "",
+    "x": 848.7051429748535,
+    "y": 310.8670496940613,
+    "z": "e1197598.e19d88",
+    "wires": []
+  },
+  {
+    "id": "28dcbe3c.830122",
+    "type": "delete",
+    "name": "delete SDWAN VPNInstance connectivity in AAI",
+    "xml": "<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" resource='sdwan-vpn' \n        key='sdwan-vpn.id = $network-topology-operation-input.network-information.network-id'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 886.6364860534668,
+    "y": 204.01019191741943,
+    "z": "e1197598.e19d88",
+    "wires": [
+      []
+    ]
+  }
+]
index 581636d..9533eb4 100644 (file)
@@ -1,20 +1,20 @@
 [
   {
-    "id": "aa22e363.5ad9c",
+    "id": "8788b5a2.1dbb88",
     "type": "dgstart",
     "name": "DGSTART",
     "outputs": 1,
-    "x": 173,
-    "y": 104,
-    "z": "e63010f0.f0847",
+    "x": 159,
+    "y": 79,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "3634cf2d.3f674"
+        "3ba09ab5.471bb6"
       ]
     ]
   },
   {
-    "id": "3634cf2d.3f674",
+    "id": "3ba09ab5.471bb6",
     "type": "service-logic",
     "name": "GENERIC-RESOURCE-API ${project.version}",
     "module": "GENERIC-RESOURCE-API",
     "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": 245.28570556640625,
-    "y": 156.2381134033203,
-    "z": "e63010f0.f0847",
+    "x": 231.28570556640625,
+    "y": 131.2381134033203,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "dc6b50ac.b14ae"
+        "14d14939.627767"
       ]
     ]
   },
   {
-    "id": "dc6b50ac.b14ae",
+    "id": "14d14939.627767",
     "type": "method",
     "name": "validate-network-input",
     "xml": "<method rpc='validate-network-input' mode='sync'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 245.42862701416016,
-    "y": 218,
-    "z": "e63010f0.f0847",
+    "x": 231.42862701416016,
+    "y": 193,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "60705b95.8e4c74"
+        "b2af2fbc.edaf5"
       ]
     ]
   },
   {
-    "id": "60705b95.8e4c74",
+    "id": "b2af2fbc.edaf5",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "outputs": 1,
-    "x": 258.7500457763672,
-    "y": 500.44349479675293,
-    "z": "e63010f0.f0847",
+    "x": 244.7500457763672,
+    "y": 475.44349479675293,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "424a6588.75405c",
-        "41aac9e2.714da8",
-        "34794cd4.bfbb54",
-        "aba5bba0.164998",
-        "763368b.8211298",
-        "72fc5045.064b6"
+        "ad851adc.fdf888",
+        "205d6a31.b83f56",
+        "bb69c265.9ec57",
+        "402cb1d.785695",
+        "96d49b08.fa0328",
+        "80d58546.aa7e88"
       ]
     ]
   },
   {
-    "id": "424a6588.75405c",
+    "id": "ad851adc.fdf888",
     "type": "switchNode",
     "name": "switch svc-request-id",
     "xml": "<switch test='`$network-topology-operation-input.sdnc-request-header.svc-request-id`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 575.1428604125977,
-    "y": 226.42859077453613,
-    "z": "e63010f0.f0847",
+    "x": 561.1428604125977,
+    "y": 201.42859077453613,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "3ab28c54.b072c4"
+        "33b50e86.044722"
       ]
     ]
   },
   {
-    "id": "3ab28c54.b072c4",
+    "id": "33b50e86.044722",
     "type": "other",
     "name": "NULL",
     "xml": "<outcome value=''>",
     "comments": "",
     "outputs": 1,
-    "x": 800.8571646554128,
-    "y": 226.42859322684126,
-    "z": "e63010f0.f0847",
+    "x": 786.8571646554128,
+    "y": 201.42859322684126,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "8d0406d6.b8ee88"
+        "70f295d3.d71adc"
       ]
     ]
   },
   {
-    "id": "8d0406d6.b8ee88",
+    "id": "70f295d3.d71adc",
     "type": "returnFailure",
     "name": "return failure",
     "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"sdnc-request-header.svc-request-id is a required input\" />\n",
     "comments": "",
-    "x": 952.2857306344167,
-    "y": 226.42859131949263,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 938.2857306344167,
+    "y": 201.42859131949263,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "41aac9e2.714da8",
+    "id": "205d6a31.b83f56",
     "type": "switchNode",
     "name": "switch svc-action",
     "xml": "<switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 563.7142333984375,
-    "y": 185.00002098083496,
-    "z": "e63010f0.f0847",
+    "x": 549.7142333984375,
+    "y": 160.00002098083496,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "cc6829d4.0c5c98"
+        "b11b9bfa.b83dd8"
       ]
     ]
   },
   {
-    "id": "cc6829d4.0c5c98",
+    "id": "b11b9bfa.b83dd8",
     "type": "other",
     "name": "NULL",
     "xml": "<outcome value=''>",
     "comments": "",
     "outputs": 1,
-    "x": 799.4285850524902,
-    "y": 183.57141876220703,
-    "z": "e63010f0.f0847",
+    "x": 785.4285850524902,
+    "y": 158.57141876220703,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "954a45b4.c4bd48"
+        "1d63b726.f05909"
       ]
     ]
   },
   {
-    "id": "954a45b4.c4bd48",
+    "id": "1d63b726.f05909",
     "type": "returnFailure",
     "name": "return failure",
     "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"sdnc-request-header.svc-action is a required input\" />\n",
     "comments": "",
-    "x": 949.4285583496094,
-    "y": 183.5714282989502,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 935.4285583496094,
+    "y": 158.5714282989502,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "34794cd4.bfbb54",
+    "id": "bb69c265.9ec57",
     "type": "switchNode",
     "name": "switch request-action",
     "xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 573.7142715454102,
-    "y": 269.285737991333,
-    "z": "e63010f0.f0847",
+    "x": 559.7142715454102,
+    "y": 244.285737991333,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "e865d69c.ca4628"
+        "23018cf6.3779b4"
       ]
     ]
   },
   {
-    "id": "e865d69c.ca4628",
+    "id": "23018cf6.3779b4",
     "type": "other",
     "name": "NULL",
     "xml": "<outcome value=''>",
     "comments": "",
     "outputs": 1,
-    "x": 800.8571602957591,
-    "y": 269.2857469831197,
-    "z": "e63010f0.f0847",
+    "x": 786.8571602957591,
+    "y": 244.28574698311968,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "62d97ca4.f50d34"
+        "3d7d65b5.26ffaa"
       ]
     ]
   },
   {
-    "id": "62d97ca4.f50d34",
+    "id": "3d7d65b5.26ffaa",
     "type": "returnFailure",
     "name": "return failure",
     "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"request-information.request-action is a required input\" />\n",
     "comments": "",
-    "x": 952.285726274763,
-    "y": 269.28574507577105,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 938.285726274763,
+    "y": 244.28574507577105,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "aba5bba0.164998",
+    "id": "402cb1d.785695",
     "type": "switchNode",
     "name": "switch service-instance-id",
     "xml": "<switch test='`$network-topology-operation-input.service-information.service-instance-id`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 582.857177734375,
-    "y": 312,
-    "z": "e63010f0.f0847",
+    "x": 568.857177734375,
+    "y": 287,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "752234db.04545c"
+        "f8fe5d6a.080ae"
       ]
     ]
   },
   {
-    "id": "752234db.04545c",
+    "id": "f8fe5d6a.080ae",
     "type": "other",
     "name": "NULL",
     "xml": "<outcome value=''>",
     "comments": "",
     "outputs": 1,
-    "x": 799.2857666015625,
-    "y": 313,
-    "z": "e63010f0.f0847",
+    "x": 785.2857666015625,
+    "y": 288,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "adc2cc4f.6110e"
+        "cc71f851.6ba9a8"
       ]
     ]
   },
   {
-    "id": "adc2cc4f.6110e",
+    "id": "cc71f851.6ba9a8",
     "type": "returnFailure",
     "name": "return failure",
     "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"service-information.service-instance-id is a required input\" />\n",
     "comments": "",
-    "x": 957.7142944335938,
-    "y": 312,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 943.7142944335938,
+    "y": 287,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "fdca37a9.e0d4a8",
+    "id": "e6be7a59.b96b68",
     "type": "comment",
     "name": "validate-network-input - CHANGELOG",
     "info": "12/8: Initial release 1.0.0",
     "comments": "",
-    "x": 458,
-    "y": 68,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 444,
+    "y": 43,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "763368b.8211298",
+    "id": "96d49b08.fa0328",
     "type": "switchNode",
     "name": "switch svc-action",
     "xml": "<switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 560,
-    "y": 399,
-    "z": "e63010f0.f0847",
+    "x": 546,
+    "y": 374,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "edb163d0.0d9bd",
-        "3d4debed.fa8d24",
-        "5911863a.931558",
-        "f57cf7c2.b3c108",
-        "7be255c0.a124ec"
+        "3c93b861.36fba8",
+        "88f1d93c.c06f98",
+        "a20067e.94ffe98",
+        "d5a289af.7573e8",
+        "f8a0e353.63b13"
       ]
     ]
   },
   {
-    "id": "edb163d0.0d9bd",
+    "id": "3c93b861.36fba8",
     "type": "other",
     "name": "assign",
     "xml": "<outcome value='assign'>",
     "comments": "",
     "outputs": 1,
-    "x": 792.71435546875,
-    "y": 404.5714111328125,
-    "z": "e63010f0.f0847",
+    "x": 778.71435546875,
+    "y": 379.5714111328125,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "b6d654b8.2b85d8"
+        "21db76c1.48922a"
       ]
     ]
   },
   {
-    "id": "3d4debed.fa8d24",
+    "id": "88f1d93c.c06f98",
     "type": "other",
     "name": "activate",
     "xml": "<outcome value='activate'>",
     "comments": "",
     "outputs": 1,
-    "x": 784.0000267028809,
-    "y": 554.0000276565552,
-    "z": "e63010f0.f0847",
+    "x": 772.0000114440918,
+    "y": 566.0000247955322,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "5e9ccb62.4b0f94"
+        "98c549ed.adadc8"
       ]
     ]
   },
   {
-    "id": "5911863a.931558",
+    "id": "a20067e.94ffe98",
     "type": "other",
     "name": "deactivate",
     "xml": "<outcome value='deactivate'>",
     "comments": "",
     "outputs": 1,
-    "x": 778.0001068115234,
-    "y": 807.0000438690186,
-    "z": "e63010f0.f0847",
+    "x": 770.000114440918,
+    "y": 862.0001058578491,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "c06357f6.b66898"
+        "99c9746e.0bf598"
       ]
     ]
   },
   {
-    "id": "b6d654b8.2b85d8",
+    "id": "21db76c1.48922a",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "comments": "",
     "outputs": 1,
-    "x": 955,
-    "y": 404,
-    "z": "e63010f0.f0847",
+    "x": 941,
+    "y": 379,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "cc667ce6.4817a"
+        "272bb5f8.f31cda"
       ]
     ]
   },
   {
-    "id": "cc667ce6.4817a",
+    "id": "272bb5f8.f31cda",
     "type": "switchNode",
     "name": "switch request-action",
     "xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 1175,
-    "y": 404,
-    "z": "e63010f0.f0847",
+    "x": 1161,
+    "y": 379,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "7fcba633.e86008",
-        "e47a83a1.2fbbf"
+        "75bb00b.643f9",
+        "de64b013.96b09"
       ]
     ]
   },
   {
-    "id": "7fcba633.e86008",
+    "id": "75bb00b.643f9",
     "type": "other",
     "name": "CreateNetworkInstance",
     "xml": "<outcome value='CreateNetworkInstance'>",
     "comments": "",
     "outputs": 1,
-    "x": 1455,
-    "y": 369,
-    "z": "e63010f0.f0847",
+    "x": 1441,
+    "y": 344,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "90c22def.e3658"
+        "46e41b99.978564"
       ]
     ]
   },
   {
-    "id": "e47a83a1.2fbbf",
+    "id": "de64b013.96b09",
     "type": "other",
     "name": "Other",
     "xml": "<outcome value='Other'>",
     "comments": "",
     "outputs": 1,
-    "x": 1404,
-    "y": 413,
-    "z": "e63010f0.f0847",
+    "x": 1390,
+    "y": 388,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "11259f2c.2c5851"
+        "7d916d38.e514a4"
       ]
     ]
   },
   {
-    "id": "11259f2c.2c5851",
+    "id": "7d916d38.e514a4",
     "type": "returnFailure",
     "name": "return failure",
     "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"request-information.request-action is required to be CreateNetworkInstance for svc-action=assign\" />\n",
     "comments": "",
-    "x": 1573,
-    "y": 413,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 1559,
+    "y": 388,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "5e9ccb62.4b0f94",
+    "id": "98c549ed.adadc8",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "outputs": 1,
-    "x": 958.0000267028809,
-    "y": 554.0000276565552,
-    "z": "e63010f0.f0847",
+    "x": 946.0000114440918,
+    "y": 566.0000247955322,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "f4d087e.9b7c778"
+        "7cbbeac6.2691d4"
       ]
     ]
   },
   {
-    "id": "f4d087e.9b7c778",
+    "id": "7cbbeac6.2691d4",
     "type": "switchNode",
     "name": "switch request-action",
     "xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 1175.0000267028809,
-    "y": 554.0000276565552,
-    "z": "e63010f0.f0847",
+    "x": 1163.0000114440918,
+    "y": 566.0000247955322,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "8b9f91c2.ef8f",
-        "e76466ea.614998",
-        "e3f71705.e890b8",
-        "3339894b.fbd566"
+        "34d0495d.e1b546",
+        "b4c471fa.cde5e",
+        "985ba54f.3974a8",
+        "1c550262.882b2e",
+        "dce79fa4.7fd85"
       ]
     ]
   },
   {
-    "id": "8b9f91c2.ef8f",
+    "id": "34d0495d.e1b546",
     "type": "other",
     "name": "CreateNetworkInstance",
     "xml": "<outcome value='CreateNetworkInstance'>",
     "comments": "",
     "outputs": 1,
-    "x": 1456.0000267028809,
-    "y": 555.0000276565552,
-    "z": "e63010f0.f0847",
+    "x": 1444.0000114440918,
+    "y": 567.0000247955322,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "a593db30.0056b8"
+        "c5dc69fd.8115a8"
       ]
     ]
   },
   {
-    "id": "e76466ea.614998",
+    "id": "b4c471fa.cde5e",
     "type": "other",
     "name": "Other",
     "xml": "<outcome value='Other'>",
     "comments": "",
     "outputs": 1,
-    "x": 1399.0000267028809,
-    "y": 595.0000276565552,
-    "z": "e63010f0.f0847",
+    "x": 1387.0000114440918,
+    "y": 607.0000247955322,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "e0028710.cdce68"
+        "d8bc1fab.0cb7b"
       ]
     ]
   },
   {
-    "id": "e0028710.cdce68",
+    "id": "d8bc1fab.0cb7b",
     "type": "returnFailure",
     "name": "return failure",
     "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"request-information.request-action is required to be CreateNetworkInstance for svc-action=activate\" />\n",
     "comments": "",
-    "x": 1557.8573265075684,
-    "y": 594.4286479949951,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 1545.8573112487793,
+    "y": 606.4286451339722,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "c06357f6.b66898",
+    "id": "99c9746e.0bf598",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "outputs": 1,
-    "x": 960.0001068115234,
-    "y": 806.0000438690186,
-    "z": "e63010f0.f0847",
+    "x": 952.000114440918,
+    "y": 861.0001058578491,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "2c559a74.f14f66"
+        "2c02914c.ac786e"
       ]
     ]
   },
   {
-    "id": "2c559a74.f14f66",
+    "id": "2c02914c.ac786e",
     "type": "switchNode",
     "name": "switch request-action",
     "xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 1177.0001068115234,
-    "y": 806.0000438690186,
-    "z": "e63010f0.f0847",
+    "x": 1169.000114440918,
+    "y": 861.0001058578491,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "e1815270.e3769",
-        "8e7d53d0.51ae3",
-        "f6ea82e8.fb9a3",
-        "6f734fad.294d7"
+        "e6f9cf57.ba236",
+        "95775b49.fc2318",
+        "a630529b.bc37b",
+        "4893ca1b.86d634",
+        "10d3655a.b8cb0b"
       ]
     ]
   },
   {
-    "id": "e1815270.e3769",
+    "id": "e6f9cf57.ba236",
     "type": "other",
     "name": "DeleteNetworkInstance",
     "xml": "<outcome value='DeleteNetworkInstance'>",
     "comments": "",
     "outputs": 1,
-    "x": 1458.0001068115234,
-    "y": 807.0000438690186,
-    "z": "e63010f0.f0847",
+    "x": 1450.000114440918,
+    "y": 862.0001058578491,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "936b8b06.a15328"
+        "397759af.0b93f6"
       ]
     ]
   },
   {
-    "id": "8e7d53d0.51ae3",
+    "id": "95775b49.fc2318",
     "type": "other",
     "name": "Other",
     "xml": "<outcome value='Other'>",
     "comments": "",
     "outputs": 1,
-    "x": 1401.0001068115234,
-    "y": 847.0000438690186,
-    "z": "e63010f0.f0847",
+    "x": 1393.000114440918,
+    "y": 902.0001058578491,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "a2922810.d680c8"
+        "41fdec9e.e8a644"
       ]
     ]
   },
   {
-    "id": "a2922810.d680c8",
+    "id": "41fdec9e.e8a644",
     "type": "returnFailure",
     "name": "return failure",
     "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"request-information.request-action is required to be DeleteNetworkInstance for svc-action=deactivate\" />\n",
     "comments": "",
-    "x": 1570.000171661377,
-    "y": 849.8572053909302,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 1562.0001792907715,
+    "y": 904.8572673797607,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "f57cf7c2.b3c108",
+    "id": "d5a289af.7573e8",
     "type": "other",
     "name": "unassign",
     "xml": "<outcome value='unassign'>",
     "comments": "",
     "outputs": 1,
-    "x": 774.0000762939453,
-    "y": 901.000020980835,
-    "z": "e63010f0.f0847",
+    "x": 766.0000839233398,
+    "y": 956.0000829696655,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "e78f3cba.10d64"
+        "390e2b39.6c4854"
       ]
     ]
   },
   {
-    "id": "e78f3cba.10d64",
+    "id": "390e2b39.6c4854",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "outputs": 1,
-    "x": 956.0001068115234,
-    "y": 897.0000438690186,
-    "z": "e63010f0.f0847",
+    "x": 948.000114440918,
+    "y": 952.0001058578491,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "7511951a.0ec48c"
+        "106acf9d.333d5"
       ]
     ]
   },
   {
-    "id": "7511951a.0ec48c",
+    "id": "106acf9d.333d5",
     "type": "switchNode",
     "name": "switch request-action",
     "xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 1173.0001068115234,
-    "y": 897.0000438690186,
-    "z": "e63010f0.f0847",
+    "x": 1165.000114440918,
+    "y": 952.0001058578491,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "f3c5d913.c4c948",
-        "42b53453.819ecc"
+        "7360ef3d.9811b",
+        "6d03b112.dfc4"
       ]
     ]
   },
   {
-    "id": "f3c5d913.c4c948",
+    "id": "7360ef3d.9811b",
     "type": "other",
     "name": "DeleteNetworkInstance",
     "xml": "<outcome value='DeleteNetworkInstance'>",
     "comments": "",
     "outputs": 1,
-    "x": 1454.0001068115234,
-    "y": 898.0000438690186,
-    "z": "e63010f0.f0847",
+    "x": 1446.000114440918,
+    "y": 953.0001058578491,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "aee90b8e.b2e688"
+        "c8e6a8bb.defab8"
       ]
     ]
   },
   {
-    "id": "42b53453.819ecc",
+    "id": "6d03b112.dfc4",
     "type": "other",
     "name": "Other",
     "xml": "<outcome value='Other'>",
     "comments": "",
     "outputs": 1,
-    "x": 1397.0001068115234,
-    "y": 938.0000438690186,
-    "z": "e63010f0.f0847",
+    "x": 1389.000114440918,
+    "y": 993.0001058578491,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "ee18c342.b25c6"
+        "7dd14282.06273c"
       ]
     ]
   },
   {
-    "id": "ee18c342.b25c6",
+    "id": "7dd14282.06273c",
     "type": "returnFailure",
     "name": "return failure",
     "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"request-information.request-action is required to be DeleteNetworkInstance for svc-action=unassign\" />\n",
     "comments": "",
-    "x": 1566.0001068115234,
-    "y": 938.0000438690186,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 1558.000114440918,
+    "y": 993.0001058578491,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "90c22def.e3658",
+    "id": "46e41b99.978564",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "comments": "",
     "outputs": 1,
-    "x": 1691,
-    "y": 368,
-    "z": "e63010f0.f0847",
+    "x": 1677,
+    "y": 343,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "85de231.44f83e",
-        "126ed261.6d016e",
-        "b947049a.5131d8",
-        "670aca33.70fd54",
-        "11f179e3.c70cd6",
-        "2fc8fc6.5a9a904",
-        "7f804ef3.5d76a",
-        "ba42444e.d99888"
+        "7e651b21.c50284",
+        "6b264531.de0afc",
+        "87ae2dd3.c6822",
+        "77cf2c9e.63a064",
+        "e62c59c8.088828",
+        "d8c0a4b6.4a38d8",
+        "6f3ed145.89e1a",
+        "81763a92.4e5c78"
       ]
     ]
   },
   {
-    "id": "a593db30.0056b8",
+    "id": "c5dc69fd.8115a8",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "comments": "",
     "outputs": 1,
-    "x": 1681.0000267028809,
-    "y": 555.0000276565552,
-    "z": "e63010f0.f0847",
+    "x": 1669.0000114440918,
+    "y": 567.0000247955322,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "1b080f63.6e5091",
-        "85de231.44f83e",
-        "126ed261.6d016e",
-        "b947049a.5131d8",
-        "670aca33.70fd54",
-        "2fc8fc6.5a9a904",
-        "7f804ef3.5d76a"
+        "dc0c345f.272208",
+        "7e651b21.c50284",
+        "6b264531.de0afc",
+        "87ae2dd3.c6822",
+        "77cf2c9e.63a064",
+        "d8c0a4b6.4a38d8",
+        "6f3ed145.89e1a"
       ]
     ]
   },
   {
-    "id": "936b8b06.a15328",
+    "id": "397759af.0b93f6",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "comments": "",
     "outputs": 1,
-    "x": 1714.0001068115234,
-    "y": 808.0000438690186,
-    "z": "e63010f0.f0847",
+    "x": 1706.000114440918,
+    "y": 863.0001058578491,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "1b080f63.6e5091"
+        "dc0c345f.272208"
       ]
     ]
   },
   {
-    "id": "aee90b8e.b2e688",
+    "id": "c8e6a8bb.defab8",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "comments": "",
     "outputs": 1,
-    "x": 1713.0001068115234,
-    "y": 899.0000438690186,
-    "z": "e63010f0.f0847",
+    "x": 1705.000114440918,
+    "y": 954.0001058578491,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "1b080f63.6e5091"
+        "dc0c345f.272208"
       ]
     ]
   },
   {
-    "id": "7f804ef3.5d76a",
+    "id": "6f3ed145.89e1a",
     "type": "switchNode",
     "name": "switch onap-model-information.model-uuid",
     "xml": "<switch test='`$network-topology-operation-input.service-information.onap-model-information.model-uuid`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 2280.166816711426,
-    "y": 1175.7499980926514,
-    "z": "e63010f0.f0847",
+    "x": 2266.166816711426,
+    "y": 1150.7499980926514,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "9aa6f4b4.608f88",
-        "d32879df.ba1d98"
+        "6ba35582.02a89c",
+        "8d6ac32a.9037"
       ]
     ]
   },
   {
-    "id": "1b080f63.6e5091",
+    "id": "dc0c345f.272208",
     "type": "switchNode",
     "name": "switch network-information.network-id",
     "xml": "<switch test='`$network-topology-operation-input.network-information.network-id`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 2291.6665954589844,
-    "y": 342.666729927063,
-    "z": "e63010f0.f0847",
+    "x": 2277.6665954589844,
+    "y": 317.666729927063,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "9fba2200.51e6c"
+        "320cd589.df0dea"
       ]
     ]
   },
   {
-    "id": "9fba2200.51e6c",
+    "id": "320cd589.df0dea",
     "type": "other",
     "name": "NULL",
     "xml": "<outcome value=''>",
     "comments": "",
     "outputs": 1,
-    "x": 2522.380714416504,
-    "y": 342.6667537689209,
-    "z": "e63010f0.f0847",
+    "x": 2508.380714416504,
+    "y": 317.6667537689209,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "22a9013d.6fbafe"
+        "a1d040a8.b6d41"
       ]
     ]
   },
   {
-    "id": "22a9013d.6fbafe",
+    "id": "a1d040a8.b6d41",
     "type": "returnFailure",
     "name": "return failure",
     "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"service-information.network-information.network-id is a required input\" />\n",
     "comments": "",
-    "x": 2683.8095474243164,
-    "y": 344.66674613952637,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 2669.8095474243164,
+    "y": 319.66674613952637,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "1c9e653c.7c448b",
+    "id": "3e5905e9.f5a48a",
     "type": "comment",
     "name": "validations - required for all",
     "info": "",
     "comments": "",
-    "x": 591,
-    "y": 142,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 577,
+    "y": 117,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "d7960cc9.37033",
+    "id": "19e922fc.da104d",
     "type": "comment",
     "name": "validations specific per svc-action",
     "info": "",
     "comments": "",
-    "x": 603,
-    "y": 357,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 589,
+    "y": 332,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "87ae65e.0ad4198",
+    "id": "c5d98990.732158",
     "type": "comment",
     "name": "network-request-information block validations",
     "info": "",
     "comments": "",
-    "x": 2283.5001525878906,
-    "y": 1027.7500467300415,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 2269.5001525878906,
+    "y": 1002.7500467300415,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "85de231.44f83e",
+    "id": "7e651b21.c50284",
     "type": "switchNode",
     "name": "switch network-request-information.tenant",
     "xml": "<switch test='`$network-topology-operation-input.network-request-input.tenant`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 2280.5001525878906,
-    "y": 1077.7500467300415,
-    "z": "e63010f0.f0847",
+    "x": 2266.5001525878906,
+    "y": 1052.7500467300415,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "9e25a0c.b03396"
+        "b8f089fb.d935a8"
       ]
     ]
   },
   {
-    "id": "9e25a0c.b03396",
+    "id": "b8f089fb.d935a8",
     "type": "other",
     "name": "NULL",
     "xml": "<outcome value=''>",
     "comments": "",
     "outputs": 1,
-    "x": 2522.2145080566406,
-    "y": 1079.7500467300415,
-    "z": "e63010f0.f0847",
+    "x": 2508.2145080566406,
+    "y": 1054.7500467300415,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "e6e63c4d.e8316"
+        "3d496a0d.53e9c6"
       ]
     ]
   },
   {
-    "id": "e6e63c4d.e8316",
+    "id": "3d496a0d.53e9c6",
     "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=\"network-request-input.tenant is a required input\" />\n",
     "comments": "",
-    "x": 2673.643096923828,
-    "y": 1077.7500467300415,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 2659.643096923828,
+    "y": 1052.7500467300415,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "126ed261.6d016e",
+    "id": "6b264531.de0afc",
     "type": "switchNode",
     "name": "switch network-request-information.aic-cloud-region",
     "xml": "<switch test='`$network-topology-operation-input.network-request-input.aic-cloud-region`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 2309.5001525878906,
-    "y": 1120.7500467300415,
-    "z": "e63010f0.f0847",
+    "x": 2295.5001525878906,
+    "y": 1095.7500467300415,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "a58f9313.2cb"
+        "615cc864.89ade8"
       ]
     ]
   },
   {
-    "id": "a58f9313.2cb",
+    "id": "615cc864.89ade8",
     "type": "other",
     "name": "NULL",
     "xml": "<outcome value=''>",
     "comments": "",
     "outputs": 1,
-    "x": 2571.2145080566406,
-    "y": 1120.7500467300415,
-    "z": "e63010f0.f0847",
+    "x": 2557.2145080566406,
+    "y": 1095.7500467300415,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "8fa39600.8eb028"
+        "b53a0b88.3c7958"
       ]
     ]
   },
   {
-    "id": "8fa39600.8eb028",
+    "id": "b53a0b88.3c7958",
     "type": "returnFailure",
     "name": "return failure",
     "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"service-information.network-request-information.aic-cloud-region is a required input\" />\n",
     "comments": "",
-    "x": 2735.6429748535156,
-    "y": 1119.7500467300415,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 2721.6429748535156,
+    "y": 1094.7500467300415,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "b947049a.5131d8",
+    "id": "87ae2dd3.c6822",
     "type": "switchNode",
     "name": "switch onap-model-information.model-invariant-uuid",
     "xml": "<switch test='`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 2322.0001220703125,
-    "y": 851.750057220459,
-    "z": "e63010f0.f0847",
+    "x": 2308.0001220703125,
+    "y": 826.750057220459,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "db1531a3.b01d4"
+        "cc6685f6.058958"
       ]
     ]
   },
   {
-    "id": "db1531a3.b01d4",
+    "id": "cc6685f6.058958",
     "type": "other",
     "name": "NULL",
     "xml": "<outcome value=''>",
     "comments": "",
     "outputs": 1,
-    "x": 2607.0001831054688,
-    "y": 850.7500514984131,
-    "z": "e63010f0.f0847",
+    "x": 2593.0001831054688,
+    "y": 825.7500514984131,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "227885fb.36f5fa"
+        "582d90a3.b7998"
       ]
     ]
   },
   {
-    "id": "227885fb.36f5fa",
+    "id": "582d90a3.b7998",
     "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=\"network-information.onap-model-information.model-invariant-uuid is a required input\" />\n",
     "comments": "",
-    "x": 2758.4286499023438,
-    "y": 849.7500514984131,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 2744.4286499023438,
+    "y": 824.7500514984131,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "670aca33.70fd54",
+    "id": "77cf2c9e.63a064",
     "type": "switchNode",
     "name": "switch onap-model-information.model-uuid",
     "xml": "<switch test='`$network-topology-operation-input.network-information.onap-model-information.model-uuid`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 2294.1429138183594,
-    "y": 927.6072015762329,
-    "z": "e63010f0.f0847",
+    "x": 2280.1429138183594,
+    "y": 902.6072015762329,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "8cf55b72.906388"
+        "4f68a79d.3bf918"
       ]
     ]
   },
   {
-    "id": "8cf55b72.906388",
+    "id": "4f68a79d.3bf918",
     "type": "other",
     "name": "NULL",
     "xml": "<outcome value=''>",
     "comments": "",
     "outputs": 1,
-    "x": 2535.1430053710938,
-    "y": 928.6071376800537,
-    "z": "e63010f0.f0847",
+    "x": 2521.1430053710938,
+    "y": 903.6071376800537,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "db7c5eac.4b11f"
+        "7690e5c.85ea81c"
       ]
     ]
   },
   {
-    "id": "db7c5eac.4b11f",
+    "id": "7690e5c.85ea81c",
     "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=\"network-information.onap-model-information.model-uuid is a required input\" />\n",
     "comments": "",
-    "x": 2700.5714721679688,
-    "y": 926.6071071624756,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 2686.5714721679688,
+    "y": 901.6071071624756,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "c03efce7.798d8",
+    "id": "68ca38a1.08f0d8",
     "type": "comment",
     "name": "network-information.onap-model-information block validations",
     "info": "",
     "comments": "",
-    "x": 2341.1432495117188,
-    "y": 811.6071996688843,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 2327.1432495117188,
+    "y": 786.6071996688843,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "2fc8fc6.5a9a904",
+    "id": "d8c0a4b6.4a38d8",
     "type": "switchNode",
     "name": "switch onap-model-information.model-customization-uuid",
     "xml": "<switch test='`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 2340.0000610351562,
-    "y": 886.750020980835,
-    "z": "e63010f0.f0847",
+    "x": 2326.0000610351562,
+    "y": 861.750020980835,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "4023c1f8.6bfd8"
+        "a2943e5e.6f374"
       ]
     ]
   },
   {
-    "id": "4023c1f8.6bfd8",
+    "id": "a2943e5e.6f374",
     "type": "other",
     "name": "NULL",
     "xml": "<outcome value=''>",
     "comments": "",
     "outputs": 1,
-    "x": 2636.0000610351562,
-    "y": 887.750020980835,
-    "z": "e63010f0.f0847",
+    "x": 2622.0000610351562,
+    "y": 862.750020980835,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "533bebda.091e34"
+        "c180f18b.aebfe"
       ]
     ]
   },
   {
-    "id": "533bebda.091e34",
+    "id": "c180f18b.aebfe",
     "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=\"network-information.onap-model-information.model-customization-uuid is a required input\" />\n",
     "comments": "",
-    "x": 2783.4285278320312,
-    "y": 887.750020980835,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 2769.4285278320312,
+    "y": 862.750020980835,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "72fc5045.064b6",
+    "id": "80d58546.aa7e88",
     "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": 565.3570747375488,
-    "y": 720.6428346633911,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 551.3570747375488,
+    "y": 695.6428346633911,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "11f179e3.c70cd6",
+    "id": "e62c59c8.088828",
     "type": "switchNode",
     "name": "switch network-information.network-instance-group-id",
     "xml": "<switch test='`$network-topology-operation-input.network-information.network-instance-group-id`'>\n\n",
     "comments": "",
     "outputs": 1,
-    "x": 2324.5001220703125,
-    "y": 648.5835075378418,
-    "z": "e63010f0.f0847",
+    "x": 2310.5001220703125,
+    "y": 623.5835075378418,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "cdd839e9.ec2698",
-        "1d9acc4e.eabbc4"
+        "5b95f49.d609d0c",
+        "d09003b.e23f4"
       ]
     ]
   },
   {
-    "id": "cdd839e9.ec2698",
+    "id": "5b95f49.d609d0c",
     "type": "other",
     "name": "Other",
     "xml": "<outcome value='Other'>",
     "comments": "",
     "outputs": 1,
-    "x": 2614.250011444092,
-    "y": 678.7501907348633,
-    "z": "e63010f0.f0847",
+    "x": 2600.250011444092,
+    "y": 653.7501907348633,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "c8168426.fb2778"
+        "1d7d3883.7d3737"
       ]
     ]
   },
   {
-    "id": "1d9acc4e.eabbc4",
+    "id": "d09003b.e23f4",
     "type": "other",
     "name": "NULL",
     "xml": "<outcome value=''>",
     "comments": "",
     "outputs": 1,
-    "x": 2611.91690826416,
-    "y": 645.7500648498535,
-    "z": "e63010f0.f0847",
+    "x": 2597.91690826416,
+    "y": 620.7500648498535,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "743b2b33.a39434"
+        "738908db.7d8f28"
       ]
     ]
   },
   {
-    "id": "743b2b33.a39434",
+    "id": "738908db.7d8f28",
     "type": "returnSuccess",
     "name": "return success",
     "xml": "<return status='success'>\n<parameter name='' value='' />\n",
     "comments": "",
-    "x": 2772.2501373291016,
-    "y": 642.7501220703125,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 2758.2501373291016,
+    "y": 617.7501220703125,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "3dca2e54.ce69e2",
+    "id": "3269563e.6fec5a",
     "type": "get-resource",
     "name": "get-resource NETWORK_MODEL",
     "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n  key='SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid\n  and service_uuid = $network-topology-operation-input.service-information.onap-model-information.model-uuid'\n  pfx='network-model'>\n\n",
     "comments": "",
     "outputs": 1,
-    "x": 2988.183319091797,
-    "y": 1423.4285793304443,
-    "z": "e63010f0.f0847",
+    "x": 2974.183319091797,
+    "y": 1398.4285793304443,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "d78da022.8cc75",
-        "f68bd615.bb51f8"
+        "e762e9e8.c9a108",
+        "e2455f53.fb44"
       ]
     ]
   },
   {
-    "id": "eab4a5c5.4ed798",
+    "id": "2bd9bcfc.f16724",
     "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=\"`'No network model found for customization UUID ' \n    + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid +\n    ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`\" />\n",
     "comments": "",
-    "x": 3482.6474609375,
-    "y": 1420.7260434627533,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 3468.6474609375,
+    "y": 1395.7260434627533,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "d78da022.8cc75",
+    "id": "e762e9e8.c9a108",
     "type": "not-found",
     "name": "not-found",
     "xml": "<outcome value='not-found'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 3283.897472381592,
-    "y": 1414.0832498073578,
-    "z": "e63010f0.f0847",
+    "x": 3269.897472381592,
+    "y": 1389.0832498073578,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "eab4a5c5.4ed798"
+        "2bd9bcfc.f16724"
       ]
     ]
   },
   {
-    "id": "f68bd615.bb51f8",
+    "id": "e2455f53.fb44",
     "type": "failure",
     "name": "failure",
     "xml": "<outcome value='failure'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 3277.647472381592,
-    "y": 1446.5832498073578,
-    "z": "e63010f0.f0847",
+    "x": 3263.647472381592,
+    "y": 1421.5832498073578,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "eab4a5c5.4ed798"
+        "2bd9bcfc.f16724"
       ]
     ]
   },
   {
-    "id": "3ae0b22b.798afe",
+    "id": "ede139e4.89a198",
     "type": "for",
     "name": "for ngidx..service-data.network-instance-groups.network-instance-group[]",
     "xml": "<for index='ngidx' start='0' end='`$service-data.network-instance-groups.network-instance-_length`' >\n",
     "comments": "",
     "outputs": 1,
-    "x": 4011.611541748047,
-    "y": 715.9445762634277,
-    "z": "e63010f0.f0847",
+    "x": 3997.611541748047,
+    "y": 690.9445762634277,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "4c0b1766.0a1718"
+        "eac562d9.de601"
       ]
     ]
   },
   {
-    "id": "bbac62ee.a9073",
+    "id": "4f2fd133.4305b",
     "type": "switchNode",
     "name": "service-data.network-instance-groups.network-instance-group_length",
     "xml": "<switch test='`$service-data.network-instance-groups.network-instance-group_length`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 3098.3256912231445,
-    "y": 677.0159721374512,
-    "z": "e63010f0.f0847",
+    "x": 3084.3256912231445,
+    "y": 652.0159721374512,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "89b19017.0f661",
-        "93771b0c.2e9b98"
+        "501babe3.5319c4",
+        "e1e773cb.e5cf6"
       ]
     ]
   },
   {
-    "id": "89b19017.0f661",
+    "id": "501babe3.5319c4",
     "type": "other",
     "name": "outcome Null",
     "xml": "<outcome value=''>\n",
     "comments": "",
     "outputs": 1,
-    "x": 3463.575469970703,
-    "y": 679.0159454345703,
-    "z": "e63010f0.f0847",
+    "x": 3449.575469970703,
+    "y": 654.0159454345703,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "54cf4a3b.259ea4"
+        "87a76e41.abe4d"
       ]
     ]
   },
   {
-    "id": "93771b0c.2e9b98",
+    "id": "e1e773cb.e5cf6",
     "type": "other",
     "name": "other",
     "xml": "<outcome value='Other'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 3443.575469970703,
-    "y": 714.0159454345703,
-    "z": "e63010f0.f0847",
+    "x": 3429.575469970703,
+    "y": 689.0159454345703,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "e72fab17.7fdb88"
+        "3ab76fb1.f7b22"
       ]
     ]
   },
   {
-    "id": "4c0b1766.0a1718",
+    "id": "eac562d9.de601",
     "type": "switchNode",
     "name": "switch network-instance-group-id found",
     "xml": "<switch test=\"`$service-data.network-instance-groups.network-instance-group[$nidx].network-instance-group-id == $network-topology-operation-input.network-information.network-instance-group-id`\">\n\n",
     "comments": "",
     "outputs": 1,
-    "x": 4459.54020690918,
-    "y": 715.6947593688965,
-    "z": "e63010f0.f0847",
+    "x": 4445.54020690918,
+    "y": 690.6947593688965,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "3ff64f2b.a623f"
+        "7a0eb4db.f8074c"
       ]
     ]
   },
   {
-    "id": "3ff64f2b.a623f",
+    "id": "7a0eb4db.f8074c",
     "type": "outcomeTrue",
     "name": "true",
     "xml": "<outcome value='true'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 4705.99324798584,
-    "y": 716.5876178741455,
-    "z": "e63010f0.f0847",
+    "x": 4691.99324798584,
+    "y": 691.5876178741455,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "d394cc8b.d995"
+        "363a104e.3bd6b"
       ]
     ]
   },
   {
-    "id": "4e382840.fb0f58",
+    "id": "598b024c.d866dc",
     "type": "set",
     "name": "set tmp.ngidx and ctx.network-instance-group-data",
     "xml": "<set>\n<parameter name='tmp.ngidx' value='`$ngidx`' />\n<parameter name='ctx.network-instance-group-data.' value='`$service-data.network-instance-groups.network-instance-group[$ngidx].`' />\n",
     "comments": "",
-    "x": 5148.525215148926,
-    "y": 716.3376426696777,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 5134.525215148926,
+    "y": 691.3376426696777,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "e72fab17.7fdb88",
+    "id": "3ab76fb1.f7b22",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "outputs": 1,
-    "x": 3644.845489501953,
-    "y": 715.5705108642578,
-    "z": "e63010f0.f0847",
+    "x": 3630.845489501953,
+    "y": 690.5705108642578,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "3ae0b22b.798afe"
+        "ede139e4.89a198"
       ]
     ]
   },
   {
-    "id": "c8168426.fb2778",
+    "id": "1d7d3883.7d3737",
     "type": "block",
     "name": "block",
     "xml": "<block>\n",
     "atomic": "false",
     "comments": "",
     "outputs": 1,
-    "x": 2748.3612670898438,
-    "y": 679.1945953369141,
-    "z": "e63010f0.f0847",
+    "x": 2734.3612670898438,
+    "y": 654.1945953369141,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "bbac62ee.a9073"
+        "4f2fd133.4305b"
       ]
     ]
   },
   {
-    "id": "54cf4a3b.259ea4",
+    "id": "87a76e41.abe4d",
     "type": "record",
     "name": "record",
     "xml": "<record plugin=\"com.att.sdnctl.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"GENERIC-RESOURCE-API.validate-network-input\"/>\n<parameter name=\"field3\" value=\"`$network-topology-operation-input.sdnc-request-header.svc-request-id`\"/>\n<parameter name=\"field4\" value=\"Network instance group id proveded but no network instance group exists that matches\"/>\n<parameter name=\"field5\" value=\"`$network-topology-operation-input.network-information.network-instance-group-id`\"/>\n\n\n\n",
     "comments": "",
     "outputs": 1,
-    "x": 3624.861358642578,
-    "y": 678.4445343017578,
-    "z": "e63010f0.f0847",
+    "x": 3610.861358642578,
+    "y": 653.4445343017578,
+    "z": "df2e3233.9775f",
     "wires": [
-      [
-        
-      ]
+      []
     ]
   },
   {
-    "id": "d394cc8b.d995",
+    "id": "363a104e.3bd6b",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "outputs": 1,
-    "x": 4854.611686706543,
-    "y": 716.444803237915,
-    "z": "e63010f0.f0847",
+    "x": 4840.611686706543,
+    "y": 691.444803237915,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "4e382840.fb0f58"
+        "598b024c.d866dc"
       ]
     ]
   },
   {
-    "id": "9aa6f4b4.608f88",
+    "id": "6ba35582.02a89c",
     "type": "other",
     "name": "NULL",
     "xml": "<outcome value=''>",
     "comments": "",
     "outputs": 1,
-    "x": 2545.314895629883,
-    "y": 1175.3426370620728,
-    "z": "e63010f0.f0847",
+    "x": 2531.314895629883,
+    "y": 1150.3426370620728,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "8c6fbcac.fa3a8"
+        "1cfe1346.d805fd"
       ]
     ]
   },
   {
-    "id": "d32879df.ba1d98",
+    "id": "8d6ac32a.9037",
     "type": "other",
     "name": "Other",
     "xml": "<outcome value='Other'>",
     "comments": "",
     "outputs": 1,
-    "x": 2544.064929962158,
-    "y": 1347.009298324585,
-    "z": "e63010f0.f0847",
+    "x": 2530.064929962158,
+    "y": 1322.009298324585,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "2edd7ef0.7bc5a2"
+        "423b56dc.d5ebb8"
       ]
     ]
   },
   {
-    "id": "29d015af.6147aa",
+    "id": "921bbed8.0d111",
     "type": "get-resource",
     "name": "get-resource SERVICE_MODEL",
     "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n  key='SELECT * from SERVICE_MODEL WHERE service_uuid = $network-topology-operation-input.service-information.onap-model-information.model-uuid'\n  pfx='service-model'>\n\n",
     "comments": "",
     "outputs": 1,
-    "x": 2990.683303833008,
-    "y": 1346.4933519363403,
-    "z": "e63010f0.f0847",
+    "x": 2976.683303833008,
+    "y": 1321.4933519363403,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "c56537db.4b5cd8",
-        "f56013eb.5f3c2"
+        "79c59913.159718",
+        "efb4080a.682628"
       ]
     ]
   },
   {
-    "id": "e084071b.6ae128",
+    "id": "860b68fa.33ca88",
     "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=\"`'No service model found for service UUID ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`\" />\n",
     "comments": "",
-    "x": 3472.7666091918945,
-    "y": 1352.74343085289,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 3458.7666091918945,
+    "y": 1327.74343085289,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "c56537db.4b5cd8",
+    "id": "79c59913.159718",
     "type": "not-found",
     "name": "not-found",
     "xml": "<outcome value='not-found'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 3274.016689300537,
-    "y": 1348.1006467342377,
-    "z": "e63010f0.f0847",
+    "x": 3260.016689300537,
+    "y": 1323.1006467342377,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "e084071b.6ae128"
+        "860b68fa.33ca88"
       ]
     ]
   },
   {
-    "id": "f56013eb.5f3c2",
+    "id": "efb4080a.682628",
     "type": "failure",
     "name": "failure",
     "xml": "<outcome value='failure'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 3267.766689300537,
-    "y": 1380.6006467342377,
-    "z": "e63010f0.f0847",
+    "x": 3253.766689300537,
+    "y": 1355.6006467342377,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "e084071b.6ae128"
+        "860b68fa.33ca88"
       ]
     ]
   },
   {
-    "id": "74e13aa.554f9c4",
+    "id": "366d9d85.e9d9b2",
     "type": "get-resource",
     "name": "get-resource NETWORK_MODEL",
     "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n  key='SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid\n  and service_uuid = $service-data.service-information.onap-model-information.model-uuid'\n  pfx='network-model'>\n\n",
     "comments": "",
     "outputs": 1,
-    "x": 2990.8693084716797,
-    "y": 1248.1509647369385,
-    "z": "e63010f0.f0847",
+    "x": 2976.8693084716797,
+    "y": 1223.1509647369385,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "3dd73bf.e9feec4",
-        "f85f11b9.2d393"
+        "910f20d1.bdd36",
+        "e2e9e038.3cb1b"
       ]
     ]
   },
   {
-    "id": "2b174be8.841db4",
+    "id": "31c32b50.6432e4",
     "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=\"`'No network model found for customization UUID ' \n    + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid +\n    ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`\" />\n",
     "comments": "",
-    "x": 3486.3335494995117,
-    "y": 1247.4483096599579,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 3472.3335494995117,
+    "y": 1222.4483096599579,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "3dd73bf.e9feec4",
+    "id": "910f20d1.bdd36",
     "type": "not-found",
     "name": "not-found",
     "xml": "<outcome value='not-found'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 3287.5835609436035,
-    "y": 1240.8055160045624,
-    "z": "e63010f0.f0847",
+    "x": 3273.5835609436035,
+    "y": 1215.8055160045624,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "2b174be8.841db4"
+        "31c32b50.6432e4"
       ]
     ]
   },
   {
-    "id": "f85f11b9.2d393",
+    "id": "e2e9e038.3cb1b",
     "type": "failure",
     "name": "failure",
     "xml": "<outcome value='failure'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 3282.58353805542,
-    "y": 1272.055515050888,
-    "z": "e63010f0.f0847",
+    "x": 3268.58353805542,
+    "y": 1247.055515050888,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "2b174be8.841db4"
+        "31c32b50.6432e4"
       ]
     ]
   },
   {
-    "id": "1ce195c2.d12dca",
+    "id": "a5b9cb21.07e728",
     "type": "get-resource",
     "name": "get-resource SERVICE_MODEL",
     "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n  key='SELECT * from SERVICE_MODEL WHERE service_uuid = $service-data.service-information.onap-model-information.model-uuid'\n  pfx='service-model'>",
     "comments": "",
     "outputs": 1,
-    "x": 2989.369338989258,
-    "y": 1174.4655179977417,
-    "z": "e63010f0.f0847",
+    "x": 2975.369338989258,
+    "y": 1149.4655179977417,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "56a0a71d.c5d7c8",
-        "7583b82.c0af148"
+        "ad32be5d.fc0d2",
+        "726e59ae.b41088"
       ]
     ]
   },
   {
-    "id": "c02f1c0.741dde8",
+    "id": "263ae4cc.79bc1c",
     "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=\"`'No service model found for service UUID ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`\" />\n",
     "comments": "",
-    "x": 3476.4526977539062,
-    "y": 1179.4656970500946,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 3462.4526977539062,
+    "y": 1154.4656970500946,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "56a0a71d.c5d7c8",
+    "id": "ad32be5d.fc0d2",
     "type": "not-found",
     "name": "not-found",
     "xml": "<outcome value='not-found'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 3277.702777862549,
-    "y": 1174.8229129314423,
-    "z": "e63010f0.f0847",
+    "x": 3263.702777862549,
+    "y": 1149.8229129314423,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "c02f1c0.741dde8"
+        "263ae4cc.79bc1c"
       ]
     ]
   },
   {
-    "id": "7583b82.c0af148",
+    "id": "726e59ae.b41088",
     "type": "failure",
     "name": "failure",
     "xml": "<outcome value='failure'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 3271.452777862549,
-    "y": 1207.3229129314423,
-    "z": "e63010f0.f0847",
+    "x": 3257.452777862549,
+    "y": 1182.3229129314423,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "c02f1c0.741dde8"
+        "263ae4cc.79bc1c"
       ]
     ]
   },
   {
-    "id": "8c6fbcac.fa3a8",
+    "id": "1cfe1346.d805fd",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "outputs": 1,
-    "x": 2720.639144897461,
-    "y": 1174.555465221405,
-    "z": "e63010f0.f0847",
+    "x": 2706.639144897461,
+    "y": 1149.555465221405,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "1ce195c2.d12dca",
-        "74e13aa.554f9c4"
+        "a5b9cb21.07e728",
+        "366d9d85.e9d9b2"
       ]
     ]
   },
   {
-    "id": "2edd7ef0.7bc5a2",
+    "id": "423b56dc.d5ebb8",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "outputs": 1,
-    "x": 2705.63924407959,
-    "y": 1345.8055248260498,
-    "z": "e63010f0.f0847",
+    "x": 2691.63924407959,
+    "y": 1320.8055248260498,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "29d015af.6147aa",
-        "3dca2e54.ce69e2"
+        "921bbed8.0d111",
+        "3269563e.6fec5a"
       ]
     ]
   },
   {
-    "id": "7be255c0.a124ec",
+    "id": "f8a0e353.63b13",
     "type": "other",
     "name": "changeassign",
     "xml": "<outcome value='changeassign'>",
     "comments": "",
     "outputs": 1,
-    "x": 799.0000877380371,
-    "y": 675.0000276565552,
-    "z": "e63010f0.f0847",
+    "x": 787.000072479248,
+    "y": 687.0000247955322,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "42435c10.d44464"
+        "4a52d531.9fe30c"
       ]
     ]
   },
   {
-    "id": "42435c10.d44464",
+    "id": "4a52d531.9fe30c",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "comments": "",
     "outputs": 1,
-    "x": 984.2857322692871,
-    "y": 674.4286317825317,
-    "z": "e63010f0.f0847",
+    "x": 972.285717010498,
+    "y": 686.4286289215088,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "713d719b.e94ab"
+        "60aa05f5.c569dc"
       ]
     ]
   },
   {
-    "id": "713d719b.e94ab",
+    "id": "60aa05f5.c569dc",
     "type": "switchNode",
     "name": "switch request-action",
     "xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 1176.2856712341309,
-    "y": 674.4286165237427,
-    "z": "e63010f0.f0847",
+    "x": 1164.2856559753418,
+    "y": 686.4286136627197,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "de2bfa5c.7f8a68",
-        "489c8cd.789c574"
+        "88893f96.826cb",
+        "b859c6e0.2898e8"
       ]
     ]
   },
   {
-    "id": "de2bfa5c.7f8a68",
+    "id": "88893f96.826cb",
     "type": "other",
     "name": "CreateNetworkInstance",
     "xml": "<outcome value='CreateNetworkInstance'>",
     "comments": "",
     "outputs": 1,
-    "x": 1456.2856712341309,
-    "y": 639.4286165237427,
-    "z": "e63010f0.f0847",
+    "x": 1444.2856559753418,
+    "y": 651.4286136627197,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "ad275510.779568"
+        "9c8d3fa9.f4234"
       ]
     ]
   },
   {
-    "id": "489c8cd.789c574",
+    "id": "b859c6e0.2898e8",
     "type": "other",
     "name": "Other",
     "xml": "<outcome value='Other'>",
     "comments": "",
     "outputs": 1,
-    "x": 1405.2856712341309,
-    "y": 683.4286165237427,
-    "z": "e63010f0.f0847",
+    "x": 1393.2856559753418,
+    "y": 695.4286136627197,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "49edc7a6.37b578"
+        "73e64f7b.3bc52"
       ]
     ]
   },
   {
-    "id": "49edc7a6.37b578",
+    "id": "73e64f7b.3bc52",
     "type": "returnFailure",
     "name": "return failure",
     "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"request-information.request-action is required to be CreateNetworkInstance for svc-action=changeassign\" />\n",
     "comments": "",
-    "x": 1574.2856712341309,
-    "y": 683.4286165237427,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 1562.2856559753418,
+    "y": 695.4286136627197,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "ad275510.779568",
+    "id": "9c8d3fa9.f4234",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "comments": "",
     "outputs": 1,
-    "x": 1692.2856712341309,
-    "y": 638.4286165237427,
-    "z": "e63010f0.f0847",
+    "x": 1680.2856559753418,
+    "y": 650.4286136627197,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "1b080f63.6e5091",
-        "ceb7d63d.306be8",
-        "b947049a.5131d8",
-        "2fc8fc6.5a9a904",
-        "670aca33.70fd54",
-        "85de231.44f83e",
-        "126ed261.6d016e"
+        "dc0c345f.272208",
+        "12953ca4.f4d643",
+        "87ae2dd3.c6822",
+        "d8c0a4b6.4a38d8",
+        "77cf2c9e.63a064",
+        "7e651b21.c50284",
+        "6b264531.de0afc"
       ]
     ]
   },
   {
-    "id": "ceb7d63d.306be8",
+    "id": "12953ca4.f4d643",
     "type": "switchNode",
     "name": "switch network-information.from-preload",
     "xml": "<switch test='`$network-topology-operation-input.network-information.from-preload`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 2297.91650390625,
-    "y": 393.0000352859497,
-    "z": "e63010f0.f0847",
+    "x": 2283.91650390625,
+    "y": 368.0000352859497,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "d2c0576b.e847f8"
+        "eb76cae7.f61f78"
       ]
     ]
   },
   {
-    "id": "d2c0576b.e847f8",
+    "id": "eb76cae7.f61f78",
     "type": "other",
     "name": "NULL",
     "xml": "<outcome value=''>",
     "comments": "",
     "outputs": 1,
-    "x": 2533.630813598633,
-    "y": 393.0000352859497,
-    "z": "e63010f0.f0847",
+    "x": 2519.630813598633,
+    "y": 368.0000352859497,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "ae1d6561.2c5238"
+        "6e925a8f.fb9974"
       ]
     ]
   },
   {
-    "id": "ae1d6561.2c5238",
+    "id": "6e925a8f.fb9974",
     "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=\"network-information.from-preload is a required input\" />\n",
     "comments": "",
-    "x": 2698.0594329833984,
-    "y": 391.0000352859497,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 2684.0594329833984,
+    "y": 366.0000352859497,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "3626c406.ab791c",
+    "id": "2c777ab3.486276",
     "type": "comment",
     "name": "If service model uuid not passed in input, use from service-data",
     "info": "",
     "comments": "",
-    "x": 3086.7462768554688,
-    "y": 1135.2461557388306,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 3072.7462768554688,
+    "y": 1110.2461557388306,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "aec34f7.d0bc6b",
+    "id": "14815eb6.fd5c91",
     "type": "comment",
     "name": "get network and service model using input",
     "info": "",
     "comments": "",
-    "x": 3014.246292114258,
-    "y": 1308.9961595535278,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 3000.246292114258,
+    "y": 1283.9961595535278,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "ba42444e.d99888",
+    "id": "81763a92.4e5c78",
     "type": "switchNode",
     "name": "switch network-information.network-id",
     "xml": "<switch test='`$network-topology-operation-input.network-information.network-id`'>\n\n",
     "comments": "",
     "outputs": 1,
-    "x": 2301.3358001708984,
-    "y": 446.6692581176758,
-    "z": "e63010f0.f0847",
+    "x": 2287.3358001708984,
+    "y": 421.6692581176758,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "c0f78c23.79ac9",
-        "317f60b4.ace11"
+        "c5a63b51.87b4f8",
+        "1214f71.156fe09"
       ]
     ]
   },
   {
-    "id": "c0f78c23.79ac9",
+    "id": "c5a63b51.87b4f8",
     "type": "other",
     "name": "Other",
     "xml": "<outcome value='Other'>",
     "comments": "",
     "outputs": 1,
-    "x": 2597.335750579834,
-    "y": 479.33596992492676,
-    "z": "e63010f0.f0847",
+    "x": 2583.335750579834,
+    "y": 454.33596992492676,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "a36353c9.ec25f"
+        "e775f46b.5160e8"
       ]
     ]
   },
   {
-    "id": "317f60b4.ace11",
+    "id": "1214f71.156fe09",
     "type": "other",
     "name": "NULL",
     "xml": "<outcome value=''>",
     "comments": "",
     "outputs": 1,
-    "x": 2595.0026473999023,
-    "y": 446.335844039917,
-    "z": "e63010f0.f0847",
+    "x": 2581.0026473999023,
+    "y": 421.335844039917,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "4284928.5f7026c"
+        "ac694b16.08b998"
       ]
     ]
   },
   {
-    "id": "4284928.5f7026c",
+    "id": "ac694b16.08b998",
     "type": "returnSuccess",
     "name": "return success",
     "xml": "<return status='success'>\n<parameter name='' value='' />\n",
     "comments": "",
-    "x": 2755.3358764648438,
-    "y": 443.335901260376,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 2741.3358764648438,
+    "y": 418.335901260376,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "2d884755.29b488",
+    "id": "d81e00e0.1ff27",
     "type": "for",
     "name": "for nidx..service-data.networks.network[]",
     "xml": "<for index='nidx' start='0' end='`$service-data.networks.network_length`' >\n",
     "comments": "",
     "outputs": 1,
-    "x": 3745.4471740722656,
-    "y": 518.780366897583,
-    "z": "e63010f0.f0847",
+    "x": 3731.4471740722656,
+    "y": 493.780366897583,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "727643c7.801efc"
+        "d0382bb1.c7c318"
       ]
     ]
   },
   {
-    "id": "5d18ed5a.0f2ca4",
+    "id": "6aa40d73.069df4",
     "type": "switchNode",
     "name": "switch service-data.networks.network_length",
     "xml": "<switch test='`$service-data.networks.network_length`'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 3005.161117553711,
-    "y": 481.3517246246338,
-    "z": "e63010f0.f0847",
+    "x": 2991.161117553711,
+    "y": 456.3517246246338,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "2dd4f60.cfe780a",
-        "5256a6bb.4d3648"
+        "1846ce0f.dd2142",
+        "3dcca8e2.fa0cf8"
       ]
     ]
   },
   {
-    "id": "2dd4f60.cfe780a",
+    "id": "1846ce0f.dd2142",
     "type": "other",
     "name": "outcome Null",
     "xml": "<outcome value=''>\n",
     "comments": "",
     "outputs": 1,
-    "x": 3294.161117553711,
-    "y": 483.35178565979004,
-    "z": "e63010f0.f0847",
+    "x": 3280.161117553711,
+    "y": 458.35178565979004,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "b413fbec.d3cf38"
+        "6705bd82.d03014"
       ]
     ]
   },
   {
-    "id": "5256a6bb.4d3648",
+    "id": "3dcca8e2.fa0cf8",
     "type": "other",
     "name": "other",
     "xml": "<outcome value='Other'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 3265.411331176758,
-    "y": 518.8518409729004,
-    "z": "e63010f0.f0847",
+    "x": 3251.411331176758,
+    "y": 493.8518409729004,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "d0b9665f.bb1998"
+        "76bdfc6d.a268b4"
       ]
     ]
   },
   {
-    "id": "727643c7.801efc",
+    "id": "d0382bb1.c7c318",
     "type": "switchNode",
     "name": "switch networkid found",
     "xml": "<switch test=\"`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`\">\n\n",
     "comments": "",
     "outputs": 1,
-    "x": 4035.8757247924805,
-    "y": 518.0304508209229,
-    "z": "e63010f0.f0847",
+    "x": 4021.8757247924805,
+    "y": 493.03045082092285,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "629bda8a.bbb3d4"
+        "799fd9f5.297828"
       ]
     ]
   },
   {
-    "id": "629bda8a.bbb3d4",
+    "id": "799fd9f5.297828",
     "type": "outcomeTrue",
     "name": "true",
     "xml": "<outcome value='true'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 4224.828079223633,
-    "y": 518.923189163208,
-    "z": "e63010f0.f0847",
+    "x": 4210.828079223633,
+    "y": 493.923189163208,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "9044c700.05da08"
+        "fa602e9.58fa5d"
       ]
     ]
   },
   {
-    "id": "e1d58d9f.f500f",
+    "id": "b9b1e9e8.4baa78",
     "type": "set",
     "name": "set tmp.nidx and ctx.network-data",
     "xml": "<set>\n<parameter name='tmp.nidx' value='`$nidx`' />\n<parameter name='network-data.' value='`$service-data.networks.network[$nidx].`' />\n",
     "comments": "",
-    "x": 4667.360046386719,
-    "y": 518.6732139587402,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 4653.360046386719,
+    "y": 493.67321395874023,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "d0b9665f.bb1998",
+    "id": "76bdfc6d.a268b4",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "outputs": 1,
-    "x": 3466.681350708008,
-    "y": 520.4064064025879,
-    "z": "e63010f0.f0847",
+    "x": 3452.681350708008,
+    "y": 495.4064064025879,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "2d884755.29b488"
+        "d81e00e0.1ff27"
       ]
     ]
   },
   {
-    "id": "312a328b.ffe99e",
+    "id": "a4c75003.79847",
     "type": "switchNode",
     "name": "switch tmp.nidx ",
     "xml": "<switch test=\"`$tmp.nidx`\">\n\n",
     "comments": "",
     "outputs": 1,
-    "x": 3663.748748779297,
-    "y": 594.7635736465454,
-    "z": "e63010f0.f0847",
+    "x": 3649.748748779297,
+    "y": 569.7635736465454,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "e7171c98.50a26"
+        "46de02ac.b16e8c"
       ]
     ]
   },
   {
-    "id": "62544a06.27e584",
+    "id": "97b52b4a.465218",
     "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=\"network-topology-operation-input.network-request-input.network-id not found in service-data\" />\n",
     "comments": "",
-    "x": 4018.606025695801,
-    "y": 594.4778385162354,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 4004.606025695801,
+    "y": 569.4778385162354,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "e7171c98.50a26",
+    "id": "46de02ac.b16e8c",
     "type": "outcome",
     "name": "NULL",
     "xml": "<outcome value=''>\n",
     "comments": "",
     "outputs": 1,
-    "x": 3835.1772842407227,
-    "y": 593.3349590301514,
-    "z": "e63010f0.f0847",
+    "x": 3821.1772842407227,
+    "y": 568.3349590301514,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "62544a06.27e584"
+        "97b52b4a.465218"
       ]
     ]
   },
   {
-    "id": "a36353c9.ec25f",
+    "id": "e775f46b.5160e8",
     "type": "block",
     "name": "block",
     "xml": "<block>\n",
     "atomic": "false",
     "comments": "",
     "outputs": 1,
-    "x": 2731.447006225586,
-    "y": 479.78037452697754,
-    "z": "e63010f0.f0847",
+    "x": 2717.447006225586,
+    "y": 454.78037452697754,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "5d18ed5a.0f2ca4"
+        "6aa40d73.069df4"
       ]
     ]
   },
   {
-    "id": "b413fbec.d3cf38",
+    "id": "6705bd82.d03014",
     "type": "record",
     "name": "record",
     "xml": "<record plugin=\"com.att.sdnctl.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"GENERIC-RESOURCE-API.validate-network-input\"/>\n<parameter name=\"field3\" value=\"`$network-topology-operation-input.sdnc-request-header.svc-request-id`\"/>\n<parameter name=\"field4\" value=\"Network id proveded but no network exists that matches\"/>\n<parameter name=\"field5\" value=\"`$network-topology-operation-input.network-information.network-id`\"/>\n\n\n\n",
     "comments": "",
     "outputs": 1,
-    "x": 3455.447006225586,
-    "y": 482.78037452697754,
-    "z": "e63010f0.f0847",
+    "x": 3441.447006225586,
+    "y": 457.78037452697754,
+    "z": "df2e3233.9775f",
     "wires": [
-      [
-        
-      ]
+      []
     ]
   },
   {
-    "id": "9044c700.05da08",
+    "id": "fa602e9.58fa5d",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "outputs": 1,
-    "x": 4373.446517944336,
-    "y": 518.7803745269775,
-    "z": "e63010f0.f0847",
+    "x": 4359.446517944336,
+    "y": 493.78037452697754,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "e1d58d9f.f500f"
+        "b9b1e9e8.4baa78"
       ]
     ]
   },
   {
-    "id": "5596cb1d.c25184",
+    "id": "f899095f.339638",
     "type": "comment",
     "name": "1806: Removed logic that requires service data to have network if network id is passed from mso on assign",
     "info": "",
     "comments": "",
-    "x": 3943.3360900878906,
-    "y": 556.3359460830688,
-    "z": "e63010f0.f0847",
-    "wires": [
-      
-    ]
+    "x": 3929.3360900878906,
+    "y": 531.3359460830688,
+    "z": "df2e3233.9775f",
+    "wires": []
   },
   {
-    "id": "e3f71705.e890b8",
+    "id": "985ba54f.3974a8",
     "type": "outcome",
     "name": "ActivateSOTNConnectivityInstance",
     "xml": "<outcome value='ActivateSOTNConnectivityInstance'>",
     "comments": "",
     "outputs": 1,
-    "x": 1483.3333740234375,
-    "y": 482.0000648498535,
-    "z": "e63010f0.f0847",
+    "x": 1471.3333587646484,
+    "y": 494.00006198883057,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "37eb4d84.5c8452"
+        "694acc9b.b69aa4"
       ]
     ]
   },
   {
-    "id": "37eb4d84.5c8452",
+    "id": "694acc9b.b69aa4",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "comments": "",
     "outputs": 1,
-    "x": 1709.3333435058594,
-    "y": 482.0001106262207,
-    "z": "e63010f0.f0847",
+    "x": 1697.3333282470703,
+    "y": 494.00010776519775,
+    "z": "df2e3233.9775f",
     "wires": [
-      [
-        
-      ]
+      []
     ]
   },
   {
-    "id": "3339894b.fbd566",
+    "id": "1c550262.882b2e",
     "type": "outcome",
     "name": "ActivateDCINetworkInstance",
     "xml": "<outcome value='ActivateDCINetworkInstance'>",
     "comments": "",
     "outputs": 1,
-    "x": 1471.2497787475586,
-    "y": 517.9960944652557,
-    "z": "e63010f0.f0847",
+    "x": 1459.2497634887695,
+    "y": 529.9960916042328,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "e0539f6e.35405"
+        "15320fb4.9014c"
       ]
     ]
   },
   {
-    "id": "e0539f6e.35405",
+    "id": "15320fb4.9014c",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "comments": "",
     "outputs": 1,
-    "x": 1684.556007385254,
-    "y": 517.0000286102295,
-    "z": "e63010f0.f0847",
+    "x": 1672.5559921264648,
+    "y": 529.0000257492065,
+    "z": "df2e3233.9775f",
     "wires": [
-      [
-        
-      ]
+      []
     ]
   },
   {
-    "id": "f6ea82e8.fb9a3",
+    "id": "a630529b.bc37b",
     "type": "outcome",
     "name": "DeactivateSOTNConnectivityInstance",
     "xml": "<outcome value='DeactivateSOTNConnectivityInstance'>",
     "comments": "",
     "outputs": 1,
-    "x": 1498.333381652832,
-    "y": 731.0000801086426,
-    "z": "e63010f0.f0847",
+    "x": 1490.3333892822266,
+    "y": 786.0001420974731,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "3d5611d2.6ac69e"
+        "ffb9085d.d34018"
       ]
     ]
   },
   {
-    "id": "3d5611d2.6ac69e",
+    "id": "ffb9085d.d34018",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "comments": "",
     "outputs": 1,
-    "x": 1735.333351135254,
-    "y": 731.0001258850098,
-    "z": "e63010f0.f0847",
+    "x": 1727.3333587646484,
+    "y": 786.0001878738403,
+    "z": "df2e3233.9775f",
     "wires": [
-      [
-        
-      ]
+      []
     ]
   },
   {
-    "id": "6f734fad.294d7",
+    "id": "4893ca1b.86d634",
     "type": "outcome",
     "name": "DeActivateDCINetworkInstance",
     "xml": "<outcome value='DeActivateDCINetworkInstance'>",
     "comments": "",
     "outputs": 1,
-    "x": 1480.5832138061523,
-    "y": 768.9960925579071,
-    "z": "e63010f0.f0847",
+    "x": 1472.5832214355469,
+    "y": 823.9961545467377,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        "8c8034c3.c3e088"
+        "fce22d6a.e8a6b"
       ]
     ]
   },
   {
-    "id": "8c8034c3.c3e088",
+    "id": "fce22d6a.e8a6b",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">",
     "atomic": "true",
     "comments": "",
     "outputs": 1,
-    "x": 1723.5832977294922,
-    "y": 767.0273606777191,
-    "z": "e63010f0.f0847",
+    "x": 1715.5833053588867,
+    "y": 822.0274226665497,
+    "z": "df2e3233.9775f",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "dce79fa4.7fd85",
+    "type": "outcome",
+    "name": "ActivateSDWANConnectivityInstance",
+    "xml": "<outcome value='ActivateSDWANConnectivityInstance'>",
+    "comments": "",
+    "outputs": 1,
+    "x": 1476.003890991211,
+    "y": 454.7539072036743,
+    "z": "df2e3233.9775f",
     "wires": [
       [
-        
+        "a3491976.6ffbc8"
       ]
     ]
+  },
+  {
+    "id": "a3491976.6ffbc8",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">",
+    "atomic": "true",
+    "comments": "",
+    "outputs": 1,
+    "x": 1712.004020690918,
+    "y": 453.7539072036743,
+    "z": "df2e3233.9775f",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "10d3655a.b8cb0b",
+    "type": "outcome",
+    "name": "DeactivateSDWANConnectivityInstance",
+    "xml": "<outcome value='DeactivateSDWANConnectivityInstance'>",
+    "comments": "",
+    "outputs": 1,
+    "x": 1496.00390625,
+    "y": 745.75390625,
+    "z": "df2e3233.9775f",
+    "wires": [
+      [
+        "4660a007.84d7d"
+      ]
+    ]
+  },
+  {
+    "id": "4660a007.84d7d",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">",
+    "atomic": "true",
+    "comments": "",
+    "outputs": 1,
+    "x": 1747.00390625,
+    "y": 743.75390625,
+    "z": "df2e3233.9775f",
+    "wires": [
+      []
+    ]
   }
 ]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-sdwan-network-input-parameters.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-sdwan-network-input-parameters.json
new file mode 100644 (file)
index 0000000..3d6d6bc
--- /dev/null
@@ -0,0 +1,1201 @@
+[
+  {
+    "id": "afeb4b10.2ec518",
+    "type": "dgstart",
+    "name": "DGSTART",
+    "outputs": 1,
+    "x": 107.00390625,
+    "y": 51.76191961765289,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "9ef25946.8f8138"
+      ]
+    ]
+  },
+  {
+    "id": "9ef25946.8f8138",
+    "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": 352.2896194458008,
+    "y": 50.999998688697815,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "92a3d741.4ec998"
+      ]
+    ]
+  },
+  {
+    "id": "92a3d741.4ec998",
+    "type": "method",
+    "name": "validate-sdwan-network-input-parameters",
+    "xml": "<method rpc='validate-sdwan-network-input-parameters' mode='sync'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 309.92059326171875,
+    "y": 126.01493704319,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "11ca3a4.93689c6"
+      ]
+    ]
+  },
+  {
+    "id": "11ca3a4.93689c6",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">",
+    "atomic": "true",
+    "outputs": 1,
+    "x": 593.9206008911133,
+    "y": 114.01496183872223,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "2b12fe90.83a562",
+        "91c94469.10e2a8"
+      ]
+    ]
+  },
+  {
+    "id": "2b12fe90.83a562",
+    "type": "switchNode",
+    "name": "switch  svc-action",
+    "xml": "<switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 874.9206008911133,
+    "y": 109.01494753360748,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "d55b2509.439598"
+      ]
+    ]
+  },
+  {
+    "id": "d55b2509.439598",
+    "type": "outcome",
+    "name": "NULL",
+    "xml": "<outcome value=''>",
+    "comments": "",
+    "outputs": 1,
+    "x": 1065.6349029541016,
+    "y": 110.0149484872818,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "aa102400.8ed8a8"
+      ]
+    ]
+  },
+  {
+    "id": "aa102400.8ed8a8",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"sdnc-request-header.svc-request-id is a required input\" />\n",
+    "comments": "",
+    "x": 1240.0634536743164,
+    "y": 109.01494085788727,
+    "z": "7458dba4.32cb64",
+    "wires": []
+  },
+  {
+    "id": "91c94469.10e2a8",
+    "type": "switchNode",
+    "name": "switch svc-action",
+    "xml": "<switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 175.92054748535156,
+    "y": 385.01496183872223,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "13054de7.037f72",
+        "196d19c4.864306",
+        "766974bb.0b0c8c",
+        "c4c13754.2744e8",
+        "d97f2f03.ab243"
+      ]
+    ]
+  },
+  {
+    "id": "13054de7.037f72",
+    "type": "outcome",
+    "name": "create",
+    "xml": "<outcome value='create'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 384.50392150878906,
+    "y": 214.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "ce85f1c.60e7f1"
+      ]
+    ]
+  },
+  {
+    "id": "ce85f1c.60e7f1",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">",
+    "atomic": "true",
+    "outputs": 1,
+    "x": 545.5039215087891,
+    "y": 214.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "14ed1ad7.45eb75"
+      ]
+    ]
+  },
+  {
+    "id": "196d19c4.864306",
+    "type": "outcome",
+    "name": "deactivate",
+    "xml": "<outcome value='deactivate'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 357.49591064453125,
+    "y": 823.1904579401016,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "39810a58.826e96"
+      ]
+    ]
+  },
+  {
+    "id": "766974bb.0b0c8c",
+    "type": "outcome",
+    "name": "delete",
+    "xml": "<outcome value='delete'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 361.2102928161621,
+    "y": 993.9050155878067,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "8132304a.a7e6f"
+      ]
+    ]
+  },
+  {
+    "id": "c4c13754.2744e8",
+    "type": "other",
+    "name": "other",
+    "xml": "<outcome value='Other'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 360.97218322753906,
+    "y": 1167.3333011865616,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "4398ae0d.dda9f"
+      ]
+    ]
+  },
+  {
+    "id": "4398ae0d.dda9f",
+    "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=\"`$network-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`\" />\n",
+    "comments": "",
+    "x": 544.5437164306641,
+    "y": 1167.9524418115616,
+    "z": "7458dba4.32cb64",
+    "wires": []
+  },
+  {
+    "id": "14ed1ad7.45eb75",
+    "type": "switchNode",
+    "name": "switch request-action",
+    "xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 746.0038986206055,
+    "y": 212.42859840393066,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "501d8531.74505c",
+        "9ab1ce33.97d5d"
+      ]
+    ]
+  },
+  {
+    "id": "501d8531.74505c",
+    "type": "other",
+    "name": "Other",
+    "xml": "<outcome value='Other'>",
+    "comments": "",
+    "outputs": 1,
+    "x": 944.5039215087891,
+    "y": 234.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "fe537f74.2801e"
+      ]
+    ]
+  },
+  {
+    "id": "fe537f74.2801e",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"request-information.request-action is required to be SOTN CreateVPNNetworkInstance for svc-action=create\" />\n",
+    "comments": "",
+    "x": 1082.003921508789,
+    "y": 234.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": []
+  },
+  {
+    "id": "8d93a83c.557ca8",
+    "type": "other",
+    "name": "DeleteSDWANConnectivityInstance",
+    "xml": "<outcome value='DeleteSDWANConnectivityInstance'>",
+    "comments": "",
+    "outputs": 1,
+    "x": 783.0673332214355,
+    "y": 994.460285782814,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "ce9cc56b.d10598"
+      ]
+    ]
+  },
+  {
+    "id": "5b1ba696.fd4ac8",
+    "type": "other",
+    "name": "Other",
+    "xml": "<outcome value='Other'>",
+    "comments": "",
+    "outputs": 1,
+    "x": 718.6228790283203,
+    "y": 1066.6825548410416,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "781f0dda.132404"
+      ]
+    ]
+  },
+  {
+    "id": "781f0dda.132404",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"request-information.request-action is required to be SOTN DeleteVPNNetworkInstance for svc-action=delete\" />\n",
+    "comments": "",
+    "x": 878.956298828125,
+    "y": 1068.7936922311783,
+    "z": "7458dba4.32cb64",
+    "wires": []
+  },
+  {
+    "id": "ce9cc56b.d10598",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">",
+    "atomic": "true",
+    "outputs": 1,
+    "x": 1026.9562072753906,
+    "y": 996.6825376749039,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "d93bc459.24d028",
+        "c2120486.723e58",
+        "bad3546.ed6b1a8",
+        "36e3a49c.e1e66c"
+      ]
+    ]
+  },
+  {
+    "id": "d97f2f03.ab243",
+    "type": "outcome",
+    "name": "activate",
+    "xml": "<outcome value='activate'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 378.4324760437012,
+    "y": 477.47623217105865,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "11ba1c11.e436c4"
+      ]
+    ]
+  },
+  {
+    "id": "11ba1c11.e436c4",
+    "type": "switchNode",
+    "name": "switch request-action",
+    "xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 561.2896423339844,
+    "y": 474.61908209323883,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "4b7aba5c.10de74",
+        "b08d251d.2801a8"
+      ]
+    ]
+  },
+  {
+    "id": "4b7aba5c.10de74",
+    "type": "other",
+    "name": "ActivateSDWANConnectivityInstance",
+    "xml": "<outcome value='ActivateSDWANConnectivityInstance'>",
+    "comments": "",
+    "outputs": 1,
+    "x": 814.5039215087891,
+    "y": 454.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "59e37406.bc397c"
+      ]
+    ]
+  },
+  {
+    "id": "b08d251d.2801a8",
+    "type": "other",
+    "name": "Other",
+    "xml": "<outcome value='Other'>",
+    "comments": "",
+    "outputs": 1,
+    "x": 744.5039215087891,
+    "y": 494.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "a5228d9.922b87"
+      ]
+    ]
+  },
+  {
+    "id": "a5228d9.922b87",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"request-information.request-action is required to be SOTN ActivateVPNNetworkInstance for svc-action=activate\" />\n",
+    "comments": "",
+    "x": 902.0039215087891,
+    "y": 494.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": []
+  },
+  {
+    "id": "59e37406.bc397c",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">",
+    "atomic": "true",
+    "outputs": 1,
+    "x": 1045.503921508789,
+    "y": 454.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "bad3546.ed6b1a8",
+        "d93bc459.24d028",
+        "c2120486.723e58",
+        "3af5d77e.c8b058"
+      ]
+    ]
+  },
+  {
+    "id": "33ba9655.52034a",
+    "type": "other",
+    "name": "DeactivateSDWANConnectivityInstance",
+    "xml": "<outcome value='DeactivateSDWANConnectivityInstance'>",
+    "comments": "",
+    "outputs": 1,
+    "x": 800.9245376586914,
+    "y": 824.9048515558243,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "fc8127c.e4d07d8"
+      ]
+    ]
+  },
+  {
+    "id": "a9fb5199.fc8f5",
+    "type": "other",
+    "name": "Other",
+    "xml": "<outcome value='Other'>",
+    "comments": "",
+    "outputs": 1,
+    "x": 715.9245300292969,
+    "y": 893.9048591852188,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "98e8303b.28c"
+      ]
+    ]
+  },
+  {
+    "id": "98e8303b.28c",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"request-information.request-action is required to be SOTN DeactivateVPNNetworkInstance for svc-action=deactivate\" />\n",
+    "comments": "",
+    "x": 896.9245452880859,
+    "y": 894.9048591852188,
+    "z": "7458dba4.32cb64",
+    "wires": []
+  },
+  {
+    "id": "39810a58.826e96",
+    "type": "switchNode",
+    "name": "switch request-action",
+    "xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 537.7815933227539,
+    "y": 825.3806854486465,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "33ba9655.52034a",
+        "a9fb5199.fc8f5"
+      ]
+    ]
+  },
+  {
+    "id": "8132304a.a7e6f",
+    "type": "switchNode",
+    "name": "switch request-action",
+    "xml": "<switch test='`$network-topology-operation-input.request-information.request-action`'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 541.5593948364258,
+    "y": 993.7142394781113,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "8d93a83c.557ca8",
+        "5b1ba696.fd4ac8"
+      ]
+    ]
+  },
+  {
+    "id": "fc8127c.e4d07d8",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">",
+    "atomic": "true",
+    "outputs": 1,
+    "x": 1060.8926849365234,
+    "y": 827.7142463922501,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "d93bc459.24d028",
+        "c2120486.723e58",
+        "bad3546.ed6b1a8",
+        "376f44f.91631bc"
+      ]
+    ]
+  },
+  {
+    "id": "9ab1ce33.97d5d",
+    "type": "other",
+    "name": "CreateSDWANConnectivityInstance",
+    "xml": "<outcome value='CreateSDWANConnectivityInstance'>",
+    "comments": "",
+    "outputs": 1,
+    "x": 1010.5039215087891,
+    "y": 194.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "b176ae48.6fe8f"
+      ]
+    ]
+  },
+  {
+    "id": "b176ae48.6fe8f",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">",
+    "atomic": "true",
+    "outputs": 1,
+    "x": 1225.503921508789,
+    "y": 194.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "cf12d38b.a3405"
+      ]
+    ]
+  },
+  {
+    "id": "cf12d38b.a3405",
+    "type": "for",
+    "name": "for loop i - Network input parameters",
+    "xml": "<for index=\"i\" start=\"0\" end=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1476.003921508789,
+    "y": 194.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "635e00b0.83e09"
+      ]
+    ]
+  },
+  {
+    "id": "635e00b0.83e09",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 1704.503921508789,
+    "y": 194.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "d02f1a6c.9ed398",
+        "7b155a14.1d88e4",
+        "a5572ff3.83699"
+      ]
+    ]
+  },
+  {
+    "id": "d02f1a6c.9ed398",
+    "type": "set",
+    "name": "clear tmp-data",
+    "xml": "<set>\n<parameter name='tmp.name' value='' />\n<parameter name='tmp.value' value='' />\n",
+    "comments": "",
+    "x": 1887.503921508789,
+    "y": 154.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": []
+  },
+  {
+    "id": "7b155a14.1d88e4",
+    "type": "set",
+    "name": "set tmp-data",
+    "xml": "<set>\n<parameter name='tmp.name' value=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$i].name`\"/>\n<parameter name='tmp.value' value=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$i].value`\"/>\n",
+    "comments": "",
+    "x": 1882.003921508789,
+    "y": 194.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": []
+  },
+  {
+    "id": "a5572ff3.83699",
+    "type": "switchNode",
+    "name": "switch name",
+    "xml": "<switch test=\"`$tmp.name`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1882.003921508789,
+    "y": 234.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "4c1f2b9e.d59164",
+        "930c8bdc.0463f8",
+        "6c76b8a1.37a458"
+      ]
+    ]
+  },
+  {
+    "id": "9f5e4298.3ba59",
+    "type": "switchNode",
+    "name": "switch value",
+    "xml": "<switch test=\"`$tmp.value`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2342.0040893554688,
+    "y": 186.42861008644104,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "b3a0c7f3.4a5588"
+      ]
+    ]
+  },
+  {
+    "id": "6c76b8a1.37a458",
+    "type": "outcome",
+    "name": "NULL",
+    "xml": "<outcome value=''>",
+    "comments": "",
+    "outputs": 1,
+    "x": 2101.5042572021484,
+    "y": 252.42859768867493,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "6ab0e444.08d8bc"
+      ]
+    ]
+  },
+  {
+    "id": "6ab0e444.08d8bc",
+    "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=\"`'network-topology-operation-input.network-request-input.network-input-parameters.param[' + $i + ']' + '.name is a required input'`\" />\n",
+    "comments": "",
+    "x": 2276.5042610168457,
+    "y": 251.42859768867493,
+    "z": "7458dba4.32cb64",
+    "wires": []
+  },
+  {
+    "id": "4c1f2b9e.d59164",
+    "type": "other",
+    "name": "name",
+    "xml": "<outcome value='name'>",
+    "comments": "",
+    "outputs": 1,
+    "x": 2101.5042572021484,
+    "y": 136.42859196662903,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "9f5e4298.3ba59"
+      ]
+    ]
+  },
+  {
+    "id": "930c8bdc.0463f8",
+    "type": "other",
+    "name": "topology",
+    "xml": "<outcome value='topology'>",
+    "comments": "",
+    "outputs": 1,
+    "x": 2113.5040130615234,
+    "y": 190.09525418281555,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "9f5e4298.3ba59"
+      ]
+    ]
+  },
+  {
+    "id": "b3a0c7f3.4a5588",
+    "type": "outcome",
+    "name": "NULL",
+    "xml": "<outcome value=''>",
+    "comments": "",
+    "outputs": 1,
+    "x": 2485.5040893554688,
+    "y": 186.42861008644104,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "e1e167f3.9a8ab8"
+      ]
+    ]
+  },
+  {
+    "id": "e1e167f3.9a8ab8",
+    "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=\"`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'`\" />\n",
+    "comments": "",
+    "x": 2643.5040893554688,
+    "y": 186.42861008644104,
+    "z": "7458dba4.32cb64",
+    "wires": []
+  },
+  {
+    "id": "bad3546.ed6b1a8",
+    "type": "switchNode",
+    "name": "switch service-data.networks.network_length",
+    "xml": "<switch test='`$service-data.networks.network_length`'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1350.3927841186523,
+    "y": 497.7619024515152,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "5db60397.24e42c",
+        "d1ba2f0d.dcd85"
+      ]
+    ]
+  },
+  {
+    "id": "5db60397.24e42c",
+    "type": "other",
+    "name": "outcome Null",
+    "xml": "<outcome value=''>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1604.003921508789,
+    "y": 474.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "9216f078.ec3f4"
+      ]
+    ]
+  },
+  {
+    "id": "9216f078.ec3f4",
+    "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=\"network-topology-operation-input.network-request-input.network-id not found in service-data\" />\n",
+    "comments": "",
+    "x": 1782.003921508789,
+    "y": 474.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": []
+  },
+  {
+    "id": "d1ba2f0d.dcd85",
+    "type": "other",
+    "name": "other",
+    "xml": "<outcome value='Other'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1584.503921508789,
+    "y": 514.428589463234,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "9e24923a.18e3c"
+      ]
+    ]
+  },
+  {
+    "id": "9e24923a.18e3c",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">",
+    "atomic": "true",
+    "outputs": 1,
+    "x": 1745.503921508789,
+    "y": 514.428589463234,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "a46227c4.f759c8",
+        "748af6ef.c63f88"
+      ]
+    ]
+  },
+  {
+    "id": "a46227c4.f759c8",
+    "type": "for",
+    "name": "for nidx..service-data.networks.network[]",
+    "xml": "<for index='nidx' start='0' end='`$service-data.networks.network_length`' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2008.003921508789,
+    "y": 494.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "fa1d115b.6d17b"
+      ]
+    ]
+  },
+  {
+    "id": "fa1d115b.6d17b",
+    "type": "switchNode",
+    "name": "switch networkid found",
+    "xml": "<switch test=\"`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`\">\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2294.003921508789,
+    "y": 494.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "37889212.4c53ee"
+      ]
+    ]
+  },
+  {
+    "id": "37889212.4c53ee",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2464.503921508789,
+    "y": 494.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "b3a1659a.240748"
+      ]
+    ]
+  },
+  {
+    "id": "272a6015.e0db5",
+    "type": "set",
+    "name": "set tmp.nidx and ctx.network-data",
+    "xml": "<set>\n<parameter name='tmp.nidx' value='`$nidx`' />\n<parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].network-data.`' />\n",
+    "comments": "",
+    "x": 2865.5039825439453,
+    "y": 491.42863273620605,
+    "z": "7458dba4.32cb64",
+    "wires": []
+  },
+  {
+    "id": "732b4efd.21101",
+    "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=\"network-topology-operation-input.network-request-input.network-id not found in service-data\" />\n",
+    "comments": "",
+    "x": 2222.003921508789,
+    "y": 534.428589463234,
+    "z": "7458dba4.32cb64",
+    "wires": []
+  },
+  {
+    "id": "763f7f60.997eb",
+    "type": "outcome",
+    "name": "NULL",
+    "xml": "<outcome value=''>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2084.503921508789,
+    "y": 534.428589463234,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "732b4efd.21101"
+      ]
+    ]
+  },
+  {
+    "id": "748af6ef.c63f88",
+    "type": "switchNode",
+    "name": "switch tmp.nidx ",
+    "xml": "<switch test=\"`$tmp.nidx`\">\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1930.503921508789,
+    "y": 534.428589463234,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "763f7f60.997eb"
+      ]
+    ]
+  },
+  {
+    "id": "3af5d77e.c8b058",
+    "type": "switchNode",
+    "name": "switch network-level-oper-status",
+    "xml": "<switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1309.6706085205078,
+    "y": 573.3174673318863,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "c33efa09.b018d8",
+        "4cfec973.493b68"
+      ]
+    ]
+  },
+  {
+    "id": "c33efa09.b018d8",
+    "type": "outcome",
+    "name": "outcome Created",
+    "xml": "<outcome value='Created'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1606.5040245056152,
+    "y": 573.3174654245377,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "7c4edd00.49aac4"
+      ]
+    ]
+  },
+  {
+    "id": "4cfec973.493b68",
+    "type": "other",
+    "name": "other",
+    "xml": "<outcome value='Other'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1574.5040245056152,
+    "y": 613.3174654245377,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "dabe6a18.d1d558"
+      ]
+    ]
+  },
+  {
+    "id": "dabe6a18.d1d558",
+    "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=\"`'Network is not in appropriate state for activate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`\" />",
+    "comments": "",
+    "x": 1732.0040245056152,
+    "y": 613.3174654245377,
+    "z": "7458dba4.32cb64",
+    "wires": []
+  },
+  {
+    "id": "c2120486.723e58",
+    "type": "switchNode",
+    "name": "switch network-id",
+    "xml": "<switch test=\"`$network-topology-operation-input.network-information.network-id`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1256.503921508789,
+    "y": 434.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "c9dd79cc.30f0a8"
+      ]
+    ]
+  },
+  {
+    "id": "c9dd79cc.30f0a8",
+    "type": "outcome",
+    "name": "NULL",
+    "xml": "<outcome value=''>",
+    "comments": "",
+    "outputs": 1,
+    "x": 1484.503921508789,
+    "y": 434.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "f8690bd9.02e568"
+      ]
+    ]
+  },
+  {
+    "id": "f8690bd9.02e568",
+    "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=\"network-request-input.network-input-parameters.name is a required input\" />\n",
+    "comments": "",
+    "x": 1622.003921508789,
+    "y": 434.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": []
+  },
+  {
+    "id": "d93bc459.24d028",
+    "type": "execute",
+    "name": "execute requiredParameters",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >\n<parameter name=\"network-topology-operation-input.network-information.network-id\" value=\"$network-topology-operation-input.network-information.network-id\"/>\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1291.003921508789,
+    "y": 394.42858946323395,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "376f44f.91631bc",
+    "type": "switchNode",
+    "name": "switch network-level-oper-status",
+    "xml": "<switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1337.837173461914,
+    "y": 823.3174444437027,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "4ff725b8.75f0ac",
+        "b79412d2.13234"
+      ]
+    ]
+  },
+  {
+    "id": "4ff725b8.75f0ac",
+    "type": "outcome",
+    "name": "outcome Active",
+    "xml": "<outcome value='Active'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1611.1705474853516,
+    "y": 797.7619024515152,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "d84d7eae.ba968"
+      ]
+    ]
+  },
+  {
+    "id": "b79412d2.13234",
+    "type": "other",
+    "name": "other",
+    "xml": "<outcome value='Other'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1581.1705474853516,
+    "y": 837.7619024515152,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "b8e9f263.26346"
+      ]
+    ]
+  },
+  {
+    "id": "b8e9f263.26346",
+    "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=\"`'Network is not in appropriate state for deactivate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`\" />",
+    "comments": "",
+    "x": 1747.1705474853516,
+    "y": 839.7619024515152,
+    "z": "7458dba4.32cb64",
+    "wires": []
+  },
+  {
+    "id": "36e3a49c.e1e66c",
+    "type": "switchNode",
+    "name": "switch network-level-oper-status",
+    "xml": "<switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1326.726089477539,
+    "y": 994.4285284280777,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "fc99139.ec0cdf",
+        "4e170b57.b8a2a4"
+      ]
+    ]
+  },
+  {
+    "id": "fc99139.ec0cdf",
+    "type": "outcome",
+    "name": "outcome PendingDelete",
+    "xml": "<outcome value='PendingDelete'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1626.7261505126953,
+    "y": 962.2063242197037,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "9aca9b79.d849b8"
+      ]
+    ]
+  },
+  {
+    "id": "4e170b57.b8a2a4",
+    "type": "other",
+    "name": "other",
+    "xml": "<outcome value='Other'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1570.0594635009766,
+    "y": 1008.8729864358902,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "50d4161c.bde178"
+      ]
+    ]
+  },
+  {
+    "id": "50d4161c.bde178",
+    "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=\"`'Network is not in appropriate state for delete. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`\" />",
+    "comments": "",
+    "x": 1736.0594635009766,
+    "y": 1010.8729864358902,
+    "z": "7458dba4.32cb64",
+    "wires": []
+  },
+  {
+    "id": "7c4edd00.49aac4",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">",
+    "atomic": "true",
+    "outputs": 1,
+    "x": 1794.5039024353027,
+    "y": 574.4285494089127,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "d84d7eae.ba968",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">",
+    "atomic": "true",
+    "outputs": 1,
+    "x": 1811.170425415039,
+    "y": 795.910034775734,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "9aca9b79.d849b8",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">",
+    "atomic": "true",
+    "outputs": 1,
+    "x": 1842.2816314697266,
+    "y": 962.5766607522964,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "b3a1659a.240748",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">",
+    "atomic": "true",
+    "outputs": 1,
+    "x": 2614.6704330444336,
+    "y": 490.7619377374649,
+    "z": "7458dba4.32cb64",
+    "wires": [
+      [
+        "272a6015.e0db5"
+      ]
+    ]
+  }
+]
index 93e1703..1a9fb89 100755 (executable)
@@ -183,4 +183,9 @@ GENERIC-RESOURCE-API vnf-topology-operation-deactivate ${project.version} sync
 GENERIC-RESOURCE-API vnf-topology-operation-unassign ${project.version} sync
 GENERIC-RESOURCE-API vnf-topology-operation ${project.version} sync
 SUBNET-API managed-network-notification ${project.version} sync
-SUBNET-API subnet-allocated-notification ${project.version} sync
\ No newline at end of file
+SUBNET-API subnet-allocated-notification ${project.version} sync
+GENERIC-RESOURCE-API sdwan-network-topology-operation-activate ${project.version} sync
+GENERIC-RESOURCE-API sdwan-network-topology-operation-create ${project.version} sync
+GENERIC-RESOURCE-API sdwan-network-topology-operation-deactivate ${project.version} sync
+GENERIC-RESOURCE-API sdwan-network-topology-operation-delete ${project.version} sync
+GENERIC-RESOURCE-API validate-sdwan-network-input-parameters ${project.version} sync
\ No newline at end of file
index fbd3775..88377fc 100644 (file)
@@ -43,6 +43,9 @@
                         <outcome value='ActivateDCINetworkInstance'>\r
                             <call module='GENERIC-RESOURCE-API' rpc='dci-connects-network-topology-operation-activate' mode='sync' ></call>\r
                         </outcome>\r
+                        <outcome value='ActivateSDWANConnectivityInstance'>\r
+                            <call module='GENERIC-RESOURCE-API' rpc='sdwan-network-topology-operation-activate' mode='sync' ></call>\r
+                        </outcome>\r
                         <outcome value='other'>\r
                             <block atomic="true">\r
                                 <switch test='`$service-data.networks.network_length`'>\r
                         <outcome value='DeActivateDCINetworkInstance'>\r
                             <call module='GENERIC-RESOURCE-API' rpc='dci-connects-network-topology-operation-deactivate' mode='sync' ></call>\r
                         </outcome>\r
+                        <outcome value='DeactivateSDWANConnectivityInstance'>\r
+                            <call module='GENERIC-RESOURCE-API' rpc='sdwan-network-topology-operation-deactivate' mode='sync' ></call>\r
+                        </outcome>\r
                         <outcome value='Other'>\r
                             <block atomic="true">\r
                                 <switch test='`$service-data.networks.network_length`'>\r
                         <outcome value='CreateSOTNConnectivityInstance'>\r
                             <call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-create' mode='sync' ></call>\r
                         </outcome>\r
+                        <outcome value='CreateSDWANConnectivityInstance'>\r
+                            <call module='GENERIC-RESOURCE-API' rpc='sdwan-network-topology-operation-create' mode='sync' ></call>\r
+                        </outcome>\r
                         <outcome value='other'>\r
                             <block atomic="true">\r
                                 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-create' mode='sync' ></call>\r
                         <outcome value='DeleteSOTNConnectivityInstance'>\r
                             <call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-delete' mode='sync' ></call>\r
                         </outcome>\r
+                        <outcome value='DeleteSDWANConnectivityInstance'>\r
+                            <call module='GENERIC-RESOURCE-API' rpc='sdwan-network-topology-operation-delete' mode='sync' ></call>\r
+                        </outcome>\r
                         <outcome value='other'>\r
                             <block atomic="true">\r
                                 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-delete' mode='sync' ></call>\r
             </return>\r
         </block>\r
     </method>\r
-</service-logic>
\ No newline at end of file
+</service-logic>\r
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-network-topology-operation-activate.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-network-topology-operation-activate.xml
new file mode 100644 (file)
index 0000000..e988058
--- /dev/null
@@ -0,0 +1,227 @@
+<service-logic\r
+    xmlns='http://www.onap.org/sdnc/svclogic'\r
+    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}'>\r
+    <method rpc='sdwan-network-topology-operation-activate' mode='sync'>\r
+        <block atomic="true">\r
+            <call module='GENERIC-RESOURCE-API' rpc='validate-sdwan-network-input-parameters' mode='sync' ></call>\r
+            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+                <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>\r
+                <parameter name="field1" value="__TIMESTAMP__"/>\r
+                <parameter name="field2" value="sdwan-network-topology-operation-activate"/>\r
+                <parameter name="field3" value="SDWAN-Activate"/>\r
+            </record>\r
+            <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
+                <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
+                <parameter name='contextPrefix' value='prop' />\r
+            </execute>\r
+            <for index='idx' start='0' end='`$ctx.network-data.network-request-input.network-input-parameters.param_length`' >\r
+                <block>\r
+                    <switch test="`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].name == 'name'`">\r
+                        <outcome value='true'>\r
+                            <set>\r
+                                <parameter name='prop.name' value='`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].value`' />\r
+                            </set>\r
+                        </outcome>\r
+                    </switch>\r
+                    <switch test="`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].name == 'topology'`">\r
+                        <outcome value='true'>\r
+                            <set>\r
+                                <parameter name='prop.topology' value='`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].value`' />\r
+                            </set>\r
+                        </outcome>\r
+                    </switch>\r
+                </block>\r
+            </for>\r
+            <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+               resource="esr-thirdparty-sdnc" \r
+               key="esr-thirdparty-sdnc.thirdparty-sdnc-id = 'SDWAN-Controller' AND \r
+                    depth = '1'"\r
+        pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\r
+                <outcome value='success'>\r
+                    <set>\r
+                        <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`" />\r
+                        <parameter name='prop.sdncRestApi.thirdpartySdnc.user' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`" />\r
+                        <parameter name='prop.sdncRestApi.thirdpartySdnc.password' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`" />\r
+                    </set>\r
+                </outcome>\r
+                <outcome value='not-found'>\r
+                    <return status='failure'>\r
+                        <parameter name='ack-final' value='Y'/>\r
+                        <parameter name="error-code" value="500" />\r
+                        <parameter name="error-message" value="`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />\r
+                    </return>\r
+                </outcome>\r
+                <outcome value='Other'>\r
+                    <return status='failure'>\r
+                        <parameter name='ack-final' value='Y'/>\r
+                        <parameter name="error-code" value="500" />\r
+                        <parameter name="error-message" value="`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />\r
+                    </return>\r
+                </outcome>\r
+            </get-resource>\r
+            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/actokentemplate.json'`" />\r
+                <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`" />\r
+                <parameter name="format" value="json"/>\r
+                <parameter name="httpMethod" value="post"/>\r
+                <parameter name="responsePrefix" value="token-result"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStorePassword" value="adminadmin"/>\r
+                <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                <parameter name="keyStorePassword" value="adminadmin"/>\r
+                <outcome value='success'>\r
+                    <set>\r
+                        <parameter name='prop.sdncRestApi.token_id' value='`$token-result.data.token_id`' />\r
+                    </set>\r
+                </outcome>\r
+                <outcome value='failure'>\r
+                    <return status='failure'>\r
+                        <parameter name='ack-final' value='Y'/>\r
+                        <parameter name="error-code" value="500" />\r
+                        <parameter name="error-message" value="Error executing get token rest api" />\r
+                    </return>\r
+                </outcome>\r
+            </execute>\r
+            <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+               resource="service-subscription" \r
+        key= 'service-subscription.service-type = $service-data.networks.network[$tmp.nidx].network-data.service-information.subscription-service-type \r
+        AND customer.global-customer-id = $service-data.networks.network[$tmp.nidx].network-data.service-information.global-customer-id'\r
+      force="true" pfx="tmp.AnAI-data">\r
+                <switch test='`$tmp.AnAI-data.temp-ub-sub-account-id`'>\r
+                    <outcome value=''>\r
+                        <block atomic="true">\r
+                            <set>\r
+                                <parameter name='prop.customer-id' value='`$ctx.network-data.service-information.global-customer-id`' />\r
+                            </set>\r
+                            <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+               resource="service-subscription" \r
+        key= 'service-subscription.service-type = $service-data.networks.network[$tmp.nidx].network-data.service-information.subscription-service-type \r
+        AND customer.global-customer-id = $service-data.networks.network[$tmp.nidx].network-data.service-information.global-customer-id'>\r
+                                <parameter name='temp-ub-sub-account-id' value='`$prop.customer-id`' />\r
+                            </save>\r
+                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-tenant.json'`" />\r
+                                <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenanats'`" />\r
+                                <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
+                                <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
+                                <parameter name="format" value="json"/>\r
+                                <parameter name="httpMethod" value="put"/>\r
+                                <parameter name="responsePrefix" value="tenant-result"/>\r
+                                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                                <parameter name="trustStorePassword" value="adminadmin"/>\r
+                                <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                                <parameter name="keyStorePassword" value="adminadmin"/>\r
+                                <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
+                            </execute>\r
+                            <set>\r
+                                <parameter name='prop.tenant-id' value='`$tenant-result.data.tenantId`' />\r
+                            </set>\r
+                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                                <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenanats/authorization/' + $prop.tenant-id`" />\r
+                                <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
+                                <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
+                                <parameter name="format" value="json"/>\r
+                                <parameter name="httpMethod" value="put"/>\r
+                                <parameter name="responsePrefix" value="tenant-result"/>\r
+                                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                                <parameter name="trustStorePassword" value="adminadmin"/>\r
+                                <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                                <parameter name="keyStorePassword" value="adminadmin"/>\r
+                                <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
+                            </execute>\r
+                        </block>\r
+                    </outcome>\r
+                    <outcome value='Other'>\r
+                        <set>\r
+                            <parameter name='prop.tenant-id' value='`$tmp.AnAI-data.temp-ub-sub-account-id`' />\r
+                        </set>\r
+                    </outcome>\r
+                </switch>\r
+            </get-resource>\r
+            <block atomic="true">\r
+                <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                    <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-network-orchestration.json'`" />\r
+                    <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/network-orchestration-resources'`" />\r
+                    <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
+                    <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
+                    <parameter name="format" value="json"/>\r
+                    <parameter name="httpMethod" value="put"/>\r
+                    <parameter name="responsePrefix" value="orchestration-result"/>\r
+                    <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                    <parameter name="trustStorePassword" value="adminadmin"/>\r
+                    <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                    <parameter name="keyStorePassword" value="adminadmin"/>\r
+                    <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
+                </execute>\r
+            </block>\r
+            <block atomic="true">\r
+                <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                    <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-vpn.json'`" />\r
+                    <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/vpn'`" />\r
+                    <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
+                    <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
+                    <parameter name="format" value="json"/>\r
+                    <parameter name="httpMethod" value="post"/>\r
+                    <parameter name="responsePrefix" value="vpn-result"/>\r
+                    <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                    <parameter name="trustStorePassword" value="adminadmin"/>\r
+                    <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                    <parameter name="keyStorePassword" value="adminadmin"/>\r
+                    <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
+                </execute>\r
+                <set>\r
+                    <parameter name='prop.vpn-id' value='`$vpn-result.id`' />\r
+                    <parameter name='prop.vpn1Id' value='`$vpn-result.id`' />\r
+                </set>\r
+                <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                    <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-vpn-topology.json'`" />\r
+                    <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/' + $prop.vpn-id + '/topology'`" />\r
+                    <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
+                    <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
+                    <parameter name="format" value="json"/>\r
+                    <parameter name="httpMethod" value="post"/>\r
+                    <parameter name="responsePrefix" value="vpn-result"/>\r
+                    <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                    <parameter name="trustStorePassword" value="adminadmin"/>\r
+                    <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                    <parameter name="keyStorePassword" value="adminadmin"/>\r
+                    <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
+                </execute>\r
+            </block>\r
+            <set>\r
+                <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$network-topology-operation-input.network-request-input.network-input-parameters.param_length].name' value='tenant-id' />\r
+                <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$network-topology-operation-input.network-request-input.network-input-parameters.param_length].value' value='`$prop.tenant-id`' />\r
+                <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$network-topology-operation-input.network-request-input.network-input-parameters.param_length + 1].name' value='vpn-id' />\r
+                <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$network-topology-operation-input.network-request-input.network-input-parameters.param_length + 1].value' value='`$prop.vpn-id`' />\r
+                <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param_length' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param_length + 2`' />\r
+            </set>\r
+            <set>\r
+                <parameter name='service-data.networks.network[$tmp.nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />\r
+                <parameter name='service-data.networks.network[$tmp.nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />\r
+                <parameter name='service-data.networks.network[$tmp.nidx].network-data.service-information.' value='`$network-topology-operation-input.service-information.`' />\r
+                <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-information.' value='`$network-topology-operation-input.network-information.`' />\r
+            </set>\r
+            <set>\r
+                <parameter name='networkId' value='`$network-topology-operation-input.network-information.network-id`' />\r
+                <parameter name="network-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $network-topology-operation-input.service-information.service-instance-id  + '/service-data/networks/network/'  + $network-topology-operation-input.network-information.network-id  + '/network-data/'` " />\r
+            </set>\r
+            <set>\r
+                <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status' value='Active' />\r
+                <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.last-rpc-action' value='`$network-topology-operation-input.sdnc-request-header.svc-action`' />\r
+                <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.last-action' value='`$network-topology-operation-input.request-information.request-action`' />\r
+            </set>\r
+            <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='sdwan-vpn' \r
+      key='sdwan-vpn.id = $network-topology-operation-input.network-information.network-id' >\r
+                <parameter name='id' value='`$network-topology-operation-input.network-information.network-id`' />\r
+                <parameter name='operational-status' value='Active' />\r
+                <parameter name='tenanatId' value='`$prop.tenant-id`' />\r
+                <parameter name='vpn-id' value='`$prop.vpn-id`' />\r
+            </update>\r
+            <return status='success'>\r
+                <parameter name="ack-final-indicator" value="Y" />\r
+                <parameter name="error-code" value="200" />\r
+                <parameter name="error-message" value="`$error-message`" />\r
+            </return>\r
+        </block>\r
+    </method>\r
+</service-logic>\r
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-network-topology-operation-create.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-network-topology-operation-create.xml
new file mode 100644 (file)
index 0000000..73ba3bc
--- /dev/null
@@ -0,0 +1,105 @@
+<service-logic\r
+    xmlns='http://www.onap.org/sdnc/svclogic'\r
+    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}'>\r
+    <method rpc='sdwan-network-topology-operation-create' mode='sync'>\r
+        <block atomic="true">\r
+            <call module='GENERIC-RESOURCE-API' rpc='validate-sdwan-network-input-parameters' mode='sync' ></call>\r
+            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\r
+                <parameter name="ctx-destination" value="prop.sdwan.network-id"/>\r
+            </execute>\r
+            <for index="idx" start="0" end="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`">\r
+                <block>\r
+                    <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'name'`">\r
+                        <outcome value='true'>\r
+                            <set>\r
+                                <parameter name='prop.name' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
+                            </set>\r
+                        </outcome>\r
+                    </switch>\r
+                    <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'topology'`">\r
+                        <outcome value='true'>\r
+                            <set>\r
+                                <parameter name='prop.topology' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`' />\r
+                            </set>\r
+                        </outcome>\r
+                    </switch>\r
+                </block>\r
+            </for>\r
+            <switch test='`$service-data.networks.network_length`'>\r
+                <outcome value=''>\r
+                    <set>\r
+                        <parameter name='nidx' value='0' />\r
+                    </set>\r
+                </outcome>\r
+                <outcome value='Other'>\r
+                    <block>\r
+                        <set>\r
+                            <parameter name='nidx' value='`$service-data.networks.network_length`' />\r
+                        </set>\r
+                        <for index='idx' start='0' end='`$nidx`' >\r
+                            <switch test="`$service-data.networks.network[$idx].network-id == $network-topology-operation-input.network-information.network-id`">\r
+                                <outcome value='true'>\r
+                                    <return status='failure'>\r
+                                        <parameter name='ack-final' value='Y'/>\r
+                                        <parameter name="error-code" value="500" />\r
+                                        <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id already found in service-data" />\r
+                                    </return>\r
+                                </outcome>\r
+                            </switch>\r
+                        </for>\r
+                    </block>\r
+                </outcome>\r
+            </switch>\r
+            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+                <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>\r
+                <parameter name="field1" value="__TIMESTAMP__"/>\r
+                <parameter name="field2" value="sdwan-network-topology-operation-create"/>\r
+                <parameter name="field3" value="SDWAN-Config"/>\r
+            </record>\r
+            <set>\r
+                <parameter name='service-data.networks.network[$nidx].network-id' value='`$prop.sdwan.network-id`' />\r
+                <parameter name='service-data.networks.network[$nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />\r
+                <parameter name='service-data.networks.network[$nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />\r
+                <parameter name='service-data.networks.network[$nidx].network-data.service-information.' value='`$network-topology-operation-input.service-information.`' />\r
+                <parameter name='service-data.networks.network[$nidx].network-data.network-information.' value='`$network-topology-operation-input.network-information.`' />\r
+                <parameter name='service-data.networks.network[$nidx].network-data.network-request-input.' value='`$network-topology-operation-input.network-request-input.`' />\r
+                <parameter name='service-data.networks.network_length' value='`$nidx+1`' />\r
+            </set>\r
+            <set>\r
+                <parameter name='networkId' value='`$prop.sdwan.network-id`' />\r
+                <parameter name="network-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $network-topology-operation-input.service-information.service-instance-id  + '/service-data/networks/network/'  + $prop.sdwan.network-id  + '/network-data/'` " />\r
+            </set>\r
+            <set>\r
+                <parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.order-status' value='Created' />\r
+                <parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.last-rpc-action' value='`$network-topology-operation-input.sdnc-request-header.svc-action`' />\r
+                <parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.last-action' value='`$network-topology-operation-input.request-information.request-action`' />\r
+            </set>\r
+            <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='sdwan-vpn' \r
+      key='sdwan-vpn.id = $prop.sdwan.network-id' >\r
+                <parameter name='id' value='`$prop.sdwan.network-id`' />\r
+                <parameter name='name' value='`$prop.name`' />\r
+                <parameter name='topology' value='`$prop.topology`' />\r
+                <parameter name='operational-status' value='Created' />\r
+                <parameter name='model-customization-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`' />\r
+                <parameter name='model-invariant-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`' />\r
+                <parameter name='model-version-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-uuid`' />\r
+                <parameter name='selflink' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $network-topology-operation-input.service-information.service-instance-id  + '/service-data/networks/network/'  + $prop.sdwan.network-id  + '/network-data/'` " />\r
+            </save>\r
+            <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list' \r
+      key='service-instance.service-instance-id = $service-data.service-information.service-instance-id \r
+         AND customer.global-customer-id = $service-data.networks.network[$nidx].network-data.service-information.global-customer-id \r
+         AND service-subscription.service-type = $service-data.networks.network[$nidx].network-data.service-information.subscription-service-type' \r
+      force="true" pfx="tmp.AnAI-data">\r
+                <parameter name="relationship-list.relationship[0].related-to" value="sdwan-vpn" />\r
+                <parameter name="relationship-list.relationship[0].related-link" value="`'/network/sdwan-vpns/sdwan-vpn/' + $prop.sdwan.network-id`" />\r
+                <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="sdwan-vpn.id" />\r
+                <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.sdwan.network-id`" />\r
+            </save>\r
+            <return status='success'>\r
+                <parameter name="ack-final-indicator" value="Y" />\r
+                <parameter name="error-code" value="200" />\r
+                <parameter name="error-message" value="`$error-message`" />\r
+            </return>\r
+        </block>\r
+    </method>\r
+</service-logic>\r
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-network-topology-operation-deactivate.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-network-topology-operation-deactivate.xml
new file mode 100644 (file)
index 0000000..19c027d
--- /dev/null
@@ -0,0 +1,153 @@
+<service-logic\r
+    xmlns='http://www.onap.org/sdnc/svclogic'\r
+    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}'>\r
+    <method rpc='sdwan-network-topology-operation-deactivate' mode='sync'>\r
+        <block atomic="true">\r
+            <call module='GENERIC-RESOURCE-API' rpc='validate-sdwan-network-input-parameters' mode='sync' ></call>\r
+            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+                <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>\r
+                <parameter name="field1" value="__TIMESTAMP__"/>\r
+                <parameter name="field2" value="sdwan-network-topology-operation-deactivate"/>\r
+                <parameter name="field3" value="SDWAN-Deactivate"/>\r
+            </record>\r
+            <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
+                <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
+                <parameter name='contextPrefix' value='prop' />\r
+            </execute>\r
+            <for index='idx' start='0' end='`$ctx.network-data.network-request-input.network-input-parameters.param_length`' >\r
+                <block>\r
+                    <switch test="`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].name == 'name'`">\r
+                        <outcome value='true'>\r
+                            <set>\r
+                                <parameter name='prop.name' value='`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].value`' />\r
+                            </set>\r
+                        </outcome>\r
+                    </switch>\r
+                    <switch test="`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].name == 'topology'`">\r
+                        <outcome value='true'>\r
+                            <set>\r
+                                <parameter name='prop.topology' value='`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].value`' />\r
+                            </set>\r
+                        </outcome>\r
+                    </switch>\r
+                    <switch test="`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].name == 'vpn-id'`">\r
+                        <outcome value='true'>\r
+                            <set>\r
+                                <parameter name='prop.vpn-id' value='`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].value`' />\r
+                            </set>\r
+                        </outcome>\r
+                    </switch>\r
+                    <switch test="`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].name == 'tenant-id'`">\r
+                        <outcome value='true'>\r
+                            <set>\r
+                                <parameter name='prop.tenant-id' value='`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].value`' />\r
+                            </set>\r
+                        </outcome>\r
+                    </switch>\r
+                </block>\r
+            </for>\r
+            <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+               resource="esr-thirdparty-sdnc" \r
+               key="esr-thirdparty-sdnc.thirdparty-sdnc-id = 'SDWAN-Controller' AND \r
+                    depth = '1'"\r
+        pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\r
+                <outcome value='success'>\r
+                    <set>\r
+                        <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`" />\r
+                        <parameter name='prop.sdncRestApi.thirdpartySdnc.user' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`" />\r
+                        <parameter name='prop.sdncRestApi.thirdpartySdnc.password' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`" />\r
+                    </set>\r
+                </outcome>\r
+                <outcome value='not-found'>\r
+                    <return status='failure'>\r
+                        <parameter name='ack-final' value='Y'/>\r
+                        <parameter name="error-code" value="500" />\r
+                        <parameter name="error-message" value="`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />\r
+                    </return>\r
+                </outcome>\r
+                <outcome value='Other'>\r
+                    <return status='failure'>\r
+                        <parameter name='ack-final' value='Y'/>\r
+                        <parameter name="error-code" value="500" />\r
+                        <parameter name="error-message" value="`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />\r
+                    </return>\r
+                </outcome>\r
+            </get-resource>\r
+            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/actokentemplate.json'`" />\r
+                <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`" />\r
+                <parameter name="format" value="json"/>\r
+                <parameter name="httpMethod" value="post"/>\r
+                <parameter name="responsePrefix" value="token-result"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStorePassword" value="adminadmin"/>\r
+                <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                <parameter name="keyStorePassword" value="adminadmin"/>\r
+                <outcome value='success'>\r
+                    <set>\r
+                        <parameter name='prop.sdncRestApi.token_id' value='`$token-result.data.token_id`' />\r
+                    </set>\r
+                </outcome>\r
+                <outcome value='failure'>\r
+                    <return status='failure'>\r
+                        <parameter name='ack-final' value='Y'/>\r
+                        <parameter name="error-code" value="500" />\r
+                        <parameter name="error-message" value="Error executing get token rest api" />\r
+                    </return>\r
+                </outcome>\r
+            </execute>\r
+            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/' + $prop.vpn-id + '/topology'`" />\r
+                <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
+                <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
+                <parameter name="format" value="json"/>\r
+                <parameter name="httpMethod" value="delete"/>\r
+                <parameter name="responsePrefix" value="vpn-result"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStorePassword" value="adminadmin"/>\r
+                <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                <parameter name="keyStorePassword" value="adminadmin"/>\r
+                <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
+            </execute>\r
+            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-vpn-delete.json'`" />\r
+                <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/vpn/action/batch-delete'`" />\r
+                <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
+                <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
+                <parameter name="format" value="json"/>\r
+                <parameter name="httpMethod" value="post"/>\r
+                <parameter name="responsePrefix" value="vpn-result"/>\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                <parameter name="trustStorePassword" value="adminadmin"/>\r
+                <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                <parameter name="keyStorePassword" value="adminadmin"/>\r
+                <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
+            </execute>\r
+            <set>\r
+                <parameter name='service-data.networks.network[$tmp.nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />\r
+                <parameter name='service-data.networks.network[$tmp.nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />\r
+                <parameter name='service-data.networks.network[$tmp.nidx].network-data.service-information.' value='`$network-topology-operation-input.service-information.`' />\r
+                <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-information.' value='`$network-topology-operation-input.network-information.`' />\r
+            </set>\r
+            <set>\r
+                <parameter name='networkId' value='`$network-topology-operation-input.network-information.network-id`' />\r
+                <parameter name="network-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $network-topology-operation-input.service-information.service-instance-id  + '/service-data/networks/network/'  + $network-topology-operation-input.network-information.network-id  + '/network-data/'` " />\r
+            </set>\r
+            <set>\r
+                <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status' value='PendingDelete' />\r
+                <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.last-rpc-action' value='`$network-topology-operation-input.sdnc-request-header.svc-action`' />\r
+                <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.last-action' value='`$network-topology-operation-input.request-information.request-action`' />\r
+            </set>\r
+            <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='sdwan-vpn' \r
+      key='sdwan-vpn.id = $network-topology-operation-input.network-information.network-id' >\r
+                <parameter name='id' value='`$network-topology-operation-input.network-information.network-id`' />\r
+                <parameter name='operational-status' value='PendingDelete' />\r
+            </update>\r
+            <return status='success'>\r
+                <parameter name="ack-final-indicator" value="Y" />\r
+                <parameter name="error-code" value="200" />\r
+                <parameter name="error-message" value="`$error-message`" />\r
+            </return>\r
+        </block>\r
+    </method>\r
+</service-logic>\r
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-network-topology-operation-delete.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-network-topology-operation-delete.xml
new file mode 100644 (file)
index 0000000..8363b68
--- /dev/null
@@ -0,0 +1,34 @@
+<service-logic\r
+    xmlns='http://www.onap.org/sdnc/svclogic'\r
+    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}'>\r
+    <method rpc='sdwan-network-topology-operation-delete' mode='sync'>\r
+        <block atomic="true">\r
+            <call module='GENERIC-RESOURCE-API' rpc='validate-sdwan-network-input-parameters' mode='sync' ></call>\r
+            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+                <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>\r
+                <parameter name="field1" value="__TIMESTAMP__"/>\r
+                <parameter name="field2" value="sdwan-network-topology-operation-delete"/>\r
+                <parameter name="field3" value="SDWAN-Delete"/>\r
+            </record>\r
+            <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource='sdwan-vpn' \r
+        key='sdwan-vpn.id = $network-topology-operation-input.network-information.network-id'></delete>\r
+            <set>\r
+                <parameter name="service-data.networks.network_length" value="`$service-data.networks.network_length - 1`"/>\r
+            </set>\r
+            <set>\r
+                <parameter name="service-data.networks.network[$tmp.nidx]." value=""/>\r
+            </set>\r
+            <set>\r
+                <parameter name='networkId' value='`$network-topology-operation-input.network-information.network-id`' />\r
+                <parameter name='service-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
+ + $network-topology-operation-input.service-information.service-instance-id\r
+ + '/service-data/service-topology/'` " />\r
+            </set>\r
+            <return status='success'>\r
+                <parameter name="ack-final-indicator" value="Y" />\r
+                <parameter name="error-code" value="200" />\r
+                <parameter name="error-message" value="`$error-message`" />\r
+            </return>\r
+        </block>\r
+    </method>\r
+</service-logic>\r
index c24fadb..87cf448 100644 (file)
                                         <outcome value=''>\r
                                             <block atomic="true">\r
                                                 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
-                                                    key='SELECT * from SERVICE_MODEL WHERE service_uuid = $service-data.service-information.onap-model-information.model-uuid'\r
-                                                    pfx='service-model'>\r
+  key='SELECT * from SERVICE_MODEL WHERE service_uuid = $service-data.service-information.onap-model-information.model-uuid'\r
+  pfx='service-model'>\r
                                                     <outcome value='not-found'>\r
                                                         <return status='failure'>\r
                                                             <parameter name='ack-final' value='Y'/>\r
                                                     </outcome>\r
                                                 </get-resource>\r
                                                 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
-                                                    key='SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid\r
+  key='SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid\r
   and service_uuid = $service-data.service-information.onap-model-information.model-uuid'\r
-                                                    pfx='network-model'>\r
+  pfx='network-model'>\r
                                                     <outcome value='not-found'>\r
                                                         <return status='failure'>\r
                                                             <parameter name='ack-final' value='Y'/>\r
                                                             <parameter name="error-code" value="500" />\r
-                                                            <parameter name="error-message" value="`'No network model found for customization UUID '\r
+                                                            <parameter name="error-message" value="`'No network model found for customization UUID ' \r
     + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid +\r
     ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />\r
                                                         </return>\r
                                                         <return status='failure'>\r
                                                             <parameter name='ack-final' value='Y'/>\r
                                                             <parameter name="error-code" value="500" />\r
-                                                            <parameter name="error-message" value="`'No network model found for customization UUID '\r
+                                                            <parameter name="error-message" value="`'No network model found for customization UUID ' \r
     + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid +\r
     ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />\r
                                                         </return>\r
                                         <outcome value='Other'>\r
                                             <block atomic="true">\r
                                                 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
-                                                    key='SELECT * from SERVICE_MODEL WHERE service_uuid = $network-topology-operation-input.service-information.onap-model-information.model-uuid'\r
-                                                    pfx='service-model'>\r
+  key='SELECT * from SERVICE_MODEL WHERE service_uuid = $network-topology-operation-input.service-information.onap-model-information.model-uuid'\r
+  pfx='service-model'>\r
                                                     <outcome value='not-found'>\r
                                                         <return status='failure'>\r
                                                             <parameter name='ack-final' value='Y'/>\r
                                                     </outcome>\r
                                                 </get-resource>\r
                                                 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
-                                                    key='SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid\r
+  key='SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid\r
   and service_uuid = $network-topology-operation-input.service-information.onap-model-information.model-uuid'\r
-                                                    pfx='network-model'>\r
+  pfx='network-model'>\r
                                                     <outcome value='not-found'>\r
                                                         <return status='failure'>\r
                                                             <parameter name='ack-final' value='Y'/>\r
                                                             <parameter name="error-code" value="500" />\r
-                                                            <parameter name="error-message" value="`'No network model found for customization UUID '\r
+                                                            <parameter name="error-message" value="`'No network model found for customization UUID ' \r
     + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid +\r
     ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />\r
                                                         </return>\r
                                                         <return status='failure'>\r
                                                             <parameter name='ack-final' value='Y'/>\r
                                                             <parameter name="error-code" value="500" />\r
-                                                            <parameter name="error-message" value="`'No network model found for customization UUID '\r
+                                                            <parameter name="error-message" value="`'No network model found for customization UUID ' \r
     + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid +\r
     ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />\r
                                                         </return>\r
                 <outcome value='activate'>\r
                     <block atomic="true">\r
                         <switch test='`$network-topology-operation-input.request-information.request-action`'>\r
+                            <outcome value='ActivateSDWANConnectivityInstance'>\r
+                                <block atomic="true"></block>\r
+                            </outcome>\r
                             <outcome value='ActivateSOTNConnectivityInstance'>\r
                                 <block atomic="true"></block>\r
                             </outcome>\r
                                         <outcome value=''>\r
                                             <block atomic="true">\r
                                                 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
-                                                    key='SELECT * from SERVICE_MODEL WHERE service_uuid = $service-data.service-information.onap-model-information.model-uuid'\r
-                                                    pfx='service-model'>\r
+  key='SELECT * from SERVICE_MODEL WHERE service_uuid = $service-data.service-information.onap-model-information.model-uuid'\r
+  pfx='service-model'>\r
                                                     <outcome value='not-found'>\r
                                                         <return status='failure'>\r
                                                             <parameter name='ack-final' value='Y'/>\r
                                                     </outcome>\r
                                                 </get-resource>\r
                                                 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
-                                                    key='SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid\r
+  key='SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid\r
   and service_uuid = $service-data.service-information.onap-model-information.model-uuid'\r
-                                                    pfx='network-model'>\r
+  pfx='network-model'>\r
                                                     <outcome value='not-found'>\r
                                                         <return status='failure'>\r
                                                             <parameter name='ack-final' value='Y'/>\r
                                                             <parameter name="error-code" value="500" />\r
-                                                            <parameter name="error-message" value="`'No network model found for customization UUID '\r
+                                                            <parameter name="error-message" value="`'No network model found for customization UUID ' \r
     + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid +\r
     ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />\r
                                                         </return>\r
                                                         <return status='failure'>\r
                                                             <parameter name='ack-final' value='Y'/>\r
                                                             <parameter name="error-code" value="500" />\r
-                                                            <parameter name="error-message" value="`'No network model found for customization UUID '\r
+                                                            <parameter name="error-message" value="`'No network model found for customization UUID ' \r
     + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid +\r
     ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />\r
                                                         </return>\r
                                         <outcome value='Other'>\r
                                             <block atomic="true">\r
                                                 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
-                                                    key='SELECT * from SERVICE_MODEL WHERE service_uuid = $network-topology-operation-input.service-information.onap-model-information.model-uuid'\r
-                                                    pfx='service-model'>\r
+  key='SELECT * from SERVICE_MODEL WHERE service_uuid = $network-topology-operation-input.service-information.onap-model-information.model-uuid'\r
+  pfx='service-model'>\r
                                                     <outcome value='not-found'>\r
                                                         <return status='failure'>\r
                                                             <parameter name='ack-final' value='Y'/>\r
                                                     </outcome>\r
                                                 </get-resource>\r
                                                 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
-                                                    key='SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid\r
+  key='SELECT * from NETWORK_MODEL WHERE customization_uuid = $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid\r
   and service_uuid = $network-topology-operation-input.service-information.onap-model-information.model-uuid'\r
-                                                    pfx='network-model'>\r
+  pfx='network-model'>\r
                                                     <outcome value='not-found'>\r
                                                         <return status='failure'>\r
                                                             <parameter name='ack-final' value='Y'/>\r
                                                             <parameter name="error-code" value="500" />\r
-                                                            <parameter name="error-message" value="`'No network model found for customization UUID '\r
+                                                            <parameter name="error-message" value="`'No network model found for customization UUID ' \r
     + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid +\r
     ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />\r
                                                         </return>\r
                                                         <return status='failure'>\r
                                                             <parameter name='ack-final' value='Y'/>\r
                                                             <parameter name="error-code" value="500" />\r
-                                                            <parameter name="error-message" value="`'No network model found for customization UUID '\r
+                                                            <parameter name="error-message" value="`'No network model found for customization UUID ' \r
     + $network-topology-operation-input.network-information.onap-model-information.model-customization-uuid +\r
     ' and model-uuid ' + $network-topology-operation-input.service-information.onap-model-information.model-uuid`" />\r
                                                         </return>\r
                 <outcome value='deactivate'>\r
                     <block atomic="true">\r
                         <switch test='`$network-topology-operation-input.request-information.request-action`'>\r
+                            <outcome value='DeactivateSDWANConnectivityInstance'>\r
+                                <block atomic="true"></block>\r
+                            </outcome>\r
                             <outcome value='DeactivateSOTNConnectivityInstance'>\r
                                 <block atomic="true"></block>\r
                             </outcome>\r
             </return>\r
         </block>\r
     </method>\r
-</service-logic>
\ No newline at end of file
+</service-logic>\r
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-sdwan-network-input-parameters.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-sdwan-network-input-parameters.xml
new file mode 100644 (file)
index 0000000..478fe4d
--- /dev/null
@@ -0,0 +1,305 @@
+<service-logic\r
+    xmlns='http://www.onap.org/sdnc/svclogic'\r
+    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}'>\r
+    <method rpc='validate-sdwan-network-input-parameters' mode='sync'>\r
+        <block atomic="true">\r
+            <switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>\r
+                <outcome value=''>\r
+                    <return status='failure'>\r
+                        <parameter name='ack-final' value='Y'/>\r
+                        <parameter name="error-code" value="500" />\r
+                        <parameter name="error-message" value="sdnc-request-header.svc-request-id is a required input" />\r
+                    </return>\r
+                </outcome>\r
+            </switch>\r
+            <switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>\r
+                <outcome value='create'>\r
+                    <block atomic="true">\r
+                        <switch test='`$network-topology-operation-input.request-information.request-action`'>\r
+                            <outcome value='CreateSDWANConnectivityInstance'>\r
+                                <block atomic="true">\r
+                                    <for index="i" start="0" end="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`">\r
+                                        <block>\r
+                                            <set>\r
+                                                <parameter name='tmp.name' value='' />\r
+                                                <parameter name='tmp.value' value='' />\r
+                                            </set>\r
+                                            <set>\r
+                                                <parameter name='tmp.name' value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$i].name`"/>\r
+                                                <parameter name='tmp.value' value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$i].value`"/>\r
+                                            </set>\r
+                                            <switch test="`$tmp.name`">\r
+                                                <outcome value='name'>\r
+                                                    <switch test="`$tmp.value`">\r
+                                                        <outcome value=''>\r
+                                                            <return status='failure'>\r
+                                                                <parameter name='ack-final' value='Y'/>\r
+                                                                <parameter name="error-code" value="500" />\r
+                                                                <parameter name="error-message" value="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'`" />\r
+                                                            </return>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                </outcome>\r
+                                                <outcome value='topology'>\r
+                                                    <switch test="`$tmp.value`">\r
+                                                        <outcome value=''>\r
+                                                            <return status='failure'>\r
+                                                                <parameter name='ack-final' value='Y'/>\r
+                                                                <parameter name="error-code" value="500" />\r
+                                                                <parameter name="error-message" value="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'`" />\r
+                                                            </return>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                </outcome>\r
+                                                <outcome value=''>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='ack-final' value='Y'/>\r
+                                                        <parameter name="error-code" value="500" />\r
+                                                        <parameter name="error-message" value="`'network-topology-operation-input.network-request-input.network-input-parameters.param[' + $i + ']' + '.name is a required input'`" />\r
+                                                    </return>\r
+                                                </outcome>\r
+                                            </switch>\r
+                                        </block>\r
+                                    </for>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='Other'>\r
+                                <return status='failure'>\r
+                                    <parameter name='ack-final' value='Y'/>\r
+                                    <parameter name="error-code" value="500" />\r
+                                    <parameter name="error-message" value="request-information.request-action is required to be SOTN CreateVPNNetworkInstance for svc-action=create" />\r
+                                </return>\r
+                            </outcome>\r
+                        </switch>\r
+                    </block>\r
+                </outcome>\r
+                <outcome value='activate'>\r
+                    <switch test='`$network-topology-operation-input.request-information.request-action`'>\r
+                        <outcome value='ActivateSDWANConnectivityInstance'>\r
+                            <block atomic="true">\r
+                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >\r
+                                    <parameter name="network-topology-operation-input.network-information.network-id" value="$network-topology-operation-input.network-information.network-id"/>\r
+                                </execute>\r
+                                <switch test="`$network-topology-operation-input.network-information.network-id`">\r
+                                    <outcome value=''>\r
+                                        <return status='failure'>\r
+                                            <parameter name='ack-final' value='Y'/>\r
+                                            <parameter name="error-code" value="500" />\r
+                                            <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />\r
+                                        </return>\r
+                                    </outcome>\r
+                                </switch>\r
+                                <switch test='`$service-data.networks.network_length`'>\r
+                                    <outcome value=''>\r
+                                        <return status='failure'>\r
+                                            <parameter name='ack-final' value='Y'/>\r
+                                            <parameter name="error-code" value="500" />\r
+                                            <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
+                                        </return>\r
+                                    </outcome>\r
+                                    <outcome value='Other'>\r
+                                        <block atomic="true">\r
+                                            <for index='nidx' start='0' end='`$service-data.networks.network_length`' >\r
+                                                <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">\r
+                                                    <outcome value='true'>\r
+                                                        <block atomic="true">\r
+                                                            <set>\r
+                                                                <parameter name='tmp.nidx' value='`$nidx`' />\r
+                                                                <parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].network-data.`' />\r
+                                                            </set>\r
+                                                        </block>\r
+                                                    </outcome>\r
+                                                </switch>\r
+                                            </for>\r
+                                            <switch test="`$tmp.nidx`">\r
+                                                <outcome value=''>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='ack-final' value='Y'/>\r
+                                                        <parameter name="error-code" value="500" />\r
+                                                        <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
+                                                    </return>\r
+                                                </outcome>\r
+                                            </switch>\r
+                                        </block>\r
+                                    </outcome>\r
+                                </switch>\r
+                                <switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\r
+                                    <outcome value='Created'>\r
+                                        <block atomic="true"></block>\r
+                                    </outcome>\r
+                                    <outcome value='Other'>\r
+                                        <return status='failure'>\r
+                                            <parameter name='ack-final' value='Y'/>\r
+                                            <parameter name="error-code" value="500" />\r
+                                            <parameter name="error-message" value="`'Network is not in appropriate state for activate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />\r
+                                        </return>\r
+                                    </outcome>\r
+                                </switch>\r
+                            </block>\r
+                        </outcome>\r
+                        <outcome value='Other'>\r
+                            <return status='failure'>\r
+                                <parameter name='ack-final' value='Y'/>\r
+                                <parameter name="error-code" value="500" />\r
+                                <parameter name="error-message" value="request-information.request-action is required to be SOTN ActivateVPNNetworkInstance for svc-action=activate" />\r
+                            </return>\r
+                        </outcome>\r
+                    </switch>\r
+                </outcome>\r
+                <outcome value='deactivate'>\r
+                    <switch test='`$network-topology-operation-input.request-information.request-action`'>\r
+                        <outcome value='DeactivateSDWANConnectivityInstance'>\r
+                            <block atomic="true">\r
+                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >\r
+                                    <parameter name="network-topology-operation-input.network-information.network-id" value="$network-topology-operation-input.network-information.network-id"/>\r
+                                </execute>\r
+                                <switch test="`$network-topology-operation-input.network-information.network-id`">\r
+                                    <outcome value=''>\r
+                                        <return status='failure'>\r
+                                            <parameter name='ack-final' value='Y'/>\r
+                                            <parameter name="error-code" value="500" />\r
+                                            <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />\r
+                                        </return>\r
+                                    </outcome>\r
+                                </switch>\r
+                                <switch test='`$service-data.networks.network_length`'>\r
+                                    <outcome value=''>\r
+                                        <return status='failure'>\r
+                                            <parameter name='ack-final' value='Y'/>\r
+                                            <parameter name="error-code" value="500" />\r
+                                            <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
+                                        </return>\r
+                                    </outcome>\r
+                                    <outcome value='Other'>\r
+                                        <block atomic="true">\r
+                                            <for index='nidx' start='0' end='`$service-data.networks.network_length`' >\r
+                                                <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">\r
+                                                    <outcome value='true'>\r
+                                                        <block atomic="true">\r
+                                                            <set>\r
+                                                                <parameter name='tmp.nidx' value='`$nidx`' />\r
+                                                                <parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].network-data.`' />\r
+                                                            </set>\r
+                                                        </block>\r
+                                                    </outcome>\r
+                                                </switch>\r
+                                            </for>\r
+                                            <switch test="`$tmp.nidx`">\r
+                                                <outcome value=''>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='ack-final' value='Y'/>\r
+                                                        <parameter name="error-code" value="500" />\r
+                                                        <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
+                                                    </return>\r
+                                                </outcome>\r
+                                            </switch>\r
+                                        </block>\r
+                                    </outcome>\r
+                                </switch>\r
+                                <switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\r
+                                    <outcome value='Active'>\r
+                                        <block atomic="true"></block>\r
+                                    </outcome>\r
+                                    <outcome value='Other'>\r
+                                        <return status='failure'>\r
+                                            <parameter name='ack-final' value='Y'/>\r
+                                            <parameter name="error-code" value="500" />\r
+                                            <parameter name="error-message" value="`'Network is not in appropriate state for deactivate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />\r
+                                        </return>\r
+                                    </outcome>\r
+                                </switch>\r
+                            </block>\r
+                        </outcome>\r
+                        <outcome value='Other'>\r
+                            <return status='failure'>\r
+                                <parameter name='ack-final' value='Y'/>\r
+                                <parameter name="error-code" value="500" />\r
+                                <parameter name="error-message" value="request-information.request-action is required to be SOTN DeactivateVPNNetworkInstance for svc-action=deactivate" />\r
+                            </return>\r
+                        </outcome>\r
+                    </switch>\r
+                </outcome>\r
+                <outcome value='delete'>\r
+                    <switch test='`$network-topology-operation-input.request-information.request-action`'>\r
+                        <outcome value='DeleteSDWANConnectivityInstance'>\r
+                            <block atomic="true">\r
+                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >\r
+                                    <parameter name="network-topology-operation-input.network-information.network-id" value="$network-topology-operation-input.network-information.network-id"/>\r
+                                </execute>\r
+                                <switch test="`$network-topology-operation-input.network-information.network-id`">\r
+                                    <outcome value=''>\r
+                                        <return status='failure'>\r
+                                            <parameter name='ack-final' value='Y'/>\r
+                                            <parameter name="error-code" value="500" />\r
+                                            <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />\r
+                                        </return>\r
+                                    </outcome>\r
+                                </switch>\r
+                                <switch test='`$service-data.networks.network_length`'>\r
+                                    <outcome value=''>\r
+                                        <return status='failure'>\r
+                                            <parameter name='ack-final' value='Y'/>\r
+                                            <parameter name="error-code" value="500" />\r
+                                            <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
+                                        </return>\r
+                                    </outcome>\r
+                                    <outcome value='Other'>\r
+                                        <block atomic="true">\r
+                                            <for index='nidx' start='0' end='`$service-data.networks.network_length`' >\r
+                                                <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">\r
+                                                    <outcome value='true'>\r
+                                                        <block atomic="true">\r
+                                                            <set>\r
+                                                                <parameter name='tmp.nidx' value='`$nidx`' />\r
+                                                                <parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].network-data.`' />\r
+                                                            </set>\r
+                                                        </block>\r
+                                                    </outcome>\r
+                                                </switch>\r
+                                            </for>\r
+                                            <switch test="`$tmp.nidx`">\r
+                                                <outcome value=''>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='ack-final' value='Y'/>\r
+                                                        <parameter name="error-code" value="500" />\r
+                                                        <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
+                                                    </return>\r
+                                                </outcome>\r
+                                            </switch>\r
+                                        </block>\r
+                                    </outcome>\r
+                                </switch>\r
+                                <switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\r
+                                    <outcome value='PendingDelete'>\r
+                                        <block atomic="true"></block>\r
+                                    </outcome>\r
+                                    <outcome value='Other'>\r
+                                        <return status='failure'>\r
+                                            <parameter name='ack-final' value='Y'/>\r
+                                            <parameter name="error-code" value="500" />\r
+                                            <parameter name="error-message" value="`'Network is not in appropriate state for delete. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />\r
+                                        </return>\r
+                                    </outcome>\r
+                                </switch>\r
+                            </block>\r
+                        </outcome>\r
+                        <outcome value='Other'>\r
+                            <return status='failure'>\r
+                                <parameter name='ack-final' value='Y'/>\r
+                                <parameter name="error-code" value="500" />\r
+                                <parameter name="error-message" value="request-information.request-action is required to be SOTN DeleteVPNNetworkInstance for svc-action=delete" />\r
+                            </return>\r
+                        </outcome>\r
+                    </switch>\r
+                </outcome>\r
+                <outcome value='Other'>\r
+                    <return status='failure'>\r
+                        <parameter name='ack-final' value='Y'/>\r
+                        <parameter name="error-code" value="500" />\r
+                        <parameter name="error-message" value="`$network-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`" />\r
+                    </return>\r
+                </outcome>\r
+            </switch>\r
+        </block>\r
+    </method>\r
+</service-logic>\r