zte 3rd party controller for sdwan 88/84888/1
authorZhuoyao Huang <10112215@zte.com.cn>
Wed, 10 Apr 2019 14:11:59 +0000 (22:11 +0800)
committerZhuoyao Huang <10112215@zte.com.cn>
Wed, 10 Apr 2019 14:13:55 +0000 (22:13 +0800)
creating a placeholder for specific templates & DG nodes required to talk to ZTE as 3rd party domain controller.

Issue-ID: SDNC-657

Change-Id: Icb774966cd9f4cd15e1beebb2dfb5194f241e4bc
Signed-off-by: Zhuoyao Huang <10112215@zte.com.cn>
Former-commit-id: 22f440deb271000c1accc7abe679335e3e1916b0

24 files changed:
platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-activate.json [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-create.json [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-deactivate.json [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-delete.json [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-activate.xml [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-create.xml [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-deactivate.xml [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-delete.xml [new file with mode: 0644]
platform-logic/restapi-templates/src/main/json/sdwan-device-zte-add.json [new file with mode: 0644]
platform-logic/restapi-templates/src/main/json/sdwan-device-zte-del.json [new file with mode: 0644]
platform-logic/restapi-templates/src/main/json/sdwan-inter-connect-zte-create.json [new file with mode: 0644]
platform-logic/restapi-templates/src/main/json/sdwan-inter-connect-zte-del.json [new file with mode: 0644]
platform-logic/restapi-templates/src/main/json/sdwan-port-zte-add.json [new file with mode: 0644]
platform-logic/restapi-templates/src/main/json/sdwan-port-zte-del.json [new file with mode: 0644]
platform-logic/restapi-templates/src/main/json/sdwan-site-ha-zte-add.json [new file with mode: 0644]
platform-logic/restapi-templates/src/main/json/sdwan-site-ha-zte-del.json [new file with mode: 0644]
platform-logic/restapi-templates/src/main/json/sdwan-site-lan-zte-add.json [new file with mode: 0644]
platform-logic/restapi-templates/src/main/json/sdwan-site-lan-zte-del.json [new file with mode: 0644]
platform-logic/restapi-templates/src/main/json/sdwan-site-wan-zte-add.json [new file with mode: 0644]
platform-logic/restapi-templates/src/main/json/sdwan-site-wan-zte-del.json [new file with mode: 0644]
platform-logic/restapi-templates/src/main/json/sdwan-site-zte-add.json [new file with mode: 0644]
platform-logic/restapi-templates/src/main/json/sdwan-site-zte-del.json [new file with mode: 0644]
platform-logic/restapi-templates/src/main/json/sdwan-tenant-zte-add.json [new file with mode: 0644]
platform-logic/restapi-templates/src/main/json/sdwan-tenant-zte-del.json [new file with mode: 0644]

diff --git a/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-activate.json b/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-activate.json
new file mode 100644 (file)
index 0000000..faa23aa
--- /dev/null
@@ -0,0 +1,2320 @@
+[
+    {
+        "id": "38ad5ef3.8fa5c2",
+        "type": "dgstart",
+        "name": "DGSTART",
+        "outputs": 1,
+        "x": 137.00390625,
+        "y": 125.00390625,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "59b2f037.b79a4"
+            ]
+        ]
+    },
+    {
+        "id": "59b2f037.b79a4",
+        "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": 349.00391006469727,
+        "y": 197.0039234161377,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "7aa0bfba.98463"
+            ]
+        ]
+    },
+    {
+        "id": "7aa0bfba.98463",
+        "type": "method",
+        "name": "wan-connection-topology-operation-activate",
+        "xml": "<method rpc='wan-connection-topology-operation-activate' mode='sync'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 337.0040283203125,
+        "y": 285.00390625,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "5fa21447.0f651c"
+            ]
+        ]
+    },
+    {
+        "id": "ac6656dd.35a3c8",
+        "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": 587.0045166015625,
+        "y": 473.0041103363037,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            []
+        ]
+    },
+    {
+        "id": "5eafccd5.5cff74",
+        "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": 890.0041275024414,
+        "y": 2205.004325866699,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "77d24866.f3a848",
+        "type": "block",
+        "name": "general-activate-block : atomic",
+        "xml": "<block atomic=\"true\">",
+        "atomic": "true",
+        "comments": "",
+        "outputs": 1,
+        "x": 731.5041828155518,
+        "y": 1920.0041402578354,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "5eafccd5.5cff74",
+                "664ad94.da0ee28",
+                "4329fb4d.2499b4",
+                "d6f9dbf2.6a98d8"
+            ]
+        ]
+    },
+    {
+        "id": "4329fb4d.2499b4",
+        "type": "for",
+        "name": "for cxid..network-topology-operation-input.network-request-input.network-input-parameters.param[]",
+        "xml": "<for index='cxid' start='0' end='`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`' >\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1545.003984451294,
+        "y": 2037.0041707754135,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "a7a35b54.a22968"
+            ]
+        ]
+    },
+    {
+        "id": "d6f9dbf2.6a98d8",
+        "type": "execute",
+        "name": "execute RestApiCallNode Create wan-connection",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$tmp.templateFileName`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + $tmp.restapiUrl`\" />\n<parameter name=\"restapiUser\" value=\"admin\" />\n<parameter name=\"restapiPassword\" value=\"admin\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"restApi-result\"/>",
+        "comments": "",
+        "outputs": 1,
+        "x": 1571.2540397644043,
+        "y": 2591.0043576955795,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "baab7187.80f6b",
+                "1ff9ce75.2238b2",
+                "2afc86f8.6d0eca"
+            ]
+        ]
+    },
+    {
+        "id": "6c80438c.95e70c",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1870.254409790039,
+        "y": 2141.0045127868652,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "5cacbb75.a9b194"
+            ]
+        ]
+    },
+    {
+        "id": "5cacbb75.a9b194",
+        "type": "set",
+        "name": "set tmp.templateFileName",
+        "xml": "<set>\n<parameter name='tmp.templateFileName' value=\"`$prop.restapi.templateDir + '/' + $network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].value`\" />\n<parameter name='tmp.templateFileName-found' value='true' />",
+        "comments": "",
+        "x": 2227.2544174194336,
+        "y": 2144.004379630089,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "664ad94.da0ee28",
+        "type": "set",
+        "name": "set paras flags",
+        "xml": "<set>\n<parameter name='tmp.restapiUrl-found' value='false' />\n<parameter name='tmp.restapiUser-found' value='false' />\n<parameter name='tmp.restapiPassword-found' value='false' />\n<parameter name='tmp.templateFileName-found' value='false' />\n<parameter name='tmp.thirdPartyAdaptorRpc-found' value='false' />",
+        "comments": "",
+        "x": 1332.0041522979736,
+        "y": 1952.0041679143906,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "2afc86f8.6d0eca",
+        "type": "not-found",
+        "name": "not-found",
+        "xml": "<outcome value='not-found'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1901.0104637145996,
+        "y": 2626.343449950218,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "c3e0d84f.772da8"
+            ]
+        ]
+    },
+    {
+        "id": "1ff9ce75.2238b2",
+        "type": "failure",
+        "name": "failure",
+        "xml": "<outcome value='failure'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1892.010513305664,
+        "y": 2594.8434756994247,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "c3e0d84f.772da8"
+            ]
+        ]
+    },
+    {
+        "id": "baab7187.80f6b",
+        "type": "success",
+        "name": "success",
+        "xml": "<outcome value='success'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1895.7605514526367,
+        "y": 2565.200580574572,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "195471ac.565dfe"
+            ]
+        ]
+    },
+    {
+        "id": "c3e0d84f.772da8",
+        "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 calling ' + $tmp.restapiUrl`\" />\n",
+        "comments": "",
+        "x": 2058.7605781555176,
+        "y": 2611.593548178673,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "5fa21447.0f651c",
+        "type": "execute",
+        "name": "contains specification",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n    <parameter name=\"source\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n    <parameter name=\"target\" value=\"specification\"/>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 234.00385665893555,
+        "y": 407.00773561000824,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "709657dc.92cf68",
+                "9f362f1a.3252f"
+            ]
+        ]
+    },
+    {
+        "id": "709657dc.92cf68",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 470.00389099121094,
+        "y": 405.00772750377655,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "a54c999.f509368"
+            ]
+        ]
+    },
+    {
+        "id": "9f362f1a.3252f",
+        "type": "outcomeTrue",
+        "name": "false",
+        "xml": "<outcome value='false'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 173.00394439697266,
+        "y": 630.007900595665,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "34f92a60.a00a16"
+            ]
+        ]
+    },
+    {
+        "id": "43ec8f53.27728",
+        "type": "execute",
+        "name": "contains Fc",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n    <parameter name=\"source\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n    <parameter name=\"target\" value=\"Fc\"/>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 504.00395584106445,
+        "y": 714.0078290700912,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "99a5ce.39d8fa3",
+                "9aeabbf6.e3e4e8"
+            ]
+        ]
+    },
+    {
+        "id": "9aeabbf6.e3e4e8",
+        "type": "outcomeTrue",
+        "name": "false",
+        "xml": "<outcome value='false'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 149.00393295288086,
+        "y": 1062.0079015493393,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "3c9043b1.35740c"
+            ]
+        ]
+    },
+    {
+        "id": "3c9043b1.35740c",
+        "type": "execute",
+        "name": "contains Fd",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n    <parameter name=\"source\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n    <parameter name=\"target\" value=\"Fd\"/>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 358.00392150878906,
+        "y": 1058.0078800916672,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "371cd5ef.c2eb7a",
+                "e569686f.faece8"
+            ]
+        ]
+    },
+    {
+        "id": "e569686f.faece8",
+        "type": "outcomeTrue",
+        "name": "false",
+        "xml": "<outcome value='false'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 140.97263717651367,
+        "y": 1133.9765380620956,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "cbe73854.eea6a8"
+            ]
+        ]
+    },
+    {
+        "id": "cbe73854.eea6a8",
+        "type": "execute",
+        "name": "contains FcPort",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n    <parameter name=\"source\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n    <parameter name=\"target\" value=\"FcPort\"/>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 349.97262954711914,
+        "y": 1130.9765666723251,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "8253886a.5043b8",
+                "aae3e74c.32cb78"
+            ]
+        ]
+    },
+    {
+        "id": "99a5ce.39d8fa3",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 686.0039596557617,
+        "y": 715.0078123807907,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "6cad7750.ad59e8"
+            ]
+        ]
+    },
+    {
+        "id": "371cd5ef.c2eb7a",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 930.0040893554688,
+        "y": 1060.008066534996,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "77d24866.f3a848"
+            ]
+        ]
+    },
+    {
+        "id": "8253886a.5043b8",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 544.972713470459,
+        "y": 1132.976599097252,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "19d89423.0a7e6c"
+            ]
+        ]
+    },
+    {
+        "id": "aae3e74c.32cb78",
+        "type": "outcomeTrue",
+        "name": "false",
+        "xml": "<outcome value='false'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 102.00405883789062,
+        "y": 1375.0081828832626,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "7c4d10db.fc2b"
+            ]
+        ]
+    },
+    {
+        "id": "7c4d10db.fc2b",
+        "type": "block",
+        "name": "block",
+        "xml": "<block>\n",
+        "atomic": "false",
+        "comments": "",
+        "outputs": 1,
+        "x": 389.9727592468262,
+        "y": 1373.9769405126572,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "1370131a.38495d"
+            ]
+        ]
+    },
+    {
+        "id": "a54c999.f509368",
+        "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": 734.0312538146973,
+        "y": 401.03510224819183,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "1370131a.38495d",
+        "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": 597.0313987731934,
+        "y": 1371.0353931188583,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "19d89423.0a7e6c",
+        "type": "execute",
+        "name": "contains sitewan",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n    <parameter name=\"source\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n    <parameter name=\"target\" value=\"sitewan\"/>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 738.0002174377441,
+        "y": 1134.004186987877,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "ba88f958.08aa68",
+                "38c06fa8.7d4cc"
+            ]
+        ]
+    },
+    {
+        "id": "ba88f958.08aa68",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 933.000301361084,
+        "y": 1136.0042194128036,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "77d24866.f3a848"
+            ]
+        ]
+    },
+    {
+        "id": "38c06fa8.7d4cc",
+        "type": "outcomeTrue",
+        "name": "false",
+        "xml": "<outcome value='false'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 486.00010681152344,
+        "y": 1288.0040343999863,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "7c4d10db.fc2b"
+            ]
+        ]
+    },
+    {
+        "id": "d3d5931c.c4f83",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1396.754035949707,
+        "y": 901.0077877044678,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "3636527d.52348e"
+            ]
+        ]
+    },
+    {
+        "id": "8ea3d7d7.febac8",
+        "type": "outcomeTrue",
+        "name": "false",
+        "xml": "<outcome value='false'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 925.7541236877441,
+        "y": 1003.0078510046005,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "77d24866.f3a848"
+            ]
+        ]
+    },
+    {
+        "id": "5e27888.9f8f978",
+        "type": "for",
+        "name": "for sIdx..service-data.networks.network[]",
+        "xml": "<for index='sIdx' start='0' end='`$service-data.networks.network_length`' >\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2097.0320587158203,
+        "y": 662.035418510437,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "d2e8a0ee.5213c"
+            ]
+        ]
+    },
+    {
+        "id": "1d6c0cc0.95f1c3",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2506.0320625305176,
+        "y": 702.0355480909348,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "16926ebd.1ab8f1"
+            ]
+        ]
+    },
+    {
+        "id": "ee4ec835.0a0ae8",
+        "type": "set",
+        "name": "set tmp.pidx and tmp.network-input-parameters",
+        "xml": "<set>\n<parameter name='tmp.sotnFcPortList[`$sotnFcPortListLength`]' value='`$sIdx`' />",
+        "comments": "",
+        "x": 2955.6514015197754,
+        "y": 501.46492528915405,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "d2e8a0ee.5213c",
+        "type": "execute",
+        "name": "contains sotn",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n    <parameter name=\"source\" value=\"`$service-data.networks.network[$sIdx].network-data.network-information.onap-model-information.model-name`\"/>\n    <parameter name=\"target\" value=\"sotn\"/>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2343.0319786071777,
+        "y": 703.0354298353195,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "1d6c0cc0.95f1c3"
+            ]
+        ]
+    },
+    {
+        "id": "16926ebd.1ab8f1",
+        "type": "execute",
+        "name": "contains FcPort",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n    <parameter name=\"source\" value=\"`$service-data.networks.network[$sIdx].network-data.network-information.onap-model-information.model-name`\"/>\n    <parameter name=\"target\" value=\"FcPort\"/>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2347.031940460205,
+        "y": 757.0356148481369,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "2ec05a20.11a5f6"
+            ]
+        ]
+    },
+    {
+        "id": "34f92a60.a00a16",
+        "type": "block",
+        "name": "block : atomic",
+        "xml": "<block atomic=\"true\">",
+        "atomic": "true",
+        "outputs": 1,
+        "x": 336.0313186645508,
+        "y": 632.0351232290268,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "43ec8f53.27728",
+                "ac6656dd.35a3c8"
+            ]
+        ]
+    },
+    {
+        "id": "2ec05a20.11a5f6",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2515.0318641662598,
+        "y": 754.0354546308517,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "6ea2fca7.3f57a4"
+            ]
+        ]
+    },
+    {
+        "id": "e089d5c4.b1a808",
+        "type": "block",
+        "name": "find-sotn-fc-port-block : atomic",
+        "xml": "<block atomic=\"true\">",
+        "atomic": "true",
+        "comments": "",
+        "outputs": 1,
+        "x": 1730.031837463379,
+        "y": 712.0354261398315,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "5e27888.9f8f978",
+                "df34ef29.a5514"
+            ]
+        ]
+    },
+    {
+        "id": "df34ef29.a5514",
+        "type": "set",
+        "name": "set sotnFcPortListLength",
+        "xml": "<set>\n<parameter name='sotnFcPortListLength' value='0' />",
+        "comments": "",
+        "x": 2013.031509399414,
+        "y": 569.0353946685791,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "6ea2fca7.3f57a4",
+        "type": "block",
+        "name": "find-OOF-input-block : atomic",
+        "xml": "<block atomic=\"true\">",
+        "atomic": "true",
+        "comments": "",
+        "outputs": 1,
+        "x": 2393.5318031311035,
+        "y": 808.0353444814682,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "ee4ec835.0a0ae8",
+                "4b280a8d.8f4424"
+            ]
+        ]
+    },
+    {
+        "id": "4b280a8d.8f4424",
+        "type": "for",
+        "name": "for sIdx..network-input-parameters[]",
+        "xml": "<for index='paramIdx' start='0' end='`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param_length`' >\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2931.0315895080566,
+        "y": 553.0354828834534,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "85f3cbde.7dcb88"
+            ]
+        ]
+    },
+    {
+        "id": "85f3cbde.7dcb88",
+        "type": "execute",
+        "name": "contains address",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n    <parameter name=\"source\" value=\"`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param[$paramIdx].name`\"/>\n    <parameter name=\"target\" value=\"address\"/>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2899.5314979553223,
+        "y": 606.0353150367737,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "31f133f3.99bbfc"
+            ]
+        ]
+    },
+    {
+        "id": "31f133f3.99bbfc",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 3081.5316200256348,
+        "y": 606.0353150367737,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "9b1feb51.adf0c8"
+            ]
+        ]
+    },
+    {
+        "id": "67728772.5b2df8",
+        "type": "set",
+        "name": "set sotnFcPortAddress",
+        "xml": "<set>\n<parameter name='sotnFcPortAddress' value='`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param[$paramIdx].value`' />",
+        "comments": "",
+        "x": 3139.5330810546875,
+        "y": 719.0357418060303,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "9b1feb51.adf0c8",
+        "type": "block",
+        "name": "get-OOF-input-block : atomic",
+        "xml": "<block atomic=\"true\">",
+        "atomic": "true",
+        "comments": "",
+        "outputs": 1,
+        "x": 2948.531650543213,
+        "y": 664.0354866981506,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "67728772.5b2df8",
+                "23bb424d.0bfdfe"
+            ]
+        ]
+    },
+    {
+        "id": "f6db23cd.84a15",
+        "type": "success",
+        "name": "success",
+        "xml": "<outcome value='success'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 3164.0326957702637,
+        "y": 841.0352597236633,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "3bfbe626.42a93a"
+            ]
+        ]
+    },
+    {
+        "id": "23bb424d.0bfdfe",
+        "type": "execute",
+        "name": "execute RestApiCallNode - get access Tp from OSS",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='restapiUrl' value=\"`$prop.oss.url + '/oss/inventory?location=' + $sotnFcPortAddress`\"/>\n    <parameter name='format' value='json' />\n    <parameter name='customHttpHeaders' value=\"X-FromAppId=MSO\" />\n    <parameter name='httpMethod' value='GET' />\n    <parameter name=\"responsePrefix\" value=\"temp.oss.accessTPs\" />\n\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 3261.0316200256348,
+        "y": 778.0351929664612,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "f6db23cd.84a15"
+            ]
+        ]
+    },
+    {
+        "id": "3bfbe626.42a93a",
+        "type": "switchNode",
+        "name": "switch temp.oss.accessTPs_length",
+        "xml": "<switch test=\"`$temp.oss.accessTPs_length`\">\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 3460.0318031311035,
+        "y": 840.0351700782776,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "62442e7c.6f486"
+            ]
+        ]
+    },
+    {
+        "id": "62442e7c.6f486",
+        "type": "other",
+        "name": "other",
+        "xml": "<outcome value='Other'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 3724.533073425293,
+        "y": 839.0354471206665,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "29a2d036.e5fea"
+            ]
+        ]
+    },
+    {
+        "id": "2ce2f873.7ccbc8",
+        "type": "set",
+        "name": "set temp.accessTPs_length",
+        "xml": "<set>\n<parameter name='temp.accessTPs_length' value='`$temp.accessTPs_length + $temp.oss.accessTPs_length`' />\n\n",
+        "comments": "",
+        "x": 3670.032699584961,
+        "y": 1105.031608581543,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "29a2d036.e5fea",
+        "type": "block",
+        "name": "copy-accessTPs-block : atomic",
+        "xml": "<block atomic=\"true\">",
+        "atomic": "true",
+        "comments": "",
+        "outputs": 1,
+        "x": 3324.7810668945312,
+        "y": 928.0308704376221,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "2ce2f873.7ccbc8",
+                "b0f47160.ab83c",
+                "7275b121.376d5"
+            ]
+        ]
+    },
+    {
+        "id": "b0f47160.ab83c",
+        "type": "switchNode",
+        "name": "switch temp.accessTPs_length",
+        "xml": "<switch test='`$temp.accessTPs_length`'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 3708.531021118164,
+        "y": 930.030707359314,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "e57f314e.d692f",
+                "7eb00f9f.b7ba5"
+            ]
+        ]
+    },
+    {
+        "id": "e57f314e.d692f",
+        "type": "other",
+        "name": "Null",
+        "xml": "<outcome value=''>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 3934.5308723449707,
+        "y": 905.0306348800659,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "d1909b4c.2dada8"
+            ]
+        ]
+    },
+    {
+        "id": "d1909b4c.2dada8",
+        "type": "set",
+        "name": "set tp_length",
+        "xml": "<set>\n<parameter name='tp_length' value='0' />",
+        "comments": "",
+        "x": 4121.030708312988,
+        "y": 903.0306406314485,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "7eb00f9f.b7ba5",
+        "type": "other",
+        "name": "other",
+        "xml": "<outcome value='Other'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 3930.5308380126953,
+        "y": 960.0306806564331,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "666d9674.3fd3a8"
+            ]
+        ]
+    },
+    {
+        "id": "666d9674.3fd3a8",
+        "type": "set",
+        "name": "set tp_length",
+        "xml": "<set>\n<parameter name='tp_length' value='`$temp.accessTPs_length`' />",
+        "comments": "",
+        "x": 4119.280776977539,
+        "y": 960.030665397644,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "7275b121.376d5",
+        "type": "for",
+        "name": "for each existing temp.oss.accessTPs",
+        "xml": "<for index='idx' start='0' end='`$temp.oss.accessTPs_length`' >\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 3710.281463623047,
+        "y": 1028.0308122634888,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "f2dec21b.c72d"
+            ]
+        ]
+    },
+    {
+        "id": "f2dec21b.c72d",
+        "type": "set",
+        "name": "set temp.accessTPs",
+        "xml": "<set>\n<parameter name='`temp.accessTPs[$idx + $tp_length].`' value='`$temp.oss.accessTPs[$idx].`' />",
+        "comments": "",
+        "x": 4078.2813568115234,
+        "y": 1029.0309600830078,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "3636527d.52348e",
+        "type": "block",
+        "name": "block",
+        "xml": "<block>\n",
+        "atomic": "false",
+        "comments": "",
+        "outputs": 1,
+        "x": 1544.0314102172852,
+        "y": 896.0351066589355,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "e089d5c4.b1a808",
+                "aa30b2cc.32af1"
+            ]
+        ]
+    },
+    {
+        "id": "3a7071f1.30ce3e",
+        "type": "execute",
+        "name": "execute RestApiCallNode getPath from OOF",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.oof-getpath.templatefile`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.restapi.connection-oof-url`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.oof.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.oof.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"oof\"/>\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": 1548.5318412780762,
+        "y": 1610.0354380607605,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "13c8c509.8dd28b",
+                "d0803760.a3cf48"
+            ]
+        ]
+    },
+    {
+        "id": "d0803760.a3cf48",
+        "type": "failure",
+        "name": "failure",
+        "xml": "<outcome value='failure'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1877.531494140625,
+        "y": 1590.035505771637,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            []
+        ]
+    },
+    {
+        "id": "13c8c509.8dd28b",
+        "type": "success",
+        "name": "success",
+        "xml": "<outcome value='success'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1878.5317077636719,
+        "y": 1641.035415172577,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "647a1bd3.ca5bb4"
+            ]
+        ]
+    },
+    {
+        "id": "aa30b2cc.32af1",
+        "type": "switchNode",
+        "name": "switch temp.accessTPs_length",
+        "xml": "<switch test=\"`$temp.accessTPs_length >= 2`\">\n\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1610.531307220459,
+        "y": 1105.0352524518967,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "dd0c2e67.02d53"
+            ]
+        ]
+    },
+    {
+        "id": "dd0c2e67.02d53",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1842.0316047668457,
+        "y": 1104.0350989103317,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "975483b1.3fe1f"
+            ]
+        ]
+    },
+    {
+        "id": "975483b1.3fe1f",
+        "type": "block",
+        "name": "call-oof-block : atomic",
+        "xml": "<block atomic=\"true\">",
+        "atomic": "true",
+        "comments": "",
+        "outputs": 1,
+        "x": 1586.0312538146973,
+        "y": 1241.0351589918137,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "3a7071f1.30ce3e",
+                "f56f577d.f30698",
+                "faa82de3.2bc5b"
+            ]
+        ]
+    },
+    {
+        "id": "f56f577d.f30698",
+        "type": "set",
+        "name": "set oof input",
+        "xml": "<set>\n<parameter name='prop.connection-attachment.access-topology-id' value='`$temp.accessTPs[0].access-topology-id`' />\n<parameter name='prop.connection-attachment.access-client-id' value='`$temp.accessTPs[0].access-client-id`' />\n<parameter name='prop.connection-attachment.access-provider-id' value='`$temp.accessTPs[0].access-provider-id`' />\n<parameter name='prop.connection-attachment.access-node-id' value='`$temp.accessTPs[0].access-node-id`' />\n<parameter name='prop.connection-attachment.access-ltp-id' value='`$temp.accessTPs[0].access-ltp-id`' />\n<parameter name='prop.remote.connection-attachment.access-topology-id' value='`$temp.accessTPs[1].access-topology-id`' />\n<parameter name='prop.remote.connection-attachment.access-client-id' value='`$temp.accessTPs[1].access-client-id`' />\n<parameter name='prop.remote.connection-attachment.access-provider-id' value='`$temp.accessTPs[1].access-provider-id`' />\n<parameter name='prop.remote.connection-attachment.access-node-id' value='`$temp.accessTPs[1].access-node-id`' />\n<parameter name='prop.remote.connection-attachment.access-ltp-id' value='`$temp.accessTPs[1].access-ltp-id`' />",
+        "comments": "",
+        "x": 2102.5313720703125,
+        "y": 1111.03515625,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "577d8def.47c664",
+        "type": "execute",
+        "name": "execute RestApiCallNode Create Sotn connectivity Service",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sotn-api-ConnectivityService.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/operations/ZTE-API-ConnectivityService:create-connectivity-service'`\" />\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=\"patch\"/>\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": 2601.666748046875,
+        "y": 1967.0040283203125,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "ee1d8114.03821",
+                "b2f48c23.dba01"
+            ]
+        ]
+    },
+    {
+        "id": "ee1d8114.03821",
+        "type": "success",
+        "name": "success",
+        "xml": "<outcome value='success'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2939.6665649414062,
+        "y": 1997.0041117668152,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "225012e1.339dde"
+            ]
+        ]
+    },
+    {
+        "id": "225012e1.339dde",
+        "type": "block",
+        "name": "block : atomic",
+        "xml": "<block atomic=\"true\">",
+        "atomic": "true",
+        "comments": "",
+        "outputs": 1,
+        "x": 3087.6665649414062,
+        "y": 1995.0039896965027,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            []
+        ]
+    },
+    {
+        "id": "e1714d35.f44de",
+        "type": "returnFailure",
+        "name": "return failure",
+        "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"Error executing Create vpn rest api\" />\n",
+        "comments": "",
+        "x": 3069.6665954589844,
+        "y": 1942.0040497779846,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "b2f48c23.dba01",
+        "type": "failure",
+        "name": "failure",
+        "xml": "<outcome value='failure'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2930.66650390625,
+        "y": 1942.0040497779846,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "e1714d35.f44de"
+            ]
+        ]
+    },
+    {
+        "id": "647a1bd3.ca5bb4",
+        "type": "for",
+        "name": "for vidx..oof.vpns_length[]",
+        "xml": "<for index='vidx' start='0' end='`$oof.vpns_length`' >",
+        "comments": "",
+        "outputs": 1,
+        "x": 2179.670364379883,
+        "y": 1655.5075135231018,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "b3bf31fb.d8cd7"
+            ]
+        ]
+    },
+    {
+        "id": "b3bf31fb.d8cd7",
+        "type": "block",
+        "name": "block : atomic",
+        "xml": "<block atomic=\"true\">",
+        "atomic": "true",
+        "outputs": 1,
+        "x": 2292.787727355957,
+        "y": 1755.3475284576416,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "5cceda35.f10fe4",
+                "c8f650af.4d42d",
+                "577d8def.47c664",
+                "588a3880.b8be48"
+            ]
+        ]
+    },
+    {
+        "id": "25bd092e.03a776",
+        "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": 2934.232391357422,
+        "y": 1819.6807208061218,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "c8f650af.4d42d",
+        "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 = $tmp.thirdparty-sdnc-id AND \n\t\t     depth = '1'\"\n        pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\n\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2550.7322998046875,
+        "y": 1856.6806602478027,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "379812a3.1c00ce",
+                "18c2cc8d.f57b93",
+                "2e629d58.9a59a2"
+            ]
+        ]
+    },
+    {
+        "id": "379812a3.1c00ce",
+        "type": "success",
+        "name": "success",
+        "xml": "<outcome value='success'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2770.732234954834,
+        "y": 1820.6806292533875,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "25bd092e.03a776"
+            ]
+        ]
+    },
+    {
+        "id": "18c2cc8d.f57b93",
+        "type": "not-found",
+        "name": "not-found",
+        "xml": "<outcome value='not-found'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2780.223175048828,
+        "y": 1861.254635334015,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "e998ff2.0c21a"
+            ]
+        ]
+    },
+    {
+        "id": "2e629d58.9a59a2",
+        "type": "other",
+        "name": "other",
+        "xml": "<outcome value='Other'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2775.55615234375,
+        "y": 1897.5879483222961,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "809ff6c0.f2acc8"
+            ]
+        ]
+    },
+    {
+        "id": "e998ff2.0c21a",
+        "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": 2926.7945251464844,
+        "y": 1857.5404620170593,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "809ff6c0.f2acc8",
+        "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": 2930.3287963867188,
+        "y": 1899.027096271515,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "5cceda35.f10fe4",
+        "type": "get-resource",
+        "name": "get-resource pnf",
+        "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"pnf\" \n\t\tkey=\"pnf.pnf-name = $oof.vpn.access-node-id \n\t\tAND depth = '0'\"\n        pfx='tmp.aai.pnf' local-only='false' >\n\n\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2496.232192993164,
+        "y": 1765.6803040504456,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "12b22620.806b0a",
+                "e580af57.c7b0e",
+                "63b978e1.8d23a8"
+            ]
+        ]
+    },
+    {
+        "id": "12b22620.806b0a",
+        "type": "success",
+        "name": "success",
+        "xml": "<outcome value='success'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2678.2322387695312,
+        "y": 1710.680414199829,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "402a3c95.e18ff4"
+            ]
+        ]
+    },
+    {
+        "id": "e580af57.c7b0e",
+        "type": "not-found",
+        "name": "not-found",
+        "xml": "<outcome value='not-found'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2678.7231407165527,
+        "y": 1748.2545108795166,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "57284c52.e22c64"
+            ]
+        ]
+    },
+    {
+        "id": "63b978e1.8d23a8",
+        "type": "other",
+        "name": "other",
+        "xml": "<outcome value='Other'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2670.05615234375,
+        "y": 1781.5878858566284,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "28728857.9fb6a8"
+            ]
+        ]
+    },
+    {
+        "id": "57284c52.e22c64",
+        "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 pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`\" />\n\n",
+        "comments": "",
+        "x": 2826.294765472412,
+        "y": 1747.5403995513916,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "28728857.9fb6a8",
+        "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 pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`\" />\n\n",
+        "comments": "",
+        "x": 2823.8287963867188,
+        "y": 1781.0270338058472,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "402a3c95.e18ff4",
+        "type": "set",
+        "name": "set tmp.thirdparty-sdnc-id",
+        "xml": "<set>\n<parameter name='tmp.thirdparty-sdnc-id' value=\"`$tmp.aai.pnf.relationship-list.relationship[0].relationship-data[0].relationship-value`\" />\n",
+        "comments": "",
+        "x": 2863.2322387695312,
+        "y": 1709.6805362701416,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "588a3880.b8be48",
+        "type": "set",
+        "name": "set oof.vpn",
+        "xml": "<set>\n<parameter name='oof.vpn.' value='`$oof.vpns[$vidx].`' />",
+        "comments": "",
+        "x": 2488.2321853637695,
+        "y": 1654.7913761138916,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "8a37fd2a.9df7f",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1880.5312957763672,
+        "y": 2102.034999847412,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "9292d8c4.9a2c38"
+            ]
+        ]
+    },
+    {
+        "id": "9292d8c4.9a2c38",
+        "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 = `$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].value` AND \n\t\t     depth = '1'\"\n        pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\n\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2255.532169342041,
+        "y": 2096.0348600149155,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "ffb94613.95e098",
+                "565c3562.84041c",
+                "bd93f6c9.548798"
+            ]
+        ]
+    },
+    {
+        "id": "ffb94613.95e098",
+        "type": "success",
+        "name": "success",
+        "xml": "<outcome value='success'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2517.5319747924805,
+        "y": 2040.0346721410751,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "2126da98.7396c6"
+            ]
+        ]
+    },
+    {
+        "id": "2126da98.7396c6",
+        "type": "set",
+        "name": "set controller data",
+        "xml": "<set>\n<parameter name='prop.thirdpartySdnc-found' value='true' />\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": 2715.0320358276367,
+        "y": 2028.0346721410751,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "565c3562.84041c",
+        "type": "not-found",
+        "name": "not-found",
+        "xml": "<outcome value='not-found'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2549.0228385925293,
+        "y": 2088.608775496483,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "e073491.0a8bcb8"
+            ]
+        ]
+    },
+    {
+        "id": "bd93f6c9.548798",
+        "type": "other",
+        "name": "other",
+        "xml": "<outcome value='Other'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2544.3558464050293,
+        "y": 2129.942088484764,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "e073491.0a8bcb8"
+            ]
+        ]
+    },
+    {
+        "id": "e073491.0a8bcb8",
+        "type": "set",
+        "name": "set controller data",
+        "xml": "<set>\n<parameter name='prop.thirdpartySdnc-found' value='false' />\n",
+        "comments": "",
+        "x": 2756.0312538146973,
+        "y": 2107.034858107567,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "f71b9c09.8160d",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1885.5313873291016,
+        "y": 2187.034938812256,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "781d667a.48d338"
+            ]
+        ]
+    },
+    {
+        "id": "781d667a.48d338",
+        "type": "set",
+        "name": "set tmp.restapiUrl-found",
+        "xml": "<set>\n<parameter name='tmp.restapiUrl' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].value`' />\n<parameter name='tmp.restapiUrl-found' value='true' />",
+        "comments": "",
+        "x": 2218.531301498413,
+        "y": 2191.0349324941635,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "3a7b6aa5.045bc6",
+        "type": "block",
+        "name": "block",
+        "xml": "<block>\n",
+        "atomic": "false",
+        "comments": "",
+        "outputs": 1,
+        "x": 2347.00390625,
+        "y": 1235.00390625,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "6e2071a4.92462",
+                "df7041a6.51331",
+                "dbdc0ae8.393328",
+                "aaa5c23.8b2364",
+                "b1db26a.6449ed8",
+                "4c08e6d0.e790e8",
+                "18a93c3.067c1c4",
+                "15c976cc.7eedd9",
+                "2cbc8da1.8ed692",
+                "2804ce8b.3d5072"
+            ]
+        ]
+    },
+    {
+        "id": "6e2071a4.92462",
+        "type": "switchNode",
+        "name": "switch name",
+        "xml": "<switch test=\"`$tmp.network-input-parameters.param[$paidx].name == 'name'`\">",
+        "comments": "",
+        "outputs": 1,
+        "x": 2569.0038528442383,
+        "y": 1033.0039868354797,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "2381365f.5b11aa"
+            ]
+        ]
+    },
+    {
+        "id": "2381365f.5b11aa",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2756.0038528442383,
+        "y": 1029.0039868354797,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "279f5f0f.a7e29"
+            ]
+        ]
+    },
+    {
+        "id": "279f5f0f.a7e29",
+        "type": "set",
+        "name": "set name",
+        "xml": "<set>\n<parameter name='template.name' value='`$tmp.network-input-parameters.param[$paidx].value`' />\n",
+        "comments": "",
+        "x": 2924.0038528442383,
+        "y": 1029.6039929389954,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "df7041a6.51331",
+        "type": "switchNode",
+        "name": "switch service-type",
+        "xml": "<switch test=\"`$tmp.network-input-parameters.param[$paidx].name == 'service-type'`\">",
+        "comments": "",
+        "outputs": 1,
+        "x": 2586.514045715332,
+        "y": 1094.0039267539978,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "391cf8f6.e35b68"
+            ]
+        ]
+    },
+    {
+        "id": "391cf8f6.e35b68",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2773.514045715332,
+        "y": 1090.0039267539978,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "963b6a75.854958"
+            ]
+        ]
+    },
+    {
+        "id": "963b6a75.854958",
+        "type": "set",
+        "name": "set service-type",
+        "xml": "<set>\n<parameter name='template.service-type' value='`$tmp.network-input-parameters.param[$paidx].value`' />\n",
+        "comments": "",
+        "x": 2941.514045715332,
+        "y": 1090.6039328575134,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "dbdc0ae8.393328",
+        "type": "switchNode",
+        "name": "switch total-size",
+        "xml": "<switch test=\"`$tmp.network-input-parameters.param[$paidx].name == 'total-size'`\">",
+        "comments": "",
+        "outputs": 1,
+        "x": 2579.9766235351562,
+        "y": 1150.476727962494,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "b077f122.4fbd2"
+            ]
+        ]
+    },
+    {
+        "id": "b077f122.4fbd2",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2766.9766235351562,
+        "y": 1146.476727962494,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "ebbae5da.7a9fe8"
+            ]
+        ]
+    },
+    {
+        "id": "ebbae5da.7a9fe8",
+        "type": "set",
+        "name": "set total-size",
+        "xml": "<set>\n<parameter name='template.total-size' value='`$tmp.network-input-parameters.param[$paidx].value`' />\n",
+        "comments": "",
+        "x": 2934.9766235351562,
+        "y": 1147.0767340660095,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "aaa5c23.8b2364",
+        "type": "switchNode",
+        "name": "switch pir",
+        "xml": "<switch test=\"`$tmp.network-input-parameters.param[$paidx].name == 'pir'`\">",
+        "comments": "",
+        "outputs": 1,
+        "x": 2557.976722717285,
+        "y": 1199.4767670631409,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "dd36a279.f0f0b"
+            ]
+        ]
+    },
+    {
+        "id": "dd36a279.f0f0b",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2744.976722717285,
+        "y": 1195.4767670631409,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "d7a0fe6d.faa06"
+            ]
+        ]
+    },
+    {
+        "id": "d7a0fe6d.faa06",
+        "type": "set",
+        "name": "set pir",
+        "xml": "<set>\n<parameter name='template.pir' value='`$tmp.network-input-parameters.param[$paidx].value`' />\n",
+        "comments": "",
+        "x": 2912.976722717285,
+        "y": 1196.0767731666565,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "b1db26a.6449ed8",
+        "type": "switchNode",
+        "name": "switch cbs",
+        "xml": "<switch test=\"`$tmp.network-input-parameters.param[$paidx].name == 'cbs'`\">",
+        "comments": "",
+        "outputs": 1,
+        "x": 2558.9767570495605,
+        "y": 1250.4766917228699,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "f5a3f275.f1642"
+            ]
+        ]
+    },
+    {
+        "id": "f5a3f275.f1642",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2745.9767570495605,
+        "y": 1246.4766917228699,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "cec40dd1.40cb9"
+            ]
+        ]
+    },
+    {
+        "id": "cec40dd1.40cb9",
+        "type": "set",
+        "name": "set cbs",
+        "xml": "<set>\n<parameter name='template.cbs' value='`$tmp.network-input-parameters.param[$paidx].value`' />\n",
+        "comments": "",
+        "x": 2913.9767570495605,
+        "y": 1247.0766978263855,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "4c08e6d0.e790e8",
+        "type": "switchNode",
+        "name": "switch pbs",
+        "xml": "<switch test=\"`$tmp.network-input-parameters.param[$paidx].name == 'pbs'`\">",
+        "comments": "",
+        "outputs": 1,
+        "x": 2554.9767570495605,
+        "y": 1305.4766917228699,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "883541e9.99bd6"
+            ]
+        ]
+    },
+    {
+        "id": "883541e9.99bd6",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2741.9767570495605,
+        "y": 1301.4766917228699,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "a988d120.b2aea"
+            ]
+        ]
+    },
+    {
+        "id": "a988d120.b2aea",
+        "type": "set",
+        "name": "set pbs",
+        "xml": "<set>\n<parameter name='template.pbs' value='`$tmp.network-input-parameters.param[$paidx].value`' />\n",
+        "comments": "",
+        "x": 2909.9767570495605,
+        "y": 1302.0766978263855,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "18a93c3.067c1c4",
+        "type": "switchNode",
+        "name": "switch couplingFlag",
+        "xml": "<switch test=\"`$tmp.network-input-parameters.param[$paidx].name == 'couplingFlag'`\">",
+        "comments": "",
+        "outputs": 1,
+        "x": 2584.976905822754,
+        "y": 1361.4766936302185,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "980d8b86.bee918"
+            ]
+        ]
+    },
+    {
+        "id": "980d8b86.bee918",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2771.976905822754,
+        "y": 1357.4766936302185,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "51fcb9b3.05a2a8"
+            ]
+        ]
+    },
+    {
+        "id": "51fcb9b3.05a2a8",
+        "type": "set",
+        "name": "set couplingFlag",
+        "xml": "<set>\n<parameter name='template.couplingFlag' value='`$tmp.network-input-parameters.param[$paidx].value`' />\n",
+        "comments": "",
+        "x": 2939.976905822754,
+        "y": 1358.0766997337341,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "15c976cc.7eedd9",
+        "type": "switchNode",
+        "name": "switch colorAware",
+        "xml": "<switch test=\"`$tmp.network-input-parameters.param[$paidx].name == 'colorAware'`\">",
+        "comments": "",
+        "outputs": 1,
+        "x": 2578.976905822754,
+        "y": 1407.4766936302185,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "fc32dc8f.1306d"
+            ]
+        ]
+    },
+    {
+        "id": "fc32dc8f.1306d",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2765.976905822754,
+        "y": 1403.4766936302185,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "767980d9.60391"
+            ]
+        ]
+    },
+    {
+        "id": "767980d9.60391",
+        "type": "set",
+        "name": "set colorAware",
+        "xml": "<set>\n<parameter name='template.colorAware' value='`$tmp.network-input-parameters.param[$paidx].value`' />\n",
+        "comments": "",
+        "x": 2933.976905822754,
+        "y": 1404.0766997337341,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "2804ce8b.3d5072",
+        "type": "switchNode",
+        "name": "switch diversity-policy",
+        "xml": "<switch test=\"`$tmp.network-input-parameters.param[$paidx].name == 'diversity-policy'`\">",
+        "comments": "",
+        "outputs": 1,
+        "x": 2586.9771461486816,
+        "y": 1498.476758480072,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "fc3e428f.e47a2"
+            ]
+        ]
+    },
+    {
+        "id": "fc3e428f.e47a2",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2773.9771461486816,
+        "y": 1494.476758480072,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "f817158c.79da68"
+            ]
+        ]
+    },
+    {
+        "id": "f817158c.79da68",
+        "type": "set",
+        "name": "set diversity-policy",
+        "xml": "<set>\n<parameter name='template.diversity-policy' value='`$tmp.network-input-parameters.param[$paidx].value`' />\n",
+        "comments": "",
+        "x": 2941.9771461486816,
+        "y": 1495.0767645835876,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "2cbc8da1.8ed692",
+        "type": "switchNode",
+        "name": "switch route-objective-function",
+        "xml": "<switch test=\"`$tmp.network-input-parameters.param[$paidx].name == 'route-objective-function'`\">",
+        "comments": "",
+        "outputs": 1,
+        "x": 2615.9770545959473,
+        "y": 1447.476758480072,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "3c9d002d.c7368"
+            ]
+        ]
+    },
+    {
+        "id": "3c9d002d.c7368",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2802.9770545959473,
+        "y": 1443.476758480072,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "4b04be90.c9dfb"
+            ]
+        ]
+    },
+    {
+        "id": "4b04be90.c9dfb",
+        "type": "set",
+        "name": "set route-objective-function",
+        "xml": "<set>\n<parameter name='template.route-objective-function' value='`$tmp.network-input-parameters.param[$paidx].value`' />\n",
+        "comments": "",
+        "x": 2970.9770545959473,
+        "y": 1444.0767645835876,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "faa82de3.2bc5b",
+        "type": "for",
+        "name": "for paidx..tmp.network-input-parameters.param_length[]",
+        "xml": "<for index='paidx' start='0' end='`$tmp.network-input-parameters.param_length`' >",
+        "comments": "",
+        "outputs": 1,
+        "x": 2067.1394424438477,
+        "y": 1365.472831249237,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "3a7b6aa5.045bc6"
+            ]
+        ]
+    },
+    {
+        "id": "cd3fb1b6.a548f",
+        "type": "set",
+        "name": "set param",
+        "xml": "<set>\n<parameter name='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].name`' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].value`' />",
+        "comments": "",
+        "x": 1343.7539405822754,
+        "y": 2286.0039920806885,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "6cad7750.ad59e8",
+        "type": "block",
+        "name": "find-sotn-fc-port-block : atomic",
+        "xml": "<block atomic=\"true\">",
+        "atomic": "true",
+        "comments": "",
+        "outputs": 1,
+        "x": 924.5040130615234,
+        "y": 660.0039396286011,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "4bb0f260.939b6c",
+                "f63464b.235d598",
+                "53964d8b.013054"
+            ]
+        ]
+    },
+    {
+        "id": "4bb0f260.939b6c",
+        "type": "for",
+        "name": "for aidx..network-topology-operation-input.network-request-input.network-input-parameters.param[]",
+        "xml": "<for index='aidx' start='0' end='`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`' >\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1000.2539672851562,
+        "y": 817.003984451294,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "b8e2888d.7baee8"
+            ]
+        ]
+    },
+    {
+        "id": "b8e2888d.7baee8",
+        "type": "execute",
+        "name": "contains fcport",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n    <parameter name=\"source\" value=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$aidx].name`\"/>\n    <parameter name=\"target\" value=\"fcport\"/>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 859.5039291381836,
+        "y": 871.0041389465332,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "d22970d4.90a5"
+            ]
+        ]
+    },
+    {
+        "id": "d22970d4.90a5",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1035.2539176940918,
+        "y": 872.0039710998535,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "fb11f9b4.228c58"
+            ]
+        ]
+    },
+    {
+        "id": "fb11f9b4.228c58",
+        "type": "set",
+        "name": "set needOof",
+        "xml": "<set>\n<parameter name='needOof' value='true' />",
+        "comments": "",
+        "x": 1205.253921508789,
+        "y": 869.0039577484131,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "f63464b.235d598",
+        "type": "set",
+        "name": "set needOof",
+        "xml": "<set>\n<parameter name='needOof' value='false' />",
+        "comments": "",
+        "x": 734.2539672851562,
+        "y": 768.0040035247803,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "53964d8b.013054",
+        "type": "switchNode",
+        "name": "switch needOof",
+        "xml": "<switch test=\"`$needOof`\">\n\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 719.2539215087891,
+        "y": 924.0039577484131,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "8ea3d7d7.febac8",
+                "d3d5931c.c4f83"
+            ]
+        ]
+    },
+    {
+        "id": "2b21902e.55dd5",
+        "type": "execute",
+        "name": "contains thirdPartySdncId",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n    <parameter name=\"source\" value=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].name`\"/>\n    <parameter name=\"target\" value=\"thirdPartySdncId\"/>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1576.2581024169922,
+        "y": 2093.0041122436523,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "8a37fd2a.9df7f",
+                "3916c6e2.e1777a"
+            ]
+        ]
+    },
+    {
+        "id": "2e03ec55.fb6014",
+        "type": "execute",
+        "name": "contains templateFileName",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n    <parameter name=\"source\" value=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].name`\"/>\n    <parameter name=\"target\" value=\"templateFileName\"/>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1579.258041381836,
+        "y": 2137.0038986206055,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "6c80438c.95e70c",
+                "6f6408d0.757528"
+            ]
+        ]
+    },
+    {
+        "id": "f3f5a797.4cdaf8",
+        "type": "execute",
+        "name": "contains restapiUrl",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n    <parameter name=\"source\" value=\"`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].name`\"/>\n    <parameter name=\"target\" value=\"restapiUrl\"/>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1549.2579727172852,
+        "y": 2186.00399017334,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "f71b9c09.8160d"
+            ]
+        ]
+    },
+    {
+        "id": "3916c6e2.e1777a",
+        "type": "outcomeTrue",
+        "name": "false",
+        "xml": "<outcome value='false'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1383.50390625,
+        "y": 2141.00390625,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "2e03ec55.fb6014"
+            ]
+        ]
+    },
+    {
+        "id": "6f6408d0.757528",
+        "type": "outcomeTrue",
+        "name": "false",
+        "xml": "<outcome value='false'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1372.50390625,
+        "y": 2191.00390625,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "f3f5a797.4cdaf8"
+            ]
+        ]
+    },
+    {
+        "id": "a7a35b54.a22968",
+        "type": "block",
+        "name": "block : atomic",
+        "xml": "<block atomic=\"true\">",
+        "atomic": "true",
+        "comments": "",
+        "outputs": 1,
+        "x": 1197.7539596557617,
+        "y": 2105.0040531158447,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "2b21902e.55dd5",
+                "cd3fb1b6.a548f"
+            ]
+        ]
+    },
+    {
+        "id": "195471ac.565dfe",
+        "type": "for",
+        "name": "for sIdx..service-data.networks.network[]",
+        "xml": "<for index='sIdx' start='0' end='`$service-data.networks.network_length`' >\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2247.503921508789,
+        "y": 2561.00390625,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "530203c3.a5f1bc"
+            ]
+        ]
+    },
+    {
+        "id": "530203c3.a5f1bc",
+        "type": "switchNode",
+        "name": "switch svc-action",
+        "xml": "<switch test='`$service-data.networks.network[$sIdx].network-id == $network-topology-operation-input.network-information.network-id`'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2538.7542724609375,
+        "y": 2556.00390625,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "d85c868.33ef678"
+            ]
+        ]
+    },
+    {
+        "id": "d85c868.33ef678",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2705.5048484802246,
+        "y": 2554.003936767578,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "bd6349d8.0c5b08"
+            ]
+        ]
+    },
+    {
+        "id": "30dc6201.193a2e",
+        "type": "set",
+        "name": "set localServiceId",
+        "xml": "<set>\n<parameter name='`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param[$paraIndx].name`' value='localServiceId' />\n<parameter name='`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param[$paraIndx].value`' value='`$restApi-result.output.service.uuid`' />",
+        "comments": "",
+        "x": 3060.0043029785156,
+        "y": 2577.003936767578,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "e46941d6.14145",
+        "type": "set",
+        "name": "set paraIndx",
+        "xml": "<set>\n<parameter name='paraIndx' value='`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param_length`' />",
+        "comments": "",
+        "x": 3058.5040550231934,
+        "y": 2510.0040283203125,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": []
+    },
+    {
+        "id": "bd6349d8.0c5b08",
+        "type": "block",
+        "name": "block : atomic",
+        "xml": "<block atomic=\"true\">",
+        "atomic": "true",
+        "comments": "",
+        "outputs": 1,
+        "x": 2860.503936767578,
+        "y": 2544.0039978027344,
+        "z": "bf8d58e2.6e6ac8",
+        "wires": [
+            [
+                "e46941d6.14145",
+                "30dc6201.193a2e"
+            ]
+        ]
+    }
+]
\ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-create.json b/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-create.json
new file mode 100644 (file)
index 0000000..9d81ba6
--- /dev/null
@@ -0,0 +1,921 @@
+[
+    {
+        "id": "51ff11de.938a4",
+        "type": "dgstart",
+        "name": "DGSTART",
+        "outputs": 1,
+        "x": 119.00390625,
+        "y": 79.00390625,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "5f6a102e.b60f5"
+            ]
+        ]
+    },
+    {
+        "id": "5f6a102e.b60f5",
+        "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": 151.0039234161377,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "7e2e9718.c2ec58"
+            ]
+        ]
+    },
+    {
+        "id": "7e2e9718.c2ec58",
+        "type": "method",
+        "name": "wan-connection-topology-operation-create",
+        "xml": "<method rpc='wan-connection-topology-operation-create' mode='sync'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 319.0040283203125,
+        "y": 239.00390625,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "deadfdad.78a35"
+            ]
+        ]
+    },
+    {
+        "id": "8e544758.cf6458",
+        "type": "execute",
+        "name": "contains specification",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n    <parameter name=\"source\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n    <parameter name=\"target\" value=\"specification\"/>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 323.0352020263672,
+        "y": 512.035210609436,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "2fd5af60.51a0e",
+                "b315221.5065ce"
+            ]
+        ]
+    },
+    {
+        "id": "be2720c6.087bc",
+        "type": "execute",
+        "name": "contains Fc",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n    <parameter name=\"source\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n    <parameter name=\"target\" value=\"Fc\"/>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 511.0352783203125,
+        "y": 584.0352687835693,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "985af680.447708",
+                "9924596f.f95838"
+            ]
+        ]
+    },
+    {
+        "id": "39041604.4e8b9a",
+        "type": "execute",
+        "name": "contains Fd",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n    <parameter name=\"source\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n    <parameter name=\"target\" value=\"Fd\"/>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 510.0351982116699,
+        "y": 661.035219669342,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "f64ebc8e.88ac",
+                "2b8cfc56.68f314"
+            ]
+        ]
+    },
+    {
+        "id": "2fd5af60.51a0e",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 560.0352325439453,
+        "y": 510.0351963043213,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            []
+        ]
+    },
+    {
+        "id": "b315221.5065ce",
+        "type": "outcomeTrue",
+        "name": "false",
+        "xml": "<outcome value='false'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 306.0352668762207,
+        "y": 584.0352687835693,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "be2720c6.087bc"
+            ]
+        ]
+    },
+    {
+        "id": "985af680.447708",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 693.0352821350098,
+        "y": 585.0352520942688,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "4637df53.0968b"
+            ]
+        ]
+    },
+    {
+        "id": "f64ebc8e.88ac",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 705.0352821350098,
+        "y": 663.0352520942688,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "4637df53.0968b"
+            ]
+        ]
+    },
+    {
+        "id": "9924596f.f95838",
+        "type": "outcomeTrue",
+        "name": "false",
+        "xml": "<outcome value='false'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 301.0352096557617,
+        "y": 665.0352411270142,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "39041604.4e8b9a"
+            ]
+        ]
+    },
+    {
+        "id": "e2a37c8a.52a28",
+        "type": "outcomeTrue",
+        "name": "false",
+        "xml": "<outcome value='false'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 282.03532791137695,
+        "y": 840.035454750061,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "2ee04d47.b452f2"
+            ]
+        ]
+    },
+    {
+        "id": "c9f2e546.57c978",
+        "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": 510.0039978027344,
+        "y": 359.0039253234863,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            []
+        ]
+    },
+    {
+        "id": "deadfdad.78a35",
+        "type": "block",
+        "name": "block : atomic",
+        "xml": "<block atomic=\"true\">",
+        "atomic": "true",
+        "outputs": 1,
+        "x": 225.00392150878906,
+        "y": 339.00390243530273,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "c9f2e546.57c978",
+                "9326fcfd.42d18",
+                "7b6cbacb.c940e4",
+                "a48d4fd2.b35f8"
+            ]
+        ]
+    },
+    {
+        "id": "9326fcfd.42d18",
+        "type": "switchNode",
+        "name": "switch network-id",
+        "xml": "<switch test='`$network-topology-operation-input.network-information.network-id`'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 510.0039291381836,
+        "y": 297.00391578674316,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "661cfd5a.9af8f4"
+            ]
+        ]
+    },
+    {
+        "id": "661cfd5a.9af8f4",
+        "type": "outcome",
+        "name": "NULL",
+        "xml": "<outcome value=''>",
+        "comments": "",
+        "outputs": 1,
+        "x": 759.0040054321289,
+        "y": 236.00391578674316,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "e482d16b.f1f2a"
+            ]
+        ]
+    },
+    {
+        "id": "e482d16b.f1f2a",
+        "type": "execute",
+        "name": "generate network-id",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\n<parameter name=\"ctx-destination\" value=\"network-topology-operation-input.network-information.network-id\"/>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1019.0040893554688,
+        "y": 239.00394344329834,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "4a8125e1.d928fc",
+                "1ef0b35a.df2b6d"
+            ]
+        ]
+    },
+    {
+        "id": "4a8125e1.d928fc",
+        "type": "failure",
+        "name": "Other",
+        "xml": "<outcome value='Other'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1272.0041427612305,
+        "y": 180.00391387939453,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "a3cf2f7c.aa153"
+            ]
+        ]
+    },
+    {
+        "id": "a3cf2f7c.aa153",
+        "type": "returnFailure",
+        "name": "return failure",
+        "xml": "<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value=\"An error occured while generation allotted resource ID\" />\n",
+        "comments": "",
+        "x": 1438.004150390625,
+        "y": 182.00393295288086,
+        "z": "ec4bf25e.dd6bb",
+        "wires": []
+    },
+    {
+        "id": "7b6cbacb.c940e4",
+        "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": 386.0039749145508,
+        "y": 978.003942489624,
+        "z": "ec4bf25e.dd6bb",
+        "wires": []
+    },
+    {
+        "id": "2ee04d47.b452f2",
+        "type": "block",
+        "name": "block",
+        "xml": "<block>\n",
+        "atomic": "false",
+        "comments": "",
+        "outputs": 1,
+        "x": 474.0040092468262,
+        "y": 841.0040912628174,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            []
+        ]
+    },
+    {
+        "id": "a48d4fd2.b35f8",
+        "type": "block",
+        "name": "save-specification-block : atomic",
+        "xml": "<block atomic=\"true\">",
+        "atomic": "true",
+        "comments": "",
+        "outputs": 1,
+        "x": 819.0039520263672,
+        "y": 513.0078201293945,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "2ef49dd5.a969b2",
+                "1ebbb5b1.ce49ea"
+            ]
+        ]
+    },
+    {
+        "id": "4637df53.0968b",
+        "type": "block",
+        "name": "find-specifications-block : atomic",
+        "xml": "<block atomic=\"true\">",
+        "atomic": "true",
+        "comments": "",
+        "outputs": 1,
+        "x": 973.7539024353027,
+        "y": 617.0078229904175,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "4bb001a8.758d6"
+            ]
+        ]
+    },
+    {
+        "id": "4bb001a8.758d6",
+        "type": "switchNode",
+        "name": "switch service-data.networks_length",
+        "xml": "<switch test='`$service-data.networks.network_length`'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1329.2543029785156,
+        "y": 610.0078811645508,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "de42c02b.4d353",
+                "129498fa.fc8607"
+            ]
+        ]
+    },
+    {
+        "id": "de42c02b.4d353",
+        "type": "other",
+        "name": "Null",
+        "xml": "<outcome value=''>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1640.2542877197266,
+        "y": 576.0078916549683,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "1750133b.d0d30d"
+            ]
+        ]
+    },
+    {
+        "id": "129498fa.fc8607",
+        "type": "other",
+        "name": "other",
+        "xml": "<outcome value='Other'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1354.2541885375977,
+        "y": 706.0078849499114,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "89c60eaa.e0a3b"
+            ]
+        ]
+    },
+    {
+        "id": "89c60eaa.e0a3b",
+        "type": "block",
+        "name": "block",
+        "xml": "<block>\n",
+        "atomic": "false",
+        "comments": "",
+        "outputs": 1,
+        "x": 1498.6112327575684,
+        "y": 705.9443969433196,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "90d47eef.bffa5",
+                "6361d5f3.8fbc7c"
+            ]
+        ]
+    },
+    {
+        "id": "1750133b.d0d30d",
+        "type": "set",
+        "name": "set nidx and isExist",
+        "xml": "<set>\n<parameter name='nidx' value='0' />\n<parameter name='isExist' value='false' />",
+        "comments": "",
+        "x": 1815.7542419433594,
+        "y": 575.0079183871858,
+        "z": "ec4bf25e.dd6bb",
+        "wires": []
+    },
+    {
+        "id": "6361d5f3.8fbc7c",
+        "type": "set",
+        "name": "set nidx and isExist",
+        "xml": "<set>\n<parameter name='nidx' value='`$service-data.networks.network_length`' />\n<parameter name='isExist' value='false' />",
+        "comments": "",
+        "x": 1659.3098831176758,
+        "y": 664.5635662078857,
+        "z": "ec4bf25e.dd6bb",
+        "wires": []
+    },
+    {
+        "id": "90d47eef.bffa5",
+        "type": "for",
+        "name": "for each existing network",
+        "xml": "<for index='idx' start='0' end='`$nidx`' >\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1687.7383117675781,
+        "y": 717.7856483459473,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "c0e01e64.557b7"
+            ]
+        ]
+    },
+    {
+        "id": "d6f28b6a.4c11f8",
+        "type": "set",
+        "name": "set nidx and isExist",
+        "xml": "<set>\n<parameter name='nidx' value='`$idx`' />\n<parameter name='isExist' value='true' />",
+        "comments": "",
+        "x": 1985.005386352539,
+        "y": 978.0086584091187,
+        "z": "ec4bf25e.dd6bb",
+        "wires": []
+    },
+    {
+        "id": "2ef49dd5.a969b2",
+        "type": "set",
+        "name": "set network in service-data",
+        "xml": "<set>\n<parameter name='service-data.networks.network[$nidx].network-id' value='`$network-topology-operation-input.network-information.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": 1282.003921508789,
+        "y": 535.0078272819519,
+        "z": "ec4bf25e.dd6bb",
+        "wires": []
+    },
+    {
+        "id": "1ebbb5b1.ce49ea",
+        "type": "switchNode",
+        "name": "switch service-data.networks_length",
+        "xml": "<switch test='`$service-data.networks.network_length`'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1307.00390625,
+        "y": 349.0078139305115,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "71de1500.a0f5dc",
+                "84d10745.bd09d8"
+            ]
+        ]
+    },
+    {
+        "id": "71de1500.a0f5dc",
+        "type": "other",
+        "name": "Null",
+        "xml": "<outcome value=''>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1256.004005432129,
+        "y": 419.00785875320435,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "5a928df3.62e684"
+            ]
+        ]
+    },
+    {
+        "id": "5a928df3.62e684",
+        "type": "set",
+        "name": "set nidx",
+        "xml": "<set>\n<parameter name='nidx' value='0' />",
+        "comments": "",
+        "x": 1389.50390625,
+        "y": 418.0078430175781,
+        "z": "ec4bf25e.dd6bb",
+        "wires": []
+    },
+    {
+        "id": "84d10745.bd09d8",
+        "type": "other",
+        "name": "other",
+        "xml": "<outcome value='Other'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1253.003791809082,
+        "y": 467.00785779953003,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "bf7c1ae3.a13b58"
+            ]
+        ]
+    },
+    {
+        "id": "bf7c1ae3.a13b58",
+        "type": "set",
+        "name": "set nidx",
+        "xml": "<set>\n<parameter name='nidx' value='`$service-data.networks.network_length`' />",
+        "comments": "",
+        "x": 1390.0597305297852,
+        "y": 463.56352281570435,
+        "z": "ec4bf25e.dd6bb",
+        "wires": []
+    },
+    {
+        "id": "89792a65.256368",
+        "type": "set",
+        "name": "set network in service-data",
+        "xml": "<set>\n<parameter name='network-topology-operation-input.network-request-input.network-input-parameters.param_length' value='`$input_param_length + $param_length`' />\n\n",
+        "comments": "",
+        "x": 2006.5061492919922,
+        "y": 1429.0049443244934,
+        "z": "ec4bf25e.dd6bb",
+        "wires": []
+    },
+    {
+        "id": "9e04e4be.367888",
+        "type": "block",
+        "name": "copy-specifications-block : atomic",
+        "xml": "<block atomic=\"true\">",
+        "atomic": "true",
+        "comments": "",
+        "outputs": 1,
+        "x": 1709.2545623779297,
+        "y": 1072.0042037963867,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "d6f28b6a.4c11f8",
+                "89792a65.256368",
+                "49104faa.41ebb",
+                "5f63a6d5.0f0808",
+                "4bcb87bc.b866b8"
+            ]
+        ]
+    },
+    {
+        "id": "49104faa.41ebb",
+        "type": "switchNode",
+        "name": "switch service-data.networks_length",
+        "xml": "<switch test='`$service-data.networks.network[$nidx].network-data.network-request-input.network-input-parameters.param_length`'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2057.0045013427734,
+        "y": 1059.0041122436523,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "4c3184c1.6619ac",
+                "2d5e7fd8.239cb"
+            ]
+        ]
+    },
+    {
+        "id": "4c3184c1.6619ac",
+        "type": "other",
+        "name": "Null",
+        "xml": "<outcome value=''>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2283.00435256958,
+        "y": 1034.0040397644043,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "cb121f91.6d21"
+            ]
+        ]
+    },
+    {
+        "id": "cb121f91.6d21",
+        "type": "set",
+        "name": "set param_length",
+        "xml": "<set>\n<parameter name='param_length' value='0' />",
+        "comments": "",
+        "x": 2469.5041885375977,
+        "y": 1032.0040455157869,
+        "z": "ec4bf25e.dd6bb",
+        "wires": []
+    },
+    {
+        "id": "2d5e7fd8.239cb",
+        "type": "other",
+        "name": "other",
+        "xml": "<outcome value='Other'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2279.0043182373047,
+        "y": 1089.0040855407715,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "11ebe727.0ad829"
+            ]
+        ]
+    },
+    {
+        "id": "11ebe727.0ad829",
+        "type": "set",
+        "name": "set param_length",
+        "xml": "<set>\n<parameter name='param_length' value='`$service-data.networks.network[$nidx].network-data.network-request-input.network-input-parameters.param_length`' />",
+        "comments": "",
+        "x": 2467.7542572021484,
+        "y": 1089.0040702819824,
+        "z": "ec4bf25e.dd6bb",
+        "wires": []
+    },
+    {
+        "id": "5f63a6d5.0f0808",
+        "type": "for",
+        "name": "for each existing params",
+        "xml": "<for index='pidx' start='0' end='`$param_length`' >\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2013.7548370361328,
+        "y": 1313.0043182373047,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "29a0bf72.ef8a9"
+            ]
+        ]
+    },
+    {
+        "id": "8a453e14.41bb8",
+        "type": "set",
+        "name": "set input_param_length",
+        "xml": "<set>\n<parameter name='input_param_length' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`' />",
+        "comments": "",
+        "x": 2490.7548751831055,
+        "y": 1218.5042095184326,
+        "z": "ec4bf25e.dd6bb",
+        "wires": []
+    },
+    {
+        "id": "4bcb87bc.b866b8",
+        "type": "switchNode",
+        "name": "switch network-input-parameters_length",
+        "xml": "<switch test='`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2064.7544708251953,
+        "y": 1160.5040702819824,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "c56b0210.d9d6c",
+                "9e58091.eed84f8"
+            ]
+        ]
+    },
+    {
+        "id": "9e58091.eed84f8",
+        "type": "other",
+        "name": "Null",
+        "xml": "<outcome value=''>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2298.7543563842773,
+        "y": 1155.5040855407715,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "776789ac.4e1c88"
+            ]
+        ]
+    },
+    {
+        "id": "c56b0210.d9d6c",
+        "type": "other",
+        "name": "other",
+        "xml": "<outcome value='Other'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 2297.7544136047363,
+        "y": 1221.5040559768677,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "8a453e14.41bb8"
+            ]
+        ]
+    },
+    {
+        "id": "776789ac.4e1c88",
+        "type": "set",
+        "name": "set input_param_length",
+        "xml": "<set>\n<parameter name='input_param_length' value='0' />",
+        "comments": "",
+        "x": 2487.754325866699,
+        "y": 1156.5041007995605,
+        "z": "ec4bf25e.dd6bb",
+        "wires": []
+    },
+    {
+        "id": "29a0bf72.ef8a9",
+        "type": "set",
+        "name": "set specification_to_input_param",
+        "xml": "<set>\n<parameter name='network-topology-operation-input.network-request-input.network-input-parameters.param[$pidx+$input_param_length].' value='`$service-data.networks.network[$nidx].network-data.network-request-input.network-input-parameters.param[$pidx].`' />",
+        "comments": "",
+        "x": 2325.7544860839844,
+        "y": 1313.0043315887451,
+        "z": "ec4bf25e.dd6bb",
+        "wires": []
+    },
+    {
+        "id": "c0e01e64.557b7",
+        "type": "execute",
+        "name": "if contains specification",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains'  emitsOutcome='true' >\n    <parameter name=\"source\" value=\"`$service-data.networks.network[$idx].network-data.network-information.onap-model-information.model-name`\" />\n    <parameter name=\"target\" value=\"specification\"/>\n  \n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1670.5041275024414,
+        "y": 792.0040473937988,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "f0e3233e.fbb43"
+            ]
+        ]
+    },
+    {
+        "id": "3b74b5cb.6db12a",
+        "type": "execute",
+        "name": "if contains model-name",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains'  emitsOutcome='true' >\n    <parameter name=\"source\" value=\"`$service-data.networks.network[$idx].network-data.network-information.onap-model-information.model-name`\" />\n    <parameter name=\"target\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n  \n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1664.753921508789,
+        "y": 849.0039715766907,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "43e7c123.94da6"
+            ]
+        ]
+    },
+    {
+        "id": "f0e3233e.fbb43",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1861.7540111541748,
+        "y": 791.0039234161377,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "3b74b5cb.6db12a"
+            ]
+        ]
+    },
+    {
+        "id": "43e7c123.94da6",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1868.0040092468262,
+        "y": 846.0040340423584,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "9e04e4be.367888"
+            ]
+        ]
+    },
+    {
+        "id": "dc605cc5.0af61",
+        "type": "execute",
+        "name": "contains FcPort",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n    <parameter name=\"source\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n    <parameter name=\"target\" value=\"FcPort\"/>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 502.00390625,
+        "y": 734.00390625,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "d20a2c0b.707f2",
+                "e2a37c8a.52a28"
+            ]
+        ]
+    },
+    {
+        "id": "d20a2c0b.707f2",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 697.0039901733398,
+        "y": 736.0039386749268,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "4637df53.0968b"
+            ]
+        ]
+    },
+    {
+        "id": "2b8cfc56.68f314",
+        "type": "outcomeTrue",
+        "name": "false",
+        "xml": "<outcome value='false'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 293.00391387939453,
+        "y": 737.0038776397705,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "dc605cc5.0af61"
+            ]
+        ]
+    },
+    {
+        "id": "1ef0b35a.df2b6d",
+        "type": "success",
+        "name": "success",
+        "xml": "<outcome value='success'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1271.3373184204102,
+        "y": 270.00391387939453,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "f3103198.99ca3"
+            ]
+        ]
+    },
+    {
+        "id": "f3103198.99ca3",
+        "type": "block",
+        "name": "block",
+        "xml": "<block>\n",
+        "atomic": "false",
+        "comments": "",
+        "outputs": 1,
+        "x": 1444.3372344970703,
+        "y": 265.00390625,
+        "z": "ec4bf25e.dd6bb",
+        "wires": [
+            [
+                "a4c91e95.e83ee"
+            ]
+        ]
+    },
+    {
+        "id": "a4c91e95.e83ee",
+        "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": 1707.50390625,
+        "y": 264.00390625,
+        "z": "ec4bf25e.dd6bb",
+        "wires": []
+    }
+]
\ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-deactivate.json b/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-deactivate.json
new file mode 100644 (file)
index 0000000..9630687
--- /dev/null
@@ -0,0 +1,1297 @@
+[
+    {
+        "id": "bed9c35d.e0ab8",
+        "type": "dgstart",
+        "name": "DGSTART",
+        "outputs": 1,
+        "x": 116.00390625,
+        "y": 78.99999904632568,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "bdf50147.91929"
+            ]
+        ]
+    },
+    {
+        "id": "bdf50147.91929",
+        "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": 328.00391006469727,
+        "y": 151.00001621246338,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "9e64bb35.81c5b8"
+            ]
+        ]
+    },
+    {
+        "id": "9e64bb35.81c5b8",
+        "type": "method",
+        "name": "wan-connection-topology-operation-deactivate",
+        "xml": "<method rpc='wan-connection-topology-operation-deactivate' mode='sync'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 316.0040283203125,
+        "y": 238.99999904632568,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "7ad810d3.cad88"
+            ]
+        ]
+    },
+    {
+        "id": "8a67a6d1.1bbf48",
+        "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": 703.0041885375977,
+        "y": 323.0000705718994,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            []
+        ]
+    },
+    {
+        "id": "8ba9bac1.ee7e58",
+        "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": 303.00392150878906,
+        "y": 1188.0002126693726,
+        "z": "add5ea55.8506d8",
+        "wires": []
+    },
+    {
+        "id": "7ad810d3.cad88",
+        "type": "block",
+        "name": "block : atomic",
+        "xml": "<block atomic=\"true\">",
+        "atomic": "true",
+        "outputs": 1,
+        "x": 228.5041046142578,
+        "y": 680.0001344680786,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "5d609d23.b321b4",
+                "b02a1448.2abf08",
+                "8a67a6d1.1bbf48",
+                "8ba9bac1.ee7e58",
+                "9a0faf20.2fca7"
+            ]
+        ]
+    },
+    {
+        "id": "5d609d23.b321b4",
+        "type": "for",
+        "name": "for pidx..service-data.networks.network[]",
+        "xml": "<for index='pidx' start='0' end='`$service-data.networks.network_length`' >\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 866.5043182373047,
+        "y": 480.00013303756714,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "402023c4.b7ccfc"
+            ]
+        ]
+    },
+    {
+        "id": "402023c4.b7ccfc",
+        "type": "switchNode",
+        "name": "switch network-id",
+        "xml": "<switch test=\"`$service-data.networks.network[$pidx].network-id == $network-topology-operation-input.network-information.network-id`\">\n\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 917.5042495727539,
+        "y": 553.0001649856567,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "2c64e469.ac5d6c"
+            ]
+        ]
+    },
+    {
+        "id": "2c64e469.ac5d6c",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1099.75435256958,
+        "y": 555.0002584457397,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "f806435c.0ee1b"
+            ]
+        ]
+    },
+    {
+        "id": "f806435c.0ee1b",
+        "type": "set",
+        "name": "set tmp.pidx and tmp.network-input-parameters",
+        "xml": "<set>\n<parameter name='tmp.pidx' value='`$pidx`' />\n<parameter name='tmp.network.' value='`$service-data.networks.network[$pidx].`' />\n<parameter name='tmp.network-input-parameters' value='`$service-data.networks.network[$pidx].network-data.network-request-input.network-input-parameters`' />\n<parameter name='tmp.found-network-input' value='true' />",
+        "comments": "",
+        "x": 1386.372314453125,
+        "y": 539.4290904998779,
+        "z": "add5ea55.8506d8",
+        "wires": []
+    },
+    {
+        "id": "b02a1448.2abf08",
+        "type": "set",
+        "name": "set tmp.found-network-input",
+        "xml": "<set>\n<parameter name='tmp.found-network-input' value='false' />",
+        "comments": "",
+        "x": 851.5042190551758,
+        "y": 405.00017070770264,
+        "z": "add5ea55.8506d8",
+        "wires": []
+    },
+    {
+        "id": "644b78b3.b56638",
+        "type": "switchNode",
+        "name": "switch found-network-input",
+        "xml": "<switch test=\"`$found-network-input`\">\n\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 588.5042037963867,
+        "y": 890.0002946853638,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "ab8a1407.b57258",
+                "b5ad9505.765198"
+            ]
+        ]
+    },
+    {
+        "id": "ab8a1407.b57258",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 820.5042953491211,
+        "y": 934.0004930496216,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "e70ec11.398ad4"
+            ]
+        ]
+    },
+    {
+        "id": "b5ad9505.765198",
+        "type": "outcomeTrue",
+        "name": "false",
+        "xml": "<outcome value='false'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 821.2542343139648,
+        "y": 892.0003843307495,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "bc1e10df.495bf"
+            ]
+        ]
+    },
+    {
+        "id": "bc1e10df.495bf",
+        "type": "returnFailure",
+        "name": "return failure",
+        "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n    <parameter name=\"error-message\" value=\"Error: Network input parameters not found\" />\n    \n",
+        "comments": "",
+        "x": 992.2542343139648,
+        "y": 900.0003538131714,
+        "z": "add5ea55.8506d8",
+        "wires": []
+    },
+    {
+        "id": "e70ec11.398ad4",
+        "type": "block",
+        "name": "block : atomic",
+        "xml": "<block atomic=\"true\">",
+        "atomic": "true",
+        "outputs": 1,
+        "x": 558.0040817260742,
+        "y": 1046.0002794265747,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "fa434270.08d4",
+                "229661c0.3323fe",
+                "6889ef74.f6656"
+            ]
+        ]
+    },
+    {
+        "id": "fa434270.08d4",
+        "type": "for",
+        "name": "for cidx..tmp.network.network-data.network-topology.network-parameters.network-parameter[]",
+        "xml": "<for index='cidx' start='0' end='`$tmp.network.network-data.network-topology.network-parameters.network-parameter_length`' >\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1007.0039215087891,
+        "y": 1132.000135421753,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "25bfefbb.7b8a2"
+            ]
+        ]
+    },
+    {
+        "id": "467eb351.f8dd4c",
+        "type": "switchNode",
+        "name": "switch network-parameter-name == 'restapiUrl-deactivate'",
+        "xml": "<switch test=\"`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'restapiUrl-deactivate'`\">\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1121.0039825439453,
+        "y": 1202.0001974105835,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "85fbba7c.c54258"
+            ]
+        ]
+    },
+    {
+        "id": "85fbba7c.c54258",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1394.0041046142578,
+        "y": 1201.0001554489136,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "3a92a803.532c08"
+            ]
+        ]
+    },
+    {
+        "id": "3a92a803.532c08",
+        "type": "set",
+        "name": "set tmp.thirdparty-sdnc-url",
+        "xml": "<set>\n<parameter name='tmp.restapiUrl' value='`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`' />\n<parameter name='tmp.restapiUrl-found' value='true' />",
+        "comments": "",
+        "x": 1573.0040664672852,
+        "y": 1203.0002040863037,
+        "z": "add5ea55.8506d8",
+        "wires": []
+    },
+    {
+        "id": "ecb2328b.87404",
+        "type": "execute",
+        "name": "execute RestApiCallNode delete wan-connection",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$tmp.restapiUrl + $tmp.actualId`\" />\n<parameter name=\"restapiUser\" value=\"`$tmp.restapiUser`\" />\n<parameter name=\"restapiPassword\" value=\"`$tmp.restapiPassword`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"delete\"/>",
+        "comments": "",
+        "outputs": 1,
+        "x": 895.2539520263672,
+        "y": 1934.000750541687,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "90bce824.a60af8",
+                "639417f4.3c8618",
+                "5e319e9.e03ce6"
+            ]
+        ]
+    },
+    {
+        "id": "e81bb98f.1bc1c8",
+        "type": "switchNode",
+        "name": "switch network-parameter-name == 'restapiUser'",
+        "xml": "<switch test=\"`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'restapiUser'`\">\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1124.2539749145508,
+        "y": 1253.0001726150513,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "798bd507.61470c"
+            ]
+        ]
+    },
+    {
+        "id": "798bd507.61470c",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1390.2540893554688,
+        "y": 1255.000249862671,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "41e8b8a1.d5a1f8"
+            ]
+        ]
+    },
+    {
+        "id": "41e8b8a1.d5a1f8",
+        "type": "set",
+        "name": "set tmp.restapiUser",
+        "xml": "<set>\n<parameter name='tmp.restapiUser' value='`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`' />\n<parameter name='tmp.restapiUser-found' value='true' />",
+        "comments": "",
+        "x": 1591.2541198730469,
+        "y": 1253.0002508163452,
+        "z": "add5ea55.8506d8",
+        "wires": []
+    },
+    {
+        "id": "9df47848.ecea98",
+        "type": "switchNode",
+        "name": "switch network-parameter-name == 'restapiPassword'",
+        "xml": "<switch test=\"`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'restapiPassword'`\">\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1132.2540435791016,
+        "y": 1307.0000982284546,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "d16bb98.a2dc948"
+            ]
+        ]
+    },
+    {
+        "id": "d16bb98.a2dc948",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1409.2540550231934,
+        "y": 1305.0001306533813,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "55ba7bac.43a354"
+            ]
+        ]
+    },
+    {
+        "id": "55ba7bac.43a354",
+        "type": "set",
+        "name": "set tmp.restapiPassword",
+        "xml": "<set>\n<parameter name='tmp.restapiPassword' value='`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`' />\n<parameter name='tmp.restapiPassword-found' value='true' />",
+        "comments": "",
+        "x": 1610.2540855407715,
+        "y": 1303.0001316070557,
+        "z": "add5ea55.8506d8",
+        "wires": []
+    },
+    {
+        "id": "229661c0.3323fe",
+        "type": "set",
+        "name": "set paras flags",
+        "xml": "<set>\n<parameter name='tmp.restapiUrl-found' value='false' />\n<parameter name='tmp.restapiUser-found' value='false' />\n<parameter name='tmp.restapiPassword-found' value='false' />\n<parameter name='tmp.thirdPartyAdaptorRpc-found' value='false' />\n<parameter name='tmp.actualId-found' value='false' />",
+        "comments": "",
+        "x": 794.0040893554688,
+        "y": 1047.00013256073,
+        "z": "add5ea55.8506d8",
+        "wires": []
+    },
+    {
+        "id": "6889ef74.f6656",
+        "type": "switchNode",
+        "name": "switch thirdPartyAdaptorRpc-found == 'true'",
+        "xml": "<switch test=\"`$tmp.thirdPartyAdaptorRpc-found == 'true'`\">\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 836.0039215087891,
+        "y": 1542.0001783370972,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "6070832b.4e05ac",
+                "ffaf6a87.b25588"
+            ]
+        ]
+    },
+    {
+        "id": "25bfefbb.7b8a2",
+        "type": "block",
+        "name": "block",
+        "xml": "<block>\n",
+        "atomic": "false",
+        "comments": "",
+        "outputs": 1,
+        "x": 778.0039215087891,
+        "y": 1313.0000486373901,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "467eb351.f8dd4c",
+                "e81bb98f.1bc1c8",
+                "9df47848.ecea98",
+                "6302da7e.dd2b84",
+                "28436b7c.b1fc44"
+            ]
+        ]
+    },
+    {
+        "id": "6070832b.4e05ac",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1098.0039405822754,
+        "y": 1504.0001153945923,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "7b671856.32cf38"
+            ]
+        ]
+    },
+    {
+        "id": "ffaf6a87.b25588",
+        "type": "outcomeTrue",
+        "name": "false",
+        "xml": "<outcome value='false'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1099.003890991211,
+        "y": 1570.0000801086426,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "c985a158.801a7"
+            ]
+        ]
+    },
+    {
+        "id": "7b671856.32cf38",
+        "type": "call",
+        "name": "call thirdPartyAdaptorRpc",
+        "xml": "<call module='GENERIC-RESOURCE-API' rpc='`$tmp.thirdPartyAdaptorRpc`' mode='sync' >\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1318.0039825439453,
+        "y": 1505.0001745224,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "dead764f.d92678",
+                "d7c6c9d5.2e7148",
+                "15e9a511.5d2bdb"
+            ]
+        ]
+    },
+    {
+        "id": "c985a158.801a7",
+        "type": "switchNode",
+        "name": "switch restapiUrl-found == 'true'",
+        "xml": "<switch test=\"`$tmp.restapiUrl-found == 'true'`\">\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 860.4548110961914,
+        "y": 1654.0068244934082,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "4213fed6.58526",
+                "b4e8bd7.9e5da4"
+            ]
+        ]
+    },
+    {
+        "id": "4213fed6.58526",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1111.4547958374023,
+        "y": 1652.0066204071045,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "1d6d17bd.ff2e18"
+            ]
+        ]
+    },
+    {
+        "id": "1d6d17bd.ff2e18",
+        "type": "switchNode",
+        "name": "switch restapiUser-found == 'true'",
+        "xml": "<switch test=\"`$tmp.restapiUser-found == 'true'`\">\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 838.4549102783203,
+        "y": 1721.228922843933,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "787ae8bc.8e3698",
+                "c501bbca.d35c78"
+            ]
+        ]
+    },
+    {
+        "id": "787ae8bc.8e3698",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1105.4548034667969,
+        "y": 1722.2286357879639,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "ccf93de2.220a9"
+            ]
+        ]
+    },
+    {
+        "id": "ccf93de2.220a9",
+        "type": "switchNode",
+        "name": "switch restapiPassword-found == 'true'",
+        "xml": "<switch test=\"`$tmp.restapiPassword-found == 'true'`\">\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 853.4548034667969,
+        "y": 1791.2288455963135,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "ef4e3315.b193a",
+                "ec2c6336.45952"
+            ]
+        ]
+    },
+    {
+        "id": "ef4e3315.b193a",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1113.4548034667969,
+        "y": 1791.2286357879639,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "5bfb0348.022b1c"
+            ]
+        ]
+    },
+    {
+        "id": "6302da7e.dd2b84",
+        "type": "switchNode",
+        "name": "switch network-parameter-name == 'thirdPartyAdaptorRpc-deactivate'",
+        "xml": "<switch test=\"`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartyAdaptorRpc-deactivate'`\">\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1150.010440826416,
+        "y": 1400.0064764022827,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "fd6dd8ea.6b1e08"
+            ]
+        ]
+    },
+    {
+        "id": "fd6dd8ea.6b1e08",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1461.0106582641602,
+        "y": 1404.006381034851,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "46687aa0.06bae4"
+            ]
+        ]
+    },
+    {
+        "id": "46687aa0.06bae4",
+        "type": "set",
+        "name": "set tmp.thirdPartyAdaptorRpc",
+        "xml": "<set>\n<parameter name='tmp.thirdPartyAdaptorRpc' value='`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`' />\n<parameter name='tmp.thirdPartyAdaptorRpc-found' value='true' />",
+        "comments": "",
+        "x": 1656.010612487793,
+        "y": 1398.0065717697144,
+        "z": "add5ea55.8506d8",
+        "wires": []
+    },
+    {
+        "id": "15e9a511.5d2bdb",
+        "type": "not-found",
+        "name": "not-found",
+        "xml": "<outcome value='not-found'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1584.0103759765625,
+        "y": 1544.3398427963257,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "9fcd7153.d785c"
+            ]
+        ]
+    },
+    {
+        "id": "d7c6c9d5.2e7148",
+        "type": "failure",
+        "name": "failure",
+        "xml": "<outcome value='failure'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1575.010425567627,
+        "y": 1512.8398685455322,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "9fcd7153.d785c"
+            ]
+        ]
+    },
+    {
+        "id": "dead764f.d92678",
+        "type": "success",
+        "name": "success",
+        "xml": "<outcome value='success'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1578.7604637145996,
+        "y": 1483.1969734206796,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "ab7968a5.26b8d8"
+            ]
+        ]
+    },
+    {
+        "id": "9fcd7153.d785c",
+        "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 calling ' + $tmp.thirdPartyAdaptorRpc`\" />\n",
+        "comments": "",
+        "x": 1741.7604904174805,
+        "y": 1529.5899410247803,
+        "z": "add5ea55.8506d8",
+        "wires": []
+    },
+    {
+        "id": "ab7968a5.26b8d8",
+        "type": "block",
+        "name": "block",
+        "xml": "<block>\n",
+        "atomic": "false",
+        "comments": "",
+        "outputs": 1,
+        "x": 1720.416431427002,
+        "y": 1479.3891426101327,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            []
+        ]
+    },
+    {
+        "id": "5e319e9.e03ce6",
+        "type": "not-found",
+        "name": "not-found",
+        "xml": "<outcome value='not-found'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1225.0103759765625,
+        "y": 1969.3398427963257,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "a7499ed5.48afb"
+            ]
+        ]
+    },
+    {
+        "id": "639417f4.3c8618",
+        "type": "failure",
+        "name": "failure",
+        "xml": "<outcome value='failure'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1216.010425567627,
+        "y": 1937.8398685455322,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "a7499ed5.48afb"
+            ]
+        ]
+    },
+    {
+        "id": "90bce824.a60af8",
+        "type": "success",
+        "name": "success",
+        "xml": "<outcome value='success'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1219.7604637145996,
+        "y": 1908.1969734206796,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "8b51f6a8.9f1da8"
+            ]
+        ]
+    },
+    {
+        "id": "a7499ed5.48afb",
+        "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 calling ' + $tmp.restapiUrl`\" />\n",
+        "comments": "",
+        "x": 1382.7604904174805,
+        "y": 1954.5899410247803,
+        "z": "add5ea55.8506d8",
+        "wires": []
+    },
+    {
+        "id": "8b51f6a8.9f1da8",
+        "type": "block",
+        "name": "block",
+        "xml": "<block>\n",
+        "atomic": "false",
+        "comments": "",
+        "outputs": 1,
+        "x": 1361.416431427002,
+        "y": 1904.3891426101327,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            []
+        ]
+    },
+    {
+        "id": "b4e8bd7.9e5da4",
+        "type": "outcomeTrue",
+        "name": "false",
+        "xml": "<outcome value='false'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1262.677001953125,
+        "y": 1619.4509267807007,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "e85c9352.a3eed"
+            ]
+        ]
+    },
+    {
+        "id": "e85c9352.a3eed",
+        "type": "returnFailure",
+        "name": "return failure",
+        "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n    <parameter name=\"error-message\" value=\"Error: 3rd party controller restapiUrl not found\" />\n    \n",
+        "comments": "",
+        "x": 1433.677001953125,
+        "y": 1627.4508962631226,
+        "z": "add5ea55.8506d8",
+        "wires": []
+    },
+    {
+        "id": "c501bbca.d35c78",
+        "type": "outcomeTrue",
+        "name": "false",
+        "xml": "<outcome value='false'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1267.677001953125,
+        "y": 1698.4509267807007,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "ae06c9a.f856b38"
+            ]
+        ]
+    },
+    {
+        "id": "ae06c9a.f856b38",
+        "type": "returnFailure",
+        "name": "return failure",
+        "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n    <parameter name=\"error-message\" value=\"Error: 3rd party controller restapiUser not found\" />\n    \n",
+        "comments": "",
+        "x": 1438.677001953125,
+        "y": 1706.4508962631226,
+        "z": "add5ea55.8506d8",
+        "wires": []
+    },
+    {
+        "id": "ec2c6336.45952",
+        "type": "outcomeTrue",
+        "name": "false",
+        "xml": "<outcome value='false'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1258.677001953125,
+        "y": 1769.4509267807007,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "ea3c7dab.c8829"
+            ]
+        ]
+    },
+    {
+        "id": "ea3c7dab.c8829",
+        "type": "returnFailure",
+        "name": "return failure",
+        "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n    <parameter name=\"error-message\" value=\"Error: 3rd party controller restapiPassword not found\" />\n    \n",
+        "comments": "",
+        "x": 1429.677001953125,
+        "y": 1777.4508962631226,
+        "z": "add5ea55.8506d8",
+        "wires": []
+    },
+    {
+        "id": "28436b7c.b1fc44",
+        "type": "switchNode",
+        "name": "switch network-parameter-name == 'actualId'",
+        "xml": "<switch test=\"`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'actualId'`\">\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1136.0038757324219,
+        "y": 1354.999960899353,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "ff7b2584.cdcb58"
+            ]
+        ]
+    },
+    {
+        "id": "ff7b2584.cdcb58",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1413.0038871765137,
+        "y": 1352.9999933242798,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "4ffde6e.9995318"
+            ]
+        ]
+    },
+    {
+        "id": "4ffde6e.9995318",
+        "type": "set",
+        "name": "set tmp.actualId",
+        "xml": "<set>\n<parameter name='tmp.actualId' value='`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`' />\n<parameter name='tmp.actualId-found' value='true' />",
+        "comments": "",
+        "x": 1614.0039176940918,
+        "y": 1350.999994277954,
+        "z": "add5ea55.8506d8",
+        "wires": []
+    },
+    {
+        "id": "5bfb0348.022b1c",
+        "type": "switchNode",
+        "name": "switch actualId-found == 'true'",
+        "xml": "<switch test=\"`$tmp.actualId-found == 'true'`\">\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 867.2261047363281,
+        "y": 1859.4444189071655,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "21d86096.fee9f",
+                "849bef82.9af23"
+            ]
+        ]
+    },
+    {
+        "id": "21d86096.fee9f",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1127.2261047363281,
+        "y": 1859.444209098816,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "ecb2328b.87404"
+            ]
+        ]
+    },
+    {
+        "id": "849bef82.9af23",
+        "type": "outcomeTrue",
+        "name": "false",
+        "xml": "<outcome value='false'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1272.4483032226562,
+        "y": 1837.6665000915527,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "9362ad56.36a98"
+            ]
+        ]
+    },
+    {
+        "id": "9362ad56.36a98",
+        "type": "returnFailure",
+        "name": "return failure",
+        "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n    <parameter name=\"error-message\" value=\"Error: Wan Connection actualId not found\" />\n    \n",
+        "comments": "",
+        "x": 1443.4483032226562,
+        "y": 1845.6664695739746,
+        "z": "add5ea55.8506d8",
+        "wires": []
+    },
+    {
+        "id": "c8936a70.9f1118",
+        "type": "execute",
+        "name": "execute RestApiCallNode get wan-connection localId",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sotn_get_zte_template.json' `\" />\n<parameter name=\"restapiUrl\" value=\"http://10.80.80.21:8443/restconf/operations/ZTE-API-ConnectivityService:get-service-details\" />\n<parameter name=\"restapiUser\" value=\"admin\" />\n<parameter name=\"restapiPassword\" value=\"admin\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"restApiResult\"/>",
+        "comments": "",
+        "outputs": 1,
+        "x": 801.25390625,
+        "y": 2170.003906726837,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "953b9364.6a04b",
+                "511ddd61.150c94",
+                "eb807b79.8d7c78"
+            ]
+        ]
+    },
+    {
+        "id": "eb807b79.8d7c78",
+        "type": "not-found",
+        "name": "not-found",
+        "xml": "<outcome value='not-found'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1131.0103302001953,
+        "y": 2205.342998981476,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "bd9032fd.3c50f"
+            ]
+        ]
+    },
+    {
+        "id": "511ddd61.150c94",
+        "type": "failure",
+        "name": "failure",
+        "xml": "<outcome value='failure'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1122.0103797912598,
+        "y": 2173.8430247306824,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "bd9032fd.3c50f"
+            ]
+        ]
+    },
+    {
+        "id": "953b9364.6a04b",
+        "type": "success",
+        "name": "success",
+        "xml": "<outcome value='success'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1125.7604179382324,
+        "y": 2144.2001296058297,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "6c6c8390.edb91c"
+            ]
+        ]
+    },
+    {
+        "id": "bd9032fd.3c50f",
+        "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 calling ' + $tmp.restapiUrl`\" />\n",
+        "comments": "",
+        "x": 1320.760482788086,
+        "y": 2268.5930428504944,
+        "z": "add5ea55.8506d8",
+        "wires": []
+    },
+    {
+        "id": "9a0faf20.2fca7",
+        "type": "block",
+        "name": "block : atomic",
+        "xml": "<block atomic=\"true\">",
+        "atomic": "true",
+        "outputs": 1,
+        "x": 458.00390625,
+        "y": 2174.003906726837,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "c8936a70.9f1118",
+                "55f19580.60d50c",
+                "664842f0.f5459c",
+                "39b12b85.00f734"
+            ]
+        ]
+    },
+    {
+        "id": "756c6c69.207644",
+        "type": "set",
+        "name": "set localId",
+        "xml": "<set>\n<parameter name='localId' value='`$restApiResult.output.normal-service.name[0].value`' />",
+        "comments": "",
+        "x": 951.7539520263672,
+        "y": 2406.0039315223694,
+        "z": "add5ea55.8506d8",
+        "wires": []
+    },
+    {
+        "id": "6c6c8390.edb91c",
+        "type": "block",
+        "name": "block : atomic",
+        "xml": "<block atomic=\"true\">",
+        "atomic": "true",
+        "outputs": 1,
+        "x": 838.75390625,
+        "y": 2333.003906726837,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "756c6c69.207644",
+                "adb3e76.6b84418"
+            ]
+        ]
+    },
+    {
+        "id": "adb3e76.6b84418",
+        "type": "execute",
+        "name": "execute RestApiCallNode delete wan-connection",
+        "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sotn_delete_zte_template.json' `\" />\n<parameter name=\"restapiUrl\" value=\"http://10.80.80.21:8443/restconf/operations/ZTE-API-ConnectivityService:delete-connectivity-service\" />\n<parameter name=\"restapiUser\" value=\"admin\" />\n<parameter name=\"restapiPassword\" value=\"admin\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"restApiResult\"/>",
+        "comments": "",
+        "outputs": 1,
+        "x": 1079.75390625,
+        "y": 2479.0039010047913,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "4a8e2d71.5792f4",
+                "3378e2f0.491d0e",
+                "baeb07bf.b350f8"
+            ]
+        ]
+    },
+    {
+        "id": "baeb07bf.b350f8",
+        "type": "not-found",
+        "name": "not-found",
+        "xml": "<outcome value='not-found'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1388.75390625,
+        "y": 2510.003906726837,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "bd9032fd.3c50f"
+            ]
+        ]
+    },
+    {
+        "id": "3378e2f0.491d0e",
+        "type": "failure",
+        "name": "failure",
+        "xml": "<outcome value='failure'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1379.7539558410645,
+        "y": 2478.5039324760437,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "bd9032fd.3c50f"
+            ]
+        ]
+    },
+    {
+        "id": "4a8e2d71.5792f4",
+        "type": "success",
+        "name": "success",
+        "xml": "<outcome value='success'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1383.503993988037,
+        "y": 2448.861037351191,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "d69d9f76.9f753"
+            ]
+        ]
+    },
+    {
+        "id": "d69d9f76.9f753",
+        "type": "block",
+        "name": "block",
+        "xml": "<block>\n",
+        "atomic": "false",
+        "comments": "",
+        "outputs": 1,
+        "x": 1532.7539710998535,
+        "y": 2448.0039010047913,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            []
+        ]
+    },
+    {
+        "id": "d4dcaf7.912a95",
+        "type": "set",
+        "name": "set sotnServiceId",
+        "xml": "<set>\n<parameter name='sotnServiceId' value='73aa6033-a43e-3162-9bc9-085edc2b5a10' />",
+        "comments": "",
+        "x": 1084.7539596557617,
+        "y": 2102.0040740966797,
+        "z": "add5ea55.8506d8",
+        "wires": []
+    },
+    {
+        "id": "55f19580.60d50c",
+        "type": "for",
+        "name": "for pidx..network-input-parameters[]",
+        "xml": "<for index='paidx' start='0' end='`$tmp.network.network-data.network-request-input.network-input-parameters.param_length`' >\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 746.0039367675781,
+        "y": 2045.0039901733398,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "94cd2d2f.d6b96"
+            ]
+        ]
+    },
+    {
+        "id": "94cd2d2f.d6b96",
+        "type": "switchNode",
+        "name": "switch svc-action",
+        "xml": "<switch test=\"`$tmp.network.network-data.network-request-input.network-input-parameters.param[$paidx].name == 'localServiceId'`\">\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1018.0039367675781,
+        "y": 2052.00399017334,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "505d1c65.f95bd4"
+            ]
+        ]
+    },
+    {
+        "id": "505d1c65.f95bd4",
+        "type": "outcomeTrue",
+        "name": "true",
+        "xml": "<outcome value='true'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 1192.0039367675781,
+        "y": 2057.00399017334,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "4e885a55.b3baf4"
+            ]
+        ]
+    },
+    {
+        "id": "4e885a55.b3baf4",
+        "type": "set",
+        "name": "set localServiceId",
+        "xml": "<set>\n<parameter name='localServiceId' value='`$tmp.network.network-data.network-request-input.network-input-parameters.param[$paidx].value`' />\n<parameter name='isLocalIdFound' value='true' />",
+        "comments": "",
+        "x": 1387.0039367675781,
+        "y": 2055.00399017334,
+        "z": "add5ea55.8506d8",
+        "wires": []
+    },
+    {
+        "id": "664842f0.f5459c",
+        "type": "switchNode",
+        "name": "switch isLocalIdFound",
+        "xml": "<switch test=\"`$isLocalIdFound`\">\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 711.2539596557617,
+        "y": 2100.0040130615234,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "64a4311f.473ee"
+            ]
+        ]
+    },
+    {
+        "id": "64a4311f.473ee",
+        "type": "outcomeTrue",
+        "name": "false",
+        "xml": "<outcome value='false'>\n",
+        "comments": "",
+        "outputs": 1,
+        "x": 906.2539215087891,
+        "y": 2100.0040130615234,
+        "z": "add5ea55.8506d8",
+        "wires": [
+            [
+                "d4dcaf7.912a95"
+            ]
+        ]
+    },
+    {
+        "id": "39b12b85.00f734",
+        "type": "set",
+        "name": "set isLocalIdFound",
+        "xml": "<set>\n<parameter name='isLocalIdFound' value='false' />",
+        "comments": "",
+        "x": 688.25390625,
+        "y": 1997.00390625,
+        "z": "add5ea55.8506d8",
+        "wires": []
+    }
+]
\ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-delete.json b/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-delete.json
new file mode 100644 (file)
index 0000000..4430f5e
--- /dev/null
@@ -0,0 +1,286 @@
+[{
+       "id": "c81f4d78.b1e6c",
+       "type": "dgstart",
+       "name": "DGSTART",
+       "outputs": 1,
+       "x": 100.01040649414062,
+       "y": 75.99999976158142,
+       "z": "b1682cba.152",
+       "wires": [
+               ["64b261af.cf184"]
+       ]
+}, {
+       "id": "64b261af.cf184",
+       "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": 312.0104103088379,
+       "y": 148.00001692771912,
+       "z": "b1682cba.152",
+       "wires": [
+               ["c6b54419.3039a8"]
+       ]
+}, {
+       "id": "c6b54419.3039a8",
+       "type": "method",
+       "name": "wan-connection-topology-operation-delete",
+       "xml": "<method rpc='wan-connection-topology-operation-delete' mode='sync'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 300.0105285644531,
+       "y": 235.99999976158142,
+       "z": "b1682cba.152",
+       "wires": [
+               ["f3a69c11.4cac9"]
+       ]
+}, {
+       "id": "140a99be.e1cda6",
+       "type": "execute",
+       "name": "contains FC",
+       "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' >\n    <parameter name=\"source\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n    <parameter name=\"target\" value=\"FC\"/>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 467.04176330566406,
+       "y": 511.031311750412,
+       "z": "b1682cba.152",
+       "wires": [
+               ["df506b8a.806268", "5d821249.e9d6cc"]
+       ]
+}, {
+       "id": "54dc8604.f2ccb8",
+       "type": "execute",
+       "name": "contains FD",
+       "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' >\n    <parameter name=\"source\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n    <parameter name=\"target\" value=\"FD\"/>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 465.04168701171875,
+       "y": 589.0313127040863,
+       "z": "b1682cba.152",
+       "wires": [
+               ["1ab6bc40.bffaf4", "7db0c17f.b059"]
+       ]
+}, {
+       "id": "df506b8a.806268",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 648.0417709350586,
+       "y": 513.0313451290131,
+       "z": "b1682cba.152",
+       "wires": [
+               ["44c3101c.7b387"]
+       ]
+}, {
+       "id": "1ab6bc40.bffaf4",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 660.0417709350586,
+       "y": 591.0313451290131,
+       "z": "b1682cba.152",
+       "wires": [
+               ["44c3101c.7b387"]
+       ]
+}, {
+       "id": "5d821249.e9d6cc",
+       "type": "outcomeTrue",
+       "name": "false",
+       "xml": "<outcome value='false'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 256.0416946411133,
+       "y": 592.0312840938568,
+       "z": "b1682cba.152",
+       "wires": [
+               ["54dc8604.f2ccb8"]
+       ]
+}, {
+       "id": "7f76e93c.a850f8",
+       "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": 491.010498046875,
+       "y": 356.00001883506775,
+       "z": "b1682cba.152",
+       "wires": [
+               []
+       ]
+}, {
+       "id": "f3a69c11.4cac9",
+       "type": "block",
+       "name": "block : atomic",
+       "xml": "<block atomic=\"true\">",
+       "atomic": "true",
+       "outputs": 1,
+       "x": 206.0104217529297,
+       "y": 335.99999594688416,
+       "z": "b1682cba.152",
+       "wires": [
+               ["7f76e93c.a850f8", "99bcb143.6aec8", "30b4304f.e646c", "140a99be.e1cda6"]
+       ]
+}, {
+       "id": "99bcb143.6aec8",
+       "type": "switchNode",
+       "name": "switch network-id",
+       "xml": "<switch test='`$network-topology-operation-input.network-information.network-id`'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 491.0104293823242,
+       "y": 294.0000092983246,
+       "z": "b1682cba.152",
+       "wires": [
+               ["57d76327.9c63cc", "d50b31e0.e314e"]
+       ]
+}, {
+       "id": "57d76327.9c63cc",
+       "type": "outcome",
+       "name": "NULL",
+       "xml": "<outcome value=''>",
+       "comments": "",
+       "outputs": 1,
+       "x": 740.0105056762695,
+       "y": 233.00000929832458,
+       "z": "b1682cba.152",
+       "wires": [
+               ["54153e4c.ec78c"]
+       ]
+}, {
+       "id": "54153e4c.ec78c",
+       "type": "returnFailure",
+       "name": "return failure",
+       "xml": "<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value=\"An error occured while generation allotted resource ID\" />\n",
+       "comments": "",
+       "x": 1010.0105209350586,
+       "y": 234.99999809265137,
+       "z": "b1682cba.152",
+       "wires": []
+}, {
+       "id": "d50b31e0.e314e",
+       "type": "other",
+       "name": "other",
+       "xml": "<outcome value='Other'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 737.5104026794434,
+       "y": 281.0000035762787,
+       "z": "b1682cba.152",
+       "wires": [
+               []
+       ]
+}, {
+       "id": "30b4304f.e646c",
+       "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": 192.01040649414062,
+       "y": 943.0000705718994,
+       "z": "b1682cba.152",
+       "wires": []
+}, {
+       "id": "65a3a6ee.c50208",
+       "type": "block",
+       "name": "block",
+       "xml": "<block>\n",
+       "atomic": "false",
+       "comments": "",
+       "outputs": 1,
+       "x": 258.01040267944336,
+       "y": 735.0001106262207,
+       "z": "b1682cba.152",
+       "wires": [
+               []
+       ]
+}, {
+       "id": "7db0c17f.b059",
+       "type": "outcomeTrue",
+       "name": "false",
+       "xml": "<outcome value='false'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 261.04176330566406,
+       "y": 675.0314900875092,
+       "z": "b1682cba.152",
+       "wires": [
+               ["65a3a6ee.c50208"]
+       ]
+}, {
+       "id": "44c3101c.7b387",
+       "type": "block",
+       "name": "block : atomic",
+       "xml": "<block atomic=\"true\">",
+       "atomic": "true",
+       "outputs": 1,
+       "x": 843.010383605957,
+       "y": 542.1214942932129,
+       "z": "b1682cba.152",
+       "wires": [
+               ["81240f98.0bd24", "51b098fe.5ee238", "e14455de.b9dcd8", "5e6ceda3.d49424", "629880b9.6f91a"]
+       ]
+}, {
+       "id": "81240f98.0bd24",
+       "type": "delete",
+       "name": "delete wan connection in AAI",
+       "xml": "<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" resource='connectivity' \n        key='connectivity.connectivity-id = $network-topology-operation-input.network-information.network-id'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1139.0104446411133,
+       "y": 492.1214962005615,
+       "z": "b1682cba.152",
+       "wires": [
+               []
+       ]
+}, {
+       "id": "51b098fe.5ee238",
+       "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": 1116.4549293518066,
+       "y": 556.0104026794434,
+       "z": "b1682cba.152",
+       "wires": []
+}, {
+       "id": "e14455de.b9dcd8",
+       "type": "set",
+       "name": "Remove networks from ServiceData",
+       "xml": "<set>\n\t<parameter name=\"service-data.networks.network[$tmp.nidx].\" value=\"\"/>\n\n",
+       "comments": "",
+       "x": 1147.0791816711426,
+       "y": 607.9783487319946,
+       "z": "b1682cba.152",
+       "wires": []
+}, {
+       "id": "5e6ceda3.d49424",
+       "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": 1157.8222579956055,
+       "y": 678.5394926071167,
+       "z": "b1682cba.152",
+       "wires": []
+}, {
+       "id": "629880b9.6f91a",
+       "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=\"wan-connection-topology-operation-delete\"/>\n<parameter name=\"field3\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name + ' delete'`\"/>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1075.0103759765625,
+       "y": 423.34375,
+       "z": "b1682cba.152",
+       "wires": [
+               []
+       ]
+}]
\ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-activate.xml b/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-activate.xml
new file mode 100644 (file)
index 0000000..c30915f
--- /dev/null
@@ -0,0 +1,704 @@
+<service-logic
+    xmlns='http://www.onap.org/sdnc/svclogic'
+    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+    <method rpc='wan-connection-topology-operation-activate' mode='sync'>
+        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+            <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>
+            <parameter name="target" value="specification"/>
+            <outcome value='true'>
+                <return status='success'>
+                    <parameter name="ack-final-indicator" value="Y" />
+                    <parameter name="error-code" value="200" />
+                    <parameter name="error-message" value="`$error-message`" />
+                </return>
+            </outcome>
+            <outcome value='false'>
+                <block atomic="true">
+                    <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+                        <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
+                        <parameter name='contextPrefix' value='prop' />
+                    </execute>
+                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+                        <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>
+                        <parameter name="target" value="Fc"/>
+                        <outcome value='true'>
+                            <block atomic="true">
+                                <set>
+                                    <parameter name='needOof' value='false' />
+                                </set>
+                                <for index='aidx' start='0' end='`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`' >
+                                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+                                        <parameter name="source" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$aidx].name`"/>
+                                        <parameter name="target" value="fcport"/>
+                                        <outcome value='true'>
+                                            <set>
+                                                <parameter name='needOof' value='true' />
+                                            </set>
+                                        </outcome>
+                                    </execute>
+                                </for>
+                                <switch test="`$needOof`">
+                                    <outcome value='true'>
+                                        <block>
+                                            <block atomic="true">
+                                                <set>
+                                                    <parameter name='sotnFcPortListLength' value='0' />
+                                                </set>
+                                                <for index='sIdx' start='0' end='`$service-data.networks.network_length`' >
+                                                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+                                                        <parameter name="source" value="`$service-data.networks.network[$sIdx].network-data.network-information.onap-model-information.model-name`"/>
+                                                        <parameter name="target" value="sotn"/>
+                                                        <outcome value='true'>
+                                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+                                                                <parameter name="source" value="`$service-data.networks.network[$sIdx].network-data.network-information.onap-model-information.model-name`"/>
+                                                                <parameter name="target" value="FcPort"/>
+                                                                <outcome value='true'>
+                                                                    <block atomic="true">
+                                                                        <set>
+                                                                            <parameter name='tmp.sotnFcPortList[`$sotnFcPortListLength`]' value='`$sIdx`' />
+                                                                        </set>
+                                                                        <for index='paramIdx' start='0' end='`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param_length`' >
+                                                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+                                                                                <parameter name="source" value="`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param[$paramIdx].name`"/>
+                                                                                <parameter name="target" value="address"/>
+                                                                                <outcome value='true'>
+                                                                                    <block atomic="true">
+                                                                                        <set>
+                                                                                            <parameter name='sotnFcPortAddress' value='`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param[$paramIdx].value`' />
+                                                                                        </set>
+                                                                                        <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+                                                                                            <parameter name='restapiUrl' value="`$prop.oss.url + '/oss/inventory?location=' + $sotnFcPortAddress`"/>
+                                                                                            <parameter name='format' value='json' />
+                                                                                            <parameter name='customHttpHeaders' value="X-FromAppId=MSO" />
+                                                                                            <parameter name='httpMethod' value='GET' />
+                                                                                            <parameter name="responsePrefix" value="temp.oss.accessTPs" />
+                                                                                            <outcome value='success'>
+                                                                                                <switch test="`$temp.oss.accessTPs_length`">
+                                                                                                    <outcome value='Other'>
+                                                                                                        <block atomic="true">
+                                                                                                            <switch test='`$temp.accessTPs_length`'>
+                                                                                                                <outcome value=''>
+                                                                                                                    <set>
+                                                                                                                        <parameter name='tp_length' value='0' />
+                                                                                                                    </set>
+                                                                                                                </outcome>
+                                                                                                                <outcome value='Other'>
+                                                                                                                    <set>
+                                                                                                                        <parameter name='tp_length' value='`$temp.accessTPs_length`' />
+                                                                                                                    </set>
+                                                                                                                </outcome>
+                                                                                                            </switch>
+                                                                                                            <for index='idx' start='0' end='`$temp.oss.accessTPs_length`' >
+                                                                                                                <set>
+                                                                                                                    <parameter name='`temp.accessTPs[$idx + $tp_length].`' value='`$temp.oss.accessTPs[$idx].`' />
+                                                                                                                </set>
+                                                                                                            </for>
+                                                                                                            <set>
+                                                                                                                <parameter name='temp.accessTPs_length' value='`$temp.accessTPs_length + $temp.oss.accessTPs_length`' />
+                                                                                                            </set>
+                                                                                                        </block>
+                                                                                                    </outcome>
+                                                                                                </switch>
+                                                                                            </outcome>
+                                                                                        </execute>
+                                                                                    </block>
+                                                                                </outcome>
+                                                                            </execute>
+                                                                        </for>
+                                                                    </block>
+                                                                </outcome>
+                                                            </execute>
+                                                        </outcome>
+                                                    </execute>
+                                                </for>
+                                            </block>
+                                            <switch test="`$temp.accessTPs_length >= 2`">
+                                                <outcome value='true'>
+                                                    <block atomic="true">
+                                                        <set>
+                                                            <parameter name='prop.connection-attachment.access-topology-id' value='`$temp.accessTPs[0].access-topology-id`' />
+                                                            <parameter name='prop.connection-attachment.access-client-id' value='`$temp.accessTPs[0].access-client-id`' />
+                                                            <parameter name='prop.connection-attachment.access-provider-id' value='`$temp.accessTPs[0].access-provider-id`' />
+                                                            <parameter name='prop.connection-attachment.access-node-id' value='`$temp.accessTPs[0].access-node-id`' />
+                                                            <parameter name='prop.connection-attachment.access-ltp-id' value='`$temp.accessTPs[0].access-ltp-id`' />
+                                                            <parameter name='prop.remote.connection-attachment.access-topology-id' value='`$temp.accessTPs[1].access-topology-id`' />
+                                                            <parameter name='prop.remote.connection-attachment.access-client-id' value='`$temp.accessTPs[1].access-client-id`' />
+                                                            <parameter name='prop.remote.connection-attachment.access-provider-id' value='`$temp.accessTPs[1].access-provider-id`' />
+                                                            <parameter name='prop.remote.connection-attachment.access-node-id' value='`$temp.accessTPs[1].access-node-id`' />
+                                                            <parameter name='prop.remote.connection-attachment.access-ltp-id' value='`$temp.accessTPs[1].access-ltp-id`' />
+                                                        </set>
+                                                        <for index='paidx' start='0' end='`$tmp.network-input-parameters.param_length`' >
+                                                            <block>
+                                                                <switch test="`$tmp.network-input-parameters.param[$paidx].name == 'name'`">
+                                                                    <outcome value='true'>
+                                                                        <set>
+                                                                            <parameter name='template.name' value='`$tmp.network-input-parameters.param[$paidx].value`' />
+                                                                        </set>
+                                                                    </outcome>
+                                                                </switch>
+                                                                <switch test="`$tmp.network-input-parameters.param[$paidx].name == 'service-type'`">
+                                                                    <outcome value='true'>
+                                                                        <set>
+                                                                            <parameter name='template.service-type' value='`$tmp.network-input-parameters.param[$paidx].value`' />
+                                                                        </set>
+                                                                    </outcome>
+                                                                </switch>
+                                                                <switch test="`$tmp.network-input-parameters.param[$paidx].name == 'total-size'`">
+                                                                    <outcome value='true'>
+                                                                        <set>
+                                                                            <parameter name='template.total-size' value='`$tmp.network-input-parameters.param[$paidx].value`' />
+                                                                        </set>
+                                                                    </outcome>
+                                                                </switch>
+                                                                <switch test="`$tmp.network-input-parameters.param[$paidx].name == 'pir'`">
+                                                                    <outcome value='true'>
+                                                                        <set>
+                                                                            <parameter name='template.pir' value='`$tmp.network-input-parameters.param[$paidx].value`' />
+                                                                        </set>
+                                                                    </outcome>
+                                                                </switch>
+                                                                <switch test="`$tmp.network-input-parameters.param[$paidx].name == 'cbs'`">
+                                                                    <outcome value='true'>
+                                                                        <set>
+                                                                            <parameter name='template.cbs' value='`$tmp.network-input-parameters.param[$paidx].value`' />
+                                                                        </set>
+                                                                    </outcome>
+                                                                </switch>
+                                                                <switch test="`$tmp.network-input-parameters.param[$paidx].name == 'pbs'`">
+                                                                    <outcome value='true'>
+                                                                        <set>
+                                                                            <parameter name='template.pbs' value='`$tmp.network-input-parameters.param[$paidx].value`' />
+                                                                        </set>
+                                                                    </outcome>
+                                                                </switch>
+                                                                <switch test="`$tmp.network-input-parameters.param[$paidx].name == 'couplingFlag'`">
+                                                                    <outcome value='true'>
+                                                                        <set>
+                                                                            <parameter name='template.couplingFlag' value='`$tmp.network-input-parameters.param[$paidx].value`' />
+                                                                        </set>
+                                                                    </outcome>
+                                                                </switch>
+                                                                <switch test="`$tmp.network-input-parameters.param[$paidx].name == 'colorAware'`">
+                                                                    <outcome value='true'>
+                                                                        <set>
+                                                                            <parameter name='template.colorAware' value='`$tmp.network-input-parameters.param[$paidx].value`' />
+                                                                        </set>
+                                                                    </outcome>
+                                                                </switch>
+                                                                <switch test="`$tmp.network-input-parameters.param[$paidx].name == 'route-objective-function'`">
+                                                                    <outcome value='true'>
+                                                                        <set>
+                                                                            <parameter name='template.route-objective-function' value='`$tmp.network-input-parameters.param[$paidx].value`' />
+                                                                        </set>
+                                                                    </outcome>
+                                                                </switch>
+                                                                <switch test="`$tmp.network-input-parameters.param[$paidx].name == 'diversity-policy'`">
+                                                                    <outcome value='true'>
+                                                                        <set>
+                                                                            <parameter name='template.diversity-policy' value='`$tmp.network-input-parameters.param[$paidx].value`' />
+                                                                        </set>
+                                                                    </outcome>
+                                                                </switch>
+                                                            </block>
+                                                        </for>
+                                                        <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+                                                            <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/' + $prop.restapi.oof-getpath.templatefile`" />
+                                                            <parameter name="restapiUrl" value="`$prop.restapi.connection-oof-url`" />
+                                                            <parameter name="restapiUser" value="`$prop.oof.user`" />
+                                                            <parameter name="restapiPassword" value="`$prop.oof.password`" />
+                                                            <parameter name="format" value="json"/>
+                                                            <parameter name="httpMethod" value="post"/>
+                                                            <parameter name="responsePrefix" value="oof"/>
+                                                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
+                                                            <parameter name="trustStorePassword" value="adminadmin"/>
+                                                            <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
+                                                            <parameter name="keyStorePassword" value="adminadmin"/>
+                                                            <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
+                                                            <outcome value='failure'></outcome>
+                                                            <outcome value='success'>
+                                                                <for index='vidx' start='0' end='`$oof.vpns_length`' >
+                                                                    <block atomic="true">
+                                                                        <set>
+                                                                            <parameter name='oof.vpn.' value='`$oof.vpns[$vidx].`' />
+                                                                        </set>
+                                                                        <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" 
+               resource="pnf" 
+               key="pnf.pnf-name = $oof.vpn.access-node-id 
+               AND depth = '0'"
+        pfx='tmp.aai.pnf' local-only='false' >
+                                                                            <outcome value='success'>
+                                                                                <set>
+                                                                                    <parameter name='tmp.thirdparty-sdnc-id' value="`$tmp.aai.pnf.relationship-list.relationship[0].relationship-data[0].relationship-value`" />
+                                                                                </set>
+                                                                            </outcome>
+                                                                            <outcome value='not-found'>
+                                                                                <return status='failure'>
+                                                                                    <parameter name='ack-final' value='Y'/>
+                                                                                    <parameter name="error-code" value="500" />
+                                                                                    <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
+                                                                                </return>
+                                                                            </outcome>
+                                                                            <outcome value='Other'>
+                                                                                <return status='failure'>
+                                                                                    <parameter name='ack-final' value='Y'/>
+                                                                                    <parameter name="error-code" value="500" />
+                                                                                    <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
+                                                                                </return>
+                                                                            </outcome>
+                                                                        </get-resource>
+                                                                        <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" 
+               resource="esr-thirdparty-sdnc" 
+               key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $tmp.thirdparty-sdnc-id AND 
+                    depth = '1'"
+        pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >
+                                                                            <outcome value='success'>
+                                                                                <set>
+                                                                                    <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`" />
+                                                                                    <parameter name='prop.sdncRestApi.thirdpartySdnc.user' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`" />
+                                                                                    <parameter name='prop.sdncRestApi.thirdpartySdnc.password' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`" />
+                                                                                </set>
+                                                                            </outcome>
+                                                                            <outcome value='not-found'>
+                                                                                <return status='failure'>
+                                                                                    <parameter name='ack-final' value='Y'/>
+                                                                                    <parameter name="error-code" value="500" />
+                                                                                    <parameter name="error-message" value="`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />
+                                                                                </return>
+                                                                            </outcome>
+                                                                            <outcome value='Other'>
+                                                                                <return status='failure'>
+                                                                                    <parameter name='ack-final' value='Y'/>
+                                                                                    <parameter name="error-code" value="500" />
+                                                                                    <parameter name="error-message" value="`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />
+                                                                                </return>
+                                                                            </outcome>
+                                                                        </get-resource>
+                                                                        <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+                                                                            <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sotn-api-ConnectivityService.json'`" />
+                                                                            <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/operations/ZTE-API-ConnectivityService:create-connectivity-service'`" />
+                                                                            <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
+                                                                            <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
+                                                                            <parameter name="format" value="json"/>
+                                                                            <parameter name="httpMethod" value="patch"/>
+                                                                            <parameter name="responsePrefix" value="vpn-result"/>
+                                                                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
+                                                                            <parameter name="trustStorePassword" value="adminadmin"/>
+                                                                            <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
+                                                                            <parameter name="keyStorePassword" value="adminadmin"/>
+                                                                            <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
+                                                                            <outcome value='failure'>
+                                                                                <return status='failure'>
+                                                                                    <parameter name='ack-final' value='Y'/>
+                                                                                    <parameter name="error-code" value="500" />
+                                                                                    <parameter name="error-message" value="Error executing Create vpn rest api" />
+                                                                                </return>
+                                                                            </outcome>
+                                                                            <outcome value='success'>
+                                                                                <block atomic="true"></block>
+                                                                            </outcome>
+                                                                        </execute>
+                                                                    </block>
+                                                                </for>
+                                                            </outcome>
+                                                        </execute>
+                                                    </block>
+                                                </outcome>
+                                            </switch>
+                                        </block>
+                                    </outcome>
+                                    <outcome value='false'>
+                                        <block atomic="true">
+                                            <set>
+                                                <parameter name='tmp.restapiUrl-found' value='false' />
+                                                <parameter name='tmp.restapiUser-found' value='false' />
+                                                <parameter name='tmp.restapiPassword-found' value='false' />
+                                                <parameter name='tmp.templateFileName-found' value='false' />
+                                                <parameter name='tmp.thirdPartyAdaptorRpc-found' value='false' />
+                                            </set>
+                                            <for index='cxid' start='0' end='`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`' >
+                                                <block atomic="true">
+                                                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+                                                        <parameter name="source" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].name`"/>
+                                                        <parameter name="target" value="thirdPartySdncId"/>
+                                                        <outcome value='true'>
+                                                            <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" 
+               resource="esr-thirdparty-sdnc" 
+               key="esr-thirdparty-sdnc.thirdparty-sdnc-id = `$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].value` AND 
+                    depth = '1'"
+        pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >
+                                                                <outcome value='success'>
+                                                                    <set>
+                                                                        <parameter name='prop.thirdpartySdnc-found' value='true' />
+                                                                        <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`" />
+                                                                        <parameter name='prop.sdncRestApi.thirdpartySdnc.user' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`" />
+                                                                        <parameter name='prop.sdncRestApi.thirdpartySdnc.password' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`" />
+                                                                    </set>
+                                                                </outcome>
+                                                                <outcome value='not-found'>
+                                                                    <set>
+                                                                        <parameter name='prop.thirdpartySdnc-found' value='false' />
+                                                                    </set>
+                                                                </outcome>
+                                                                <outcome value='Other'>
+                                                                    <set>
+                                                                        <parameter name='prop.thirdpartySdnc-found' value='false' />
+                                                                    </set>
+                                                                </outcome>
+                                                            </get-resource>
+                                                        </outcome>
+                                                        <outcome value='false'>
+                                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+                                                                <parameter name="source" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].name`"/>
+                                                                <parameter name="target" value="templateFileName"/>
+                                                                <outcome value='true'>
+                                                                    <set>
+                                                                        <parameter name='tmp.templateFileName' value="`$prop.restapi.templateDir + '/' + $network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].value`" />
+                                                                        <parameter name='tmp.templateFileName-found' value='true' />
+                                                                    </set>
+                                                                </outcome>
+                                                                <outcome value='false'>
+                                                                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+                                                                        <parameter name="source" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].name`"/>
+                                                                        <parameter name="target" value="restapiUrl"/>
+                                                                        <outcome value='true'>
+                                                                            <set>
+                                                                                <parameter name='tmp.restapiUrl' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].value`' />
+                                                                                <parameter name='tmp.restapiUrl-found' value='true' />
+                                                                            </set>
+                                                                        </outcome>
+                                                                    </execute>
+                                                                </outcome>
+                                                            </execute>
+                                                        </outcome>
+                                                    </execute>
+                                                    <set>
+                                                        <parameter name='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].name`' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].value`' />
+                                                    </set>
+                                                </block>
+                                            </for>
+                                            <return status='success'>
+                                                <parameter name="ack-final-indicator" value="Y" />
+                                                <parameter name="error-code" value="200" />
+                                                <parameter name="error-message" value="`$error-message`" />
+                                            </return>
+                                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+                                                <parameter name="templateFileName" value="`$tmp.templateFileName`" />
+                                                <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + $tmp.restapiUrl`" />
+                                                <parameter name="restapiUser" value="admin" />
+                                                <parameter name="restapiPassword" value="admin" />
+                                                <parameter name="format" value="json"/>
+                                                <parameter name="httpMethod" value="post"/>
+                                                <parameter name="responsePrefix" value="restApi-result"/>
+                                                <outcome value='success'>
+                                                    <for index='sIdx' start='0' end='`$service-data.networks.network_length`' >
+                                                        <switch test='`$service-data.networks.network[$sIdx].network-id == $network-topology-operation-input.network-information.network-id`'>
+                                                            <outcome value='true'>
+                                                                <block atomic="true">
+                                                                    <set>
+                                                                        <parameter name='paraIndx' value='`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param_length`' />
+                                                                    </set>
+                                                                    <set>
+                                                                        <parameter name='`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param[$paraIndx].name`' value='localServiceId' />
+                                                                        <parameter name='`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param[$paraIndx].value`' value='`$restApi-result.output.service.uuid`' />
+                                                                    </set>
+                                                                </block>
+                                                            </outcome>
+                                                        </switch>
+                                                    </for>
+                                                </outcome>
+                                                <outcome value='failure'>
+                                                    <return status='failure'>
+                                                        <parameter name='ack-final' value='Y'/>
+                                                        <parameter name="error-code" value="500" />
+                                                        <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`" />
+                                                    </return>
+                                                </outcome>
+                                                <outcome value='not-found'>
+                                                    <return status='failure'>
+                                                        <parameter name='ack-final' value='Y'/>
+                                                        <parameter name="error-code" value="500" />
+                                                        <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`" />
+                                                    </return>
+                                                </outcome>
+                                            </execute>
+                                        </block>
+                                    </outcome>
+                                </switch>
+                            </block>
+                        </outcome>
+                        <outcome value='false'>
+                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+                                <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>
+                                <parameter name="target" value="Fd"/>
+                                <outcome value='true'>
+                                    <block atomic="true">
+                                        <set>
+                                            <parameter name='tmp.restapiUrl-found' value='false' />
+                                            <parameter name='tmp.restapiUser-found' value='false' />
+                                            <parameter name='tmp.restapiPassword-found' value='false' />
+                                            <parameter name='tmp.templateFileName-found' value='false' />
+                                            <parameter name='tmp.thirdPartyAdaptorRpc-found' value='false' />
+                                        </set>
+                                        <for index='cxid' start='0' end='`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`' >
+                                            <block atomic="true">
+                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+                                                    <parameter name="source" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].name`"/>
+                                                    <parameter name="target" value="thirdPartySdncId"/>
+                                                    <outcome value='true'>
+                                                        <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" 
+               resource="esr-thirdparty-sdnc" 
+               key="esr-thirdparty-sdnc.thirdparty-sdnc-id = `$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].value` AND 
+                    depth = '1'"
+        pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >
+                                                            <outcome value='success'>
+                                                                <set>
+                                                                    <parameter name='prop.thirdpartySdnc-found' value='true' />
+                                                                    <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`" />
+                                                                    <parameter name='prop.sdncRestApi.thirdpartySdnc.user' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`" />
+                                                                    <parameter name='prop.sdncRestApi.thirdpartySdnc.password' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`" />
+                                                                </set>
+                                                            </outcome>
+                                                            <outcome value='not-found'>
+                                                                <set>
+                                                                    <parameter name='prop.thirdpartySdnc-found' value='false' />
+                                                                </set>
+                                                            </outcome>
+                                                            <outcome value='Other'>
+                                                                <set>
+                                                                    <parameter name='prop.thirdpartySdnc-found' value='false' />
+                                                                </set>
+                                                            </outcome>
+                                                        </get-resource>
+                                                    </outcome>
+                                                    <outcome value='false'>
+                                                        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+                                                            <parameter name="source" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].name`"/>
+                                                            <parameter name="target" value="templateFileName"/>
+                                                            <outcome value='true'>
+                                                                <set>
+                                                                    <parameter name='tmp.templateFileName' value="`$prop.restapi.templateDir + '/' + $network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].value`" />
+                                                                    <parameter name='tmp.templateFileName-found' value='true' />
+                                                                </set>
+                                                            </outcome>
+                                                            <outcome value='false'>
+                                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+                                                                    <parameter name="source" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].name`"/>
+                                                                    <parameter name="target" value="restapiUrl"/>
+                                                                    <outcome value='true'>
+                                                                        <set>
+                                                                            <parameter name='tmp.restapiUrl' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].value`' />
+                                                                            <parameter name='tmp.restapiUrl-found' value='true' />
+                                                                        </set>
+                                                                    </outcome>
+                                                                </execute>
+                                                            </outcome>
+                                                        </execute>
+                                                    </outcome>
+                                                </execute>
+                                                <set>
+                                                    <parameter name='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].name`' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].value`' />
+                                                </set>
+                                            </block>
+                                        </for>
+                                        <return status='success'>
+                                            <parameter name="ack-final-indicator" value="Y" />
+                                            <parameter name="error-code" value="200" />
+                                            <parameter name="error-message" value="`$error-message`" />
+                                        </return>
+                                        <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+                                            <parameter name="templateFileName" value="`$tmp.templateFileName`" />
+                                            <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + $tmp.restapiUrl`" />
+                                            <parameter name="restapiUser" value="admin" />
+                                            <parameter name="restapiPassword" value="admin" />
+                                            <parameter name="format" value="json"/>
+                                            <parameter name="httpMethod" value="post"/>
+                                            <parameter name="responsePrefix" value="restApi-result"/>
+                                            <outcome value='success'>
+                                                <for index='sIdx' start='0' end='`$service-data.networks.network_length`' >
+                                                    <switch test='`$service-data.networks.network[$sIdx].network-id == $network-topology-operation-input.network-information.network-id`'>
+                                                        <outcome value='true'>
+                                                            <block atomic="true">
+                                                                <set>
+                                                                    <parameter name='paraIndx' value='`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param_length`' />
+                                                                </set>
+                                                                <set>
+                                                                    <parameter name='`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param[$paraIndx].name`' value='localServiceId' />
+                                                                    <parameter name='`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param[$paraIndx].value`' value='`$restApi-result.output.service.uuid`' />
+                                                                </set>
+                                                            </block>
+                                                        </outcome>
+                                                    </switch>
+                                                </for>
+                                            </outcome>
+                                            <outcome value='failure'>
+                                                <return status='failure'>
+                                                    <parameter name='ack-final' value='Y'/>
+                                                    <parameter name="error-code" value="500" />
+                                                    <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`" />
+                                                </return>
+                                            </outcome>
+                                            <outcome value='not-found'>
+                                                <return status='failure'>
+                                                    <parameter name='ack-final' value='Y'/>
+                                                    <parameter name="error-code" value="500" />
+                                                    <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`" />
+                                                </return>
+                                            </outcome>
+                                        </execute>
+                                    </block>
+                                </outcome>
+                                <outcome value='false'>
+                                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+                                        <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>
+                                        <parameter name="target" value="FcPort"/>
+                                        <outcome value='true'>
+                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+                                                <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>
+                                                <parameter name="target" value="sitewan"/>
+                                                <outcome value='true'>
+                                                    <block atomic="true">
+                                                        <set>
+                                                            <parameter name='tmp.restapiUrl-found' value='false' />
+                                                            <parameter name='tmp.restapiUser-found' value='false' />
+                                                            <parameter name='tmp.restapiPassword-found' value='false' />
+                                                            <parameter name='tmp.templateFileName-found' value='false' />
+                                                            <parameter name='tmp.thirdPartyAdaptorRpc-found' value='false' />
+                                                        </set>
+                                                        <for index='cxid' start='0' end='`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`' >
+                                                            <block atomic="true">
+                                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+                                                                    <parameter name="source" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].name`"/>
+                                                                    <parameter name="target" value="thirdPartySdncId"/>
+                                                                    <outcome value='true'>
+                                                                        <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" 
+               resource="esr-thirdparty-sdnc" 
+               key="esr-thirdparty-sdnc.thirdparty-sdnc-id = `$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].value` AND 
+                    depth = '1'"
+        pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >
+                                                                            <outcome value='success'>
+                                                                                <set>
+                                                                                    <parameter name='prop.thirdpartySdnc-found' value='true' />
+                                                                                    <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`" />
+                                                                                    <parameter name='prop.sdncRestApi.thirdpartySdnc.user' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`" />
+                                                                                    <parameter name='prop.sdncRestApi.thirdpartySdnc.password' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`" />
+                                                                                </set>
+                                                                            </outcome>
+                                                                            <outcome value='not-found'>
+                                                                                <set>
+                                                                                    <parameter name='prop.thirdpartySdnc-found' value='false' />
+                                                                                </set>
+                                                                            </outcome>
+                                                                            <outcome value='Other'>
+                                                                                <set>
+                                                                                    <parameter name='prop.thirdpartySdnc-found' value='false' />
+                                                                                </set>
+                                                                            </outcome>
+                                                                        </get-resource>
+                                                                    </outcome>
+                                                                    <outcome value='false'>
+                                                                        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+                                                                            <parameter name="source" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].name`"/>
+                                                                            <parameter name="target" value="templateFileName"/>
+                                                                            <outcome value='true'>
+                                                                                <set>
+                                                                                    <parameter name='tmp.templateFileName' value="`$prop.restapi.templateDir + '/' + $network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].value`" />
+                                                                                    <parameter name='tmp.templateFileName-found' value='true' />
+                                                                                </set>
+                                                                            </outcome>
+                                                                            <outcome value='false'>
+                                                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+                                                                                    <parameter name="source" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].name`"/>
+                                                                                    <parameter name="target" value="restapiUrl"/>
+                                                                                    <outcome value='true'>
+                                                                                        <set>
+                                                                                            <parameter name='tmp.restapiUrl' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].value`' />
+                                                                                            <parameter name='tmp.restapiUrl-found' value='true' />
+                                                                                        </set>
+                                                                                    </outcome>
+                                                                                </execute>
+                                                                            </outcome>
+                                                                        </execute>
+                                                                    </outcome>
+                                                                </execute>
+                                                                <set>
+                                                                    <parameter name='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].name`' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$cxid].value`' />
+                                                                </set>
+                                                            </block>
+                                                        </for>
+                                                        <return status='success'>
+                                                            <parameter name="ack-final-indicator" value="Y" />
+                                                            <parameter name="error-code" value="200" />
+                                                            <parameter name="error-message" value="`$error-message`" />
+                                                        </return>
+                                                        <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+                                                            <parameter name="templateFileName" value="`$tmp.templateFileName`" />
+                                                            <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + $tmp.restapiUrl`" />
+                                                            <parameter name="restapiUser" value="admin" />
+                                                            <parameter name="restapiPassword" value="admin" />
+                                                            <parameter name="format" value="json"/>
+                                                            <parameter name="httpMethod" value="post"/>
+                                                            <parameter name="responsePrefix" value="restApi-result"/>
+                                                            <outcome value='success'>
+                                                                <for index='sIdx' start='0' end='`$service-data.networks.network_length`' >
+                                                                    <switch test='`$service-data.networks.network[$sIdx].network-id == $network-topology-operation-input.network-information.network-id`'>
+                                                                        <outcome value='true'>
+                                                                            <block atomic="true">
+                                                                                <set>
+                                                                                    <parameter name='paraIndx' value='`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param_length`' />
+                                                                                </set>
+                                                                                <set>
+                                                                                    <parameter name='`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param[$paraIndx].name`' value='localServiceId' />
+                                                                                    <parameter name='`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param[$paraIndx].value`' value='`$restApi-result.output.service.uuid`' />
+                                                                                </set>
+                                                                            </block>
+                                                                        </outcome>
+                                                                    </switch>
+                                                                </for>
+                                                            </outcome>
+                                                            <outcome value='failure'>
+                                                                <return status='failure'>
+                                                                    <parameter name='ack-final' value='Y'/>
+                                                                    <parameter name="error-code" value="500" />
+                                                                    <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`" />
+                                                                </return>
+                                                            </outcome>
+                                                            <outcome value='not-found'>
+                                                                <return status='failure'>
+                                                                    <parameter name='ack-final' value='Y'/>
+                                                                    <parameter name="error-code" value="500" />
+                                                                    <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`" />
+                                                                </return>
+                                                            </outcome>
+                                                        </execute>
+                                                    </block>
+                                                </outcome>
+                                                <outcome value='false'>
+                                                    <block>
+                                                        <return status='success'>
+                                                            <parameter name="ack-final-indicator" value="Y" />
+                                                            <parameter name="error-code" value="200" />
+                                                            <parameter name="error-message" value="`$error-message`" />
+                                                        </return>
+                                                    </block>
+                                                </outcome>
+                                            </execute>
+                                        </outcome>
+                                        <outcome value='false'>
+                                            <block>
+                                                <return status='success'>
+                                                    <parameter name="ack-final-indicator" value="Y" />
+                                                    <parameter name="error-code" value="200" />
+                                                    <parameter name="error-message" value="`$error-message`" />
+                                                </return>
+                                            </block>
+                                        </outcome>
+                                    </execute>
+                                </outcome>
+                            </execute>
+                        </outcome>
+                    </execute>
+                </block>
+            </outcome>
+        </execute>
+    </method>
+</service-logic>
\ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-create.xml b/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-create.xml
new file mode 100644 (file)
index 0000000..03ccd49
--- /dev/null
@@ -0,0 +1,61 @@
+<service-logic
+    xmlns='http://www.onap.org/sdnc/svclogic'
+    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+    <method rpc='wan-connection-topology-operation-create' mode='sync'>
+        <block atomic="true">
+            <switch test='`$network-topology-operation-input.network-information.network-id`'>
+                <outcome value=''>
+                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >
+                        <parameter name="ctx-destination" value="network-topology-operation-input.network-information.network-id"/>
+                        <outcome value='Other'>
+                            <return status='failure'>
+                                <parameter name='error-code' value='' />
+                                <parameter name='error-message' value="An error occured while generation allotted resource ID" />
+                            </return>
+                        </outcome>
+                        <outcome value='success'>
+                            <block>
+                                <set>
+                                    <parameter name='networkId' value='`$network-topology-operation-input.network-information.network-id`' />
+                                    <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/'` " />
+                                </set>
+                            </block>
+                        </outcome>
+                    </execute>
+                </outcome>
+            </switch>
+            <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+                <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
+                <parameter name='contextPrefix' value='prop' />
+            </execute>
+            <block atomic="true">
+                <switch test='`$service-data.networks.network_length`'>
+                    <outcome value=''>
+                        <set>
+                            <parameter name='nidx' value='0' />
+                        </set>
+                    </outcome>
+                    <outcome value='Other'>
+                        <set>
+                            <parameter name='nidx' value='`$service-data.networks.network_length`' />
+                        </set>
+                    </outcome>
+                </switch>
+                <set>
+                    <parameter name='service-data.networks.network[$nidx].network-id' value='`$network-topology-operation-input.network-information.network-id`' />
+                    <parameter name='service-data.networks.network[$nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />
+                    <parameter name='service-data.networks.network[$nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />
+                    <parameter name='service-data.networks.network[$nidx].network-data.service-information.' value='`$network-topology-operation-input.service-information.`' />
+                    <parameter name='service-data.networks.network[$nidx].network-data.network-information.' value='`$network-topology-operation-input.network-information.`' />
+                    <parameter name='service-data.networks.network[$nidx].network-data.network-request-input.' value='`$network-topology-operation-input.network-request-input.`' />
+                    <parameter name='service-data.networks.network_length' value='`$nidx+1`' />
+                </set>
+            </block>
+            <return status='success'>
+                <parameter name="ack-final-indicator" value="Y" />
+                <parameter name="error-code" value="200" />
+                <parameter name="error-message" value="`$error-message`" />
+            </return>
+        </block>
+    </method>
+</service-logic>
\ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-deactivate.xml b/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-deactivate.xml
new file mode 100644 (file)
index 0000000..2748b31
--- /dev/null
@@ -0,0 +1,110 @@
+<service-logic
+    xmlns='http://www.onap.org/sdnc/svclogic'
+    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+    <method rpc='wan-connection-topology-operation-deactivate' mode='sync'>
+        <block atomic="true">
+            <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+                <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
+                <parameter name='contextPrefix' value='prop' />
+            </execute>
+            <set>
+                <parameter name='tmp.found-network-input' value='false' />
+            </set>
+            <for index='pidx' start='0' end='`$service-data.networks.network_length`' >
+                <switch test="`$service-data.networks.network[$pidx].network-id == $network-topology-operation-input.network-information.network-id`">
+                    <outcome value='true'>
+                        <set>
+                            <parameter name='tmp.pidx' value='`$pidx`' />
+                            <parameter name='tmp.network.' value='`$service-data.networks.network[$pidx].`' />
+                            <parameter name='tmp.network-input-parameters' value='`$service-data.networks.network[$pidx].network-data.network-request-input.network-input-parameters`' />
+                            <parameter name='tmp.found-network-input' value='true' />
+                        </set>
+                    </outcome>
+                </switch>
+            </for>
+            <return status='success'>
+                <parameter name="ack-final-indicator" value="Y" />
+                <parameter name="error-code" value="200" />
+                <parameter name="error-message" value="`$error-message`" />
+            </return>
+            <block atomic="true">
+                <set>
+                    <parameter name='isLocalIdFound' value='false' />
+                </set>
+                <for index='paidx' start='0' end='`$tmp.network.network-data.network-request-input.network-input-parameters.param_length`' >
+                    <switch test="`$tmp.network.network-data.network-request-input.network-input-parameters.param[$paidx].name == 'localServiceId'`">
+                        <outcome value='true'>
+                            <set>
+                                <parameter name='localServiceId' value='`$tmp.network.network-data.network-request-input.network-input-parameters.param[$paidx].value`' />
+                                <parameter name='isLocalIdFound' value='true' />
+                            </set>
+                        </outcome>
+                    </switch>
+                </for>
+                <switch test="`$isLocalIdFound`">
+                    <outcome value='false'>
+                        <set>
+                            <parameter name='sotnServiceId' value='73aa6033-a43e-3162-9bc9-085edc2b5a10' />
+                        </set>
+                    </outcome>
+                </switch>
+                <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+                    <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sotn_get_zte_template.json' `" />
+                    <parameter name="restapiUrl" value="http://10.80.80.21:8443/restconf/operations/ZTE-API-ConnectivityService:get-service-details" />
+                    <parameter name="restapiUser" value="admin" />
+                    <parameter name="restapiPassword" value="admin" />
+                    <parameter name="format" value="json"/>
+                    <parameter name="httpMethod" value="post"/>
+                    <parameter name="responsePrefix" value="restApiResult"/>
+                    <outcome value='success'>
+                        <block atomic="true">
+                            <set>
+                                <parameter name='localId' value='`$restApiResult.output.normal-service.name[0].value`' />
+                            </set>
+                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+                                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sotn_delete_zte_template.json' `" />
+                                <parameter name="restapiUrl" value="http://10.80.80.21:8443/restconf/operations/ZTE-API-ConnectivityService:delete-connectivity-service" />
+                                <parameter name="restapiUser" value="admin" />
+                                <parameter name="restapiPassword" value="admin" />
+                                <parameter name="format" value="json"/>
+                                <parameter name="httpMethod" value="post"/>
+                                <parameter name="responsePrefix" value="restApiResult"/>
+                                <outcome value='success'>
+                                    <block></block>
+                                </outcome>
+                                <outcome value='failure'>
+                                    <return status='failure'>
+                                        <parameter name='ack-final' value='Y'/>
+                                        <parameter name="error-code" value="500" />
+                                        <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`" />
+                                    </return>
+                                </outcome>
+                                <outcome value='not-found'>
+                                    <return status='failure'>
+                                        <parameter name='ack-final' value='Y'/>
+                                        <parameter name="error-code" value="500" />
+                                        <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`" />
+                                    </return>
+                                </outcome>
+                            </execute>
+                        </block>
+                    </outcome>
+                    <outcome value='failure'>
+                        <return status='failure'>
+                            <parameter name='ack-final' value='Y'/>
+                            <parameter name="error-code" value="500" />
+                            <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`" />
+                        </return>
+                    </outcome>
+                    <outcome value='not-found'>
+                        <return status='failure'>
+                            <parameter name='ack-final' value='Y'/>
+                            <parameter name="error-code" value="500" />
+                            <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`" />
+                        </return>
+                    </outcome>
+                </execute>
+            </block>
+        </block>
+    </method>
+</service-logic>
\ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-delete.xml b/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-delete.xml
new file mode 100644 (file)
index 0000000..9c24e52
--- /dev/null
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<service-logic xmlns="http://www.onap.org/sdnc/svclogic" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.onap.org/sdnc/svclogic ./svclogic.xsd" module="GENERIC-RESOURCE-API" version="${project.version}">
+  <method rpc="wan-connection-topology-operation-delete" mode="sync"> 
+    <block atomic="true">
+      <switch test="`$network-topology-operation-input.network-information.network-id`"> 
+        <outcome value="">
+          <return status="failure"> 
+            <parameter name="error-code" value=""/>  
+            <parameter name="error-message" value="An error occured while generation allotted resource ID"/> 
+          </return>
+        </outcome>
+        <outcome value="Other"></outcome>
+      </switch>
+      <execute plugin="org.onap.ccsdk.sli.plugins.prop.PropertiesNode" method="readProperties"> 
+        <parameter name="fileName" value="%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties"/>  
+        <parameter name="contextPrefix" value="prop"/> 
+      </execute>
+      <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> 
+        <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>  
+        <parameter name="target" value="FC"/>  
+        <outcome value="true"> 
+          <block atomic="true">
+            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> 
+              <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>  
+              <parameter name="field1" value="__TIMESTAMP__"/>  
+              <parameter name="field2" value="wan-connection-topology-operation-delete"/>  
+              <parameter name="field3" value="`$network-topology-operation-input.network-information.onap-model-information.model-name + ' delete'`"/> 
+            </record>
+            <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="connectivity" key="connectivity.connectivity-id = $network-topology-operation-input.network-information.network-id"></delete>
+            <set> 
+              <parameter name="service-data.networks.network_length" value="`$service-data.networks.network_length - 1`"/> 
+            </set>
+            <set> 
+              <parameter name="service-data.networks.network[$tmp.nidx]." value=""/> 
+            </set>
+            <set> 
+              <parameter name="networkId" value="`$network-topology-operation-input.network-information.network-id`"/>  
+              <parameter name="service-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $network-topology-operation-input.service-information.service-instance-id  + '/service-data/service-topology/'` "/>
+            </set>
+          </block>
+        </outcome>
+        <outcome value="false"> 
+          <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> 
+            <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>  
+            <parameter name="target" value="FD"/>  
+            <outcome value="true"> 
+              <block atomic="true">
+                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> 
+                  <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>  
+                  <parameter name="field1" value="__TIMESTAMP__"/>  
+                  <parameter name="field2" value="wan-connection-topology-operation-delete"/>  
+                  <parameter name="field3" value="`$network-topology-operation-input.network-information.onap-model-information.model-name + ' delete'`"/> 
+                </record>
+                <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="connectivity" key="connectivity.connectivity-id = $network-topology-operation-input.network-information.network-id"></delete>
+                <set> 
+                  <parameter name="service-data.networks.network_length" value="`$service-data.networks.network_length - 1`"/> 
+                </set>
+                <set> 
+                  <parameter name="service-data.networks.network[$tmp.nidx]." value=""/> 
+                </set>
+                <set> 
+                  <parameter name="networkId" value="`$network-topology-operation-input.network-information.network-id`"/>  
+                  <parameter name="service-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $network-topology-operation-input.service-information.service-instance-id  + '/service-data/service-topology/'` "/>
+                </set>
+              </block>
+            </outcome>
+            <outcome value="false"> 
+              <block></block>
+            </outcome>
+          </execute>
+        </outcome>
+      </execute>
+      <return status="success"> 
+        <parameter name="ack-final-indicator" value="Y"/>  
+        <parameter name="error-code" value="200"/>  
+        <parameter name="error-message" value="`$error-message`"/> 
+      </return>
+    </block>
+  </method>
+</service-logic>
diff --git a/platform-logic/restapi-templates/src/main/json/sdwan-device-zte-add.json b/platform-logic/restapi-templates/src/main/json/sdwan-device-zte-add.json
new file mode 100644 (file)
index 0000000..53dfc86
--- /dev/null
@@ -0,0 +1,13 @@
+{
+    "devices": [
+        {
+            "esn": ${prop.device.esn},
+            "deviceModel": ${prop.device.deviceModel},
+            "name": ${prop.device.name},
+            "siteId": null,
+            "description": ${prop.device.description},
+            "systemIp": ${prop.device.systemIP},
+            "tags": null
+        }
+    ]
+}
diff --git a/platform-logic/restapi-templates/src/main/json/sdwan-device-zte-del.json b/platform-logic/restapi-templates/src/main/json/sdwan-device-zte-del.json
new file mode 100644 (file)
index 0000000..efe5fdd
--- /dev/null
@@ -0,0 +1,7 @@
+{
+    "deviceIds": [${repeat:prop.devices_length:
+                                ${prop.devices[${1}]},
+                                }
+                             ]
+}
+
diff --git a/platform-logic/restapi-templates/src/main/json/sdwan-inter-connect-zte-create.json b/platform-logic/restapi-templates/src/main/json/sdwan-inter-connect-zte-create.json
new file mode 100644 (file)
index 0000000..d6814d5
--- /dev/null
@@ -0,0 +1,9 @@
+{
+    "vpns": [
+        {
+            "name": ${prop.name},
+            "id": ${prop.vpn1Id}
+        }
+    ]
+}
+
diff --git a/platform-logic/restapi-templates/src/main/json/sdwan-inter-connect-zte-del.json b/platform-logic/restapi-templates/src/main/json/sdwan-inter-connect-zte-del.json
new file mode 100644 (file)
index 0000000..11412b4
--- /dev/null
@@ -0,0 +1,13 @@
+{
+    "vpns": [
+        {
+            "name": ${prop.name},
+            "id": ${prop.vpn1Id},
+            "siteIds": [
+                ${repeat:prop.siteIds_length:
+                 ${prop.siteIds[${1}]},
+                 }
+            ]
+        }
+    ]
+}
\ No newline at end of file
diff --git a/platform-logic/restapi-templates/src/main/json/sdwan-port-zte-add.json b/platform-logic/restapi-templates/src/main/json/sdwan-port-zte-add.json
new file mode 100644 (file)
index 0000000..8d93758
--- /dev/null
@@ -0,0 +1,16 @@
+{
+    "ports": [
+        {
+            "portType": ${prop.wan.portType},
+            "portNumber": ${prop.wan.portNumber},
+            "deviceId": ${prop.wan.deviceId},
+            "portSwitch": "layer3-port",
+            "linkInfo": {
+                 "linkType": "Ethernet",
+                 "ethernet": {
+                      "negotiationMode": "auto"
+                 }
+            }
+        }
+    ]
+}
diff --git a/platform-logic/restapi-templates/src/main/json/sdwan-port-zte-del.json b/platform-logic/restapi-templates/src/main/json/sdwan-port-zte-del.json
new file mode 100644 (file)
index 0000000..e801839
--- /dev/null
@@ -0,0 +1,7 @@
+{
+    "ports": [
+        {
+            "id": ${prop.wan.devicePortId},            
+        }
+    ]
+}
diff --git a/platform-logic/restapi-templates/src/main/json/sdwan-site-ha-zte-add.json b/platform-logic/restapi-templates/src/main/json/sdwan-site-ha-zte-add.json
new file mode 100644 (file)
index 0000000..a871f11
--- /dev/null
@@ -0,0 +1,25 @@
+{
+    "bpgAsNum": 65101,
+    "vpnType": "dsvpn",
+    "siteScale":"30",
+    "dsvpnIPpool": ["100.1.0.0/16"],
+    "innerTunnelIPpool": [
+      "101.1.0.0/16"
+    ],
+    "interConnectIPpool": "102.1.0.0/16",
+    "transportNetworks": [
+      {
+        "name": "net001",
+        "routingDomain": "routing001",
+        "description": "string"
+      }
+    ],
+    "routingDomain":[{
+       "name": "routing001",
+       "ipsecEncryption":false
+    }],
+    "ipsecEncryptionParameter": {
+      "encrptionAlgorithm":"AES128",
+      "preSharedKey": "Admin@12134=========================================="
+    }
+}
\ No newline at end of file
diff --git a/platform-logic/restapi-templates/src/main/json/sdwan-site-ha-zte-del.json b/platform-logic/restapi-templates/src/main/json/sdwan-site-ha-zte-del.json
new file mode 100644 (file)
index 0000000..a871f11
--- /dev/null
@@ -0,0 +1,25 @@
+{
+    "bpgAsNum": 65101,
+    "vpnType": "dsvpn",
+    "siteScale":"30",
+    "dsvpnIPpool": ["100.1.0.0/16"],
+    "innerTunnelIPpool": [
+      "101.1.0.0/16"
+    ],
+    "interConnectIPpool": "102.1.0.0/16",
+    "transportNetworks": [
+      {
+        "name": "net001",
+        "routingDomain": "routing001",
+        "description": "string"
+      }
+    ],
+    "routingDomain":[{
+       "name": "routing001",
+       "ipsecEncryption":false
+    }],
+    "ipsecEncryptionParameter": {
+      "encrptionAlgorithm":"AES128",
+      "preSharedKey": "Admin@12134=========================================="
+    }
+}
\ No newline at end of file
diff --git a/platform-logic/restapi-templates/src/main/json/sdwan-site-lan-zte-add.json b/platform-logic/restapi-templates/src/main/json/sdwan-site-lan-zte-add.json
new file mode 100644 (file)
index 0000000..93b68f7
--- /dev/null
@@ -0,0 +1,7 @@
+{
+    "vpns": [
+        {
+            "id": ${prop.vpn-id}
+        }
+    ]
+}
\ No newline at end of file
diff --git a/platform-logic/restapi-templates/src/main/json/sdwan-site-lan-zte-del.json b/platform-logic/restapi-templates/src/main/json/sdwan-site-lan-zte-del.json
new file mode 100644 (file)
index 0000000..93b68f7
--- /dev/null
@@ -0,0 +1,7 @@
+{
+    "vpns": [
+        {
+            "id": ${prop.vpn-id}
+        }
+    ]
+}
\ No newline at end of file
diff --git a/platform-logic/restapi-templates/src/main/json/sdwan-site-wan-zte-add.json b/platform-logic/restapi-templates/src/main/json/sdwan-site-wan-zte-add.json
new file mode 100644 (file)
index 0000000..55e603e
--- /dev/null
@@ -0,0 +1,45 @@
+{
+    "tnps": [
+        {
+            "name": ${prop.wan.name},
+            "siteId": ${prop.wan.siteId},
+            "deviceId": ${prop.wan.deviceId},
+            "portId": ${prop.wan.devicePortId},
+            "inSubInterface": false,
+            "vlanId": "null",            
+            "ipConnection": {
+                "ipv4": {
+                    "publicIP": ${prop.wan.ip-address},
+                    "accessType": "IPoE",
+                    "ipMode": "Static",
+                    "customerAddress": ${prop.wan.ip-address},
+                    "prefixLength": ${prop.wan.prefixLength},
+                    "providerAddress": ${prop.wan.providerIpAddress},
+                                       "peerIp": "null",
+                    "userName": "null",
+                    "userKey": "null"
+                }
+             },
+             "transportNetworkInfo": {
+                 "transportNetworkId": ${prop.wan.transportNetworkId},
+                 "workMode": "active"
+             },
+            "attributes": {
+                "inputBandwidth": ${prop.wan.inputBandwidth},
+                "outputBandwidth": ${prop.wan.outputBandwidth},
+                "mtu": 1500,
+                "TCPmss": 1200
+            },
+                       "ntp": [
+              {
+                "serverIP": "11.11.11.11",
+                "authentication": false,
+                "mode": "MD5",
+                "authKey": "123456",
+                "authId": 123
+              }
+            ],
+            "description": ${prop.wan.description}
+        }
+    ]
+}
diff --git a/platform-logic/restapi-templates/src/main/json/sdwan-site-wan-zte-del.json b/platform-logic/restapi-templates/src/main/json/sdwan-site-wan-zte-del.json
new file mode 100644 (file)
index 0000000..bdd2216
--- /dev/null
@@ -0,0 +1,7 @@
+{
+    "tnps": [
+        {
+            "id": ${prop.wan.wanPortId},            
+        }
+    ]
+}
diff --git a/platform-logic/restapi-templates/src/main/json/sdwan-site-zte-add.json b/platform-logic/restapi-templates/src/main/json/sdwan-site-zte-add.json
new file mode 100644 (file)
index 0000000..1e50e76
--- /dev/null
@@ -0,0 +1,34 @@
+{
+    "sites": [
+        {
+            "id": "",
+            "name": ${prop.site.name},
+            "locations": [
+                {
+                     "name": ${prop.site.location-name},
+                     "address": ${prop.site.location-address},
+                     "postcode": ${prop.site.location-postcode}
+                }
+            ],
+           "devices": [${repeat:prop.site.deviceId_length:
+                  {
+                      "deviceId": ${prop.site.deviceId[${1}]},
+                      "locationName": ${prop.site.location-name},
+                  },
+                }
+           ],
+            "siteType": ${prop.site.type},
+            "role": [${repeat:prop.site.roles_length:
+                       ${prop.site.roles[${1}]},
+                      }
+                    ],               
+            "controlPoints": [${repeat:prop.site.controlpoints_length:
+                                ${prop.site.controlpoints[${1}]},
+                                }
+                             ],            
+            "description": "--------role:dsvpn-hub---------------"
+        }
+    ]
+}
+
+
diff --git a/platform-logic/restapi-templates/src/main/json/sdwan-site-zte-del.json b/platform-logic/restapi-templates/src/main/json/sdwan-site-zte-del.json
new file mode 100644 (file)
index 0000000..daa6a33
--- /dev/null
@@ -0,0 +1,9 @@
+{
+    "sites": [
+        {
+            "id": ${prop.site.siteId}            
+        }
+    ]
+}
+
+
diff --git a/platform-logic/restapi-templates/src/main/json/sdwan-tenant-zte-add.json b/platform-logic/restapi-templates/src/main/json/sdwan-tenant-zte-add.json
new file mode 100644 (file)
index 0000000..ed6161b
--- /dev/null
@@ -0,0 +1,17 @@
+{
+    "routes": [
+        {
+            "id": ${prop.route.id},
+            "vpnId": ${prop.vpnId},
+            "siteId": ${prop.route.siteId},
+            "deviceId": ${prop.route.deviceId}, 
+            "destinationAddressMask": ${prop.route.providerIpAddress},                 
+            "priority": 60,            
+            "nextHopType": "ip-address",
+            "ipAddress": ${prop.route.ipAddress},
+            "track": false,
+            "target": null
+        }
+    ]
+}
+
diff --git a/platform-logic/restapi-templates/src/main/json/sdwan-tenant-zte-del.json b/platform-logic/restapi-templates/src/main/json/sdwan-tenant-zte-del.json
new file mode 100644 (file)
index 0000000..6161b1b
--- /dev/null
@@ -0,0 +1,13 @@
+{
+    "tenantName": ${prop.customer-id},
+    "tenantEmail": ${prop.userEmail},
+    "tenantPhone": "8888888888",
+    "tenantDescription": "This is a test tenant created by ONAP",
+    "tenantAddress": "Road123",
+    "limitAccountNum": 1000,
+    "userAccount": ${prop.userAccount},
+    "userEmail": ${prop.userEmail},
+    "sendInitEmailEnable": "true",
+    "countryCode": "CN",
+    "userPassword": "Test@12345"
+}
\ No newline at end of file