Merge "SDN-C GR-API to RA Interface Enhancement"
authorDan Timoney <dtimoney@att.com>
Fri, 19 Apr 2019 00:24:03 +0000 (00:24 +0000)
committerGerrit Code Review <gerrit@onap.org>
Fri, 19 Apr 2019 00:24:03 +0000 (00:24 +0000)
Former-commit-id: 1d55f197344f21800a990ad97a2b80134e133bab

platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-device-create.json
platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-vpn-create.json
platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-device-create.xml
platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-vpn-create.xml
platform-logic/restapi-templates/pom.xml
platform-logic/restapi-templates/src/main/multipartfile/README.md [new file with mode: 0644]

index f258de4..4760d35 100644 (file)
@@ -1,22 +1,22 @@
 [\r
     {\r
-        "id": "5c12f35e.e1cabc",\r
+        "id": "ad9a9168.e57ff",\r
         "type": "switchNode",\r
         "name": "switch this vnf-id == input vnf-id",\r
         "xml": "<switch test=\"`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`\">    \n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 887.3294982910156,\r
-        "y": 250.16278743743896,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 956.03125,\r
+        "y": 159.13152408599854,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": [\r
             [\r
-                "fc9a82de.84ce"\r
+                "e7246404.3ab3d8"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "b009e5d5.1d5ff8",\r
+        "id": "6ad25904.845b18",\r
         "type": "service-logic",\r
         "name": "GENERIC-RESOURCE-API ${project.version}",\r
         "module": "GENERIC-RESOURCE-API",\r
         "comments": "",\r
         "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}'>",\r
         "outputs": 1,\r
-        "x": 177,\r
-        "y": 143.99999141693115,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 228.7017364501953,\r
+        "y": 186.96871662139893,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": [\r
             [\r
-                "9b496cef.08cf1"\r
+                "f16fce6c.5d5ba"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "9b496cef.08cf1",\r
+        "id": "f16fce6c.5d5ba",\r
         "type": "method",\r
         "name": "sdwan-vf-operation-device-create",\r
         "xml": "<method rpc='sdwan-vf-operation-device-create' mode='sync'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 176,\r
-        "y": 243.99999141693115,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 227.7017364501953,\r
+        "y": 286.9687166213989,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": [\r
             [\r
-                "a4608885.5f82c8"\r
+                "c112bcf.84b4e4"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "7da866ae.544bb8",\r
+        "id": "1a36f303.fc1c1d",\r
         "type": "dgstart",\r
         "name": "DGSTART",\r
         "outputs": 1,\r
-        "x": 98.50000381469727,\r
-        "y": 39,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 114.20173835754395,\r
+        "y": 79.96872520446777,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": [\r
             [\r
-                "b009e5d5.1d5ff8"\r
+                "6ad25904.845b18"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "a4608885.5f82c8",\r
+        "id": "c112bcf.84b4e4",\r
         "type": "block",\r
         "name": "block : atomic",\r
         "xml": "<block atomic=\"true\">\n",\r
         "atomic": "false",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 334.99998474121094,\r
-        "y": 360,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 386.70172119140625,\r
+        "y": 402.9687252044678,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": [\r
             [\r
-                "4e77e130.304fb",\r
-                "802c77ca.22e778",\r
-                "9922275a.527928",\r
-                "e01d2f82.7429f",\r
-                "a8f9e83.8a6e918",\r
-                "c8a186f7.659098",\r
-                "b9b958fd.141f08",\r
-                "f27c9cac.ebc18",\r
-                "35a34bb1.948374",\r
-                "178a7bac.307b74",\r
-                "7fbeb541.aa905c",\r
-                "4845313f.7a00d",\r
-                "e8cf2ce.61834d",\r
-                "d9a88b51.5c3ff8"\r
+                "abed0b7b.e9c438",\r
+                "724392ca.bd7b5c",\r
+                "2b72757.931558a",\r
+                "a49a2243.bbcb2",\r
+                "c992605b.552a5",\r
+                "40876e67.4cc8d",\r
+                "86ee3fd8.45a8b",\r
+                "414cae1d.205f6",\r
+                "7ba39512.c516ac",\r
+                "3a2a0968.648d36",\r
+                "7024b9ac.3160d8",\r
+                "fdab20c0.e8295",\r
+                "d3c28e8a.2aecc",\r
+                "b7d7095a.45e048"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "4e77e130.304fb",\r
+        "id": "abed0b7b.e9c438",\r
         "type": "for",\r
         "name": "for each vnf",\r
         "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 635.3294067382812,\r
-        "y": 251.49612426757812,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 704.0311584472656,\r
+        "y": 160.4648609161377,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": [\r
             [\r
-                "5c12f35e.e1cabc"\r
+                "ad9a9168.e57ff"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "ddad9e6f.97581",\r
+        "id": "4ed9f1d2.fc2b7",\r
         "type": "set",\r
         "name": "set vnf-index",\r
         "xml": "<set>\n<parameter name='vnf-index' value='`$idx`' />\n",\r
         "comments": "",\r
-        "x": 1258.9959869384766,\r
-        "y": 252.1627902984619,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 1327.697738647461,\r
+        "y": 161.13152694702148,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": []\r
     },\r
     {\r
-        "id": "fc9a82de.84ce",\r
+        "id": "e7246404.3ab3d8",\r
         "type": "outcomeTrue",\r
         "name": "true",\r
         "xml": "<outcome value='true'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1105.6628150939941,\r
-        "y": 252.16276931762695,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 1174.3645668029785,\r
+        "y": 161.13150596618652,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": [\r
             [\r
-                "ddad9e6f.97581"\r
+                "4ed9f1d2.fc2b7"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "e01d2f82.7429f",\r
+        "id": "2b72757.931558a",\r
         "type": "for",\r
         "name": "for loop idx - VF input parameters",\r
         "xml": "<for index=\"idx\" start=\"0\" end=\"`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`\">\n\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 709.2501907348633,\r
-        "y": 473.66665744781494,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 784.9518966674805,\r
+        "y": 561.6354055404663,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": [\r
             [\r
-                "7ea0d8c4.d056e8"\r
+                "1cf539f3.af1b96"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "7ea0d8c4.d056e8",\r
+        "id": "1cf539f3.af1b96",\r
         "type": "block",\r
         "name": "block",\r
         "xml": "<block>\n",\r
         "atomic": "false",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 924.0285339355469,\r
-        "y": 471.22224140167236,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 999.7302398681641,\r
+        "y": 559.1909894943237,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": [\r
             [\r
-                "c6b87ab0.44cce8",\r
-                "f6199a92.b6bb08"\r
+                "1a9f780a.a03398",\r
+                "dcb3e18.352e72"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "c6b87ab0.44cce8",\r
+        "id": "1a9f780a.a03398",\r
         "type": "execute",\r
         "name": "execute split parameterName",\r
         "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n<parameter name=\"original_string\" value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$idx].name`'/>\n<parameter name=\"regex\" value=\"_\"/>\n<parameter name=\"ctx_memory_result_key\" value=\"param-prefix\"/>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1120.2847366333008,\r
-        "y": 448.97037982940674,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 1195.986442565918,\r
+        "y": 536.9391279220581,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": [\r
             []\r
         ]\r
     },\r
     {\r
-        "id": "f6199a92.b6bb08",\r
+        "id": "dcb3e18.352e72",\r
         "type": "set",\r
         "name": "set parameterName",\r
         "xml": "<set>\n<parameter name=\"`vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$idx].name`\" value='`$param-prefix[$param-prefix_length -1]`'/>\n",\r
         "comments": "",\r
-        "x": 1089.7291641235352,\r
-        "y": 485.97049617767334,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 1165.4308700561523,\r
+        "y": 573.9392442703247,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": []\r
     },\r
     {\r
-        "id": "92e456fa.39e618",\r
-        "type": "comment",\r
-        "name": "Take the parameter names by removing prefix",\r
-        "info": "",\r
-        "comments": "",\r
-        "x": 1093.2503929138184,\r
-        "y": 408.3333258628845,\r
-        "z": "67d8f5f.109b30c",\r
-        "wires": []\r
-    },\r
-    {\r
-        "id": "802c77ca.22e778",\r
+        "id": "724392ca.bd7b5c",\r
         "type": "switchNode",\r
         "name": "switch vnf_length",\r
         "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 649.75,\r
-        "y": 206.99999332427979,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 718.4517517089844,\r
+        "y": 115.96872997283936,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": [\r
             [\r
-                "b9775757.c586e8"\r
+                "b66cc394.12346"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "b9775757.c586e8",\r
+        "id": "b66cc394.12346",\r
         "type": "other",\r
         "name": "NULL",\r
         "xml": "<outcome value=''>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 836.4166793823242,\r
-        "y": 206.33329105377197,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 905.1184310913086,\r
+        "y": 115.30202770233154,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": [\r
             [\r
-                "8ca0a76c.6a9638"\r
+                "c5ad3c03.3e718"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "8ca0a76c.6a9638",\r
+        "id": "c5ad3c03.3e718",\r
         "type": "returnFailure",\r
         "name": "return failure",\r
         "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=\"There are no VNFs in MD-SAL\" />\n",\r
         "comments": "",\r
-        "x": 1018.0833053588867,\r
-        "y": 206.33329105377197,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 1086.785057067871,\r
+        "y": 115.30202770233154,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": []\r
     },\r
     {\r
-        "id": "9922275a.527928",\r
-        "type": "switchNode",\r
-        "name": "switch vf-modules.vf-module_length",\r
-        "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>\n",\r
+        "id": "40876e67.4cc8d",\r
+        "type": "set",\r
+        "name": "copy input data to service data",\r
+        "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-id' value='`$prop.vf-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.sdnc-request-header.' value='`$vf-module-topology-operation-input.sdnc-request-header.`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.request-information.' value='`$vf-module-topology-operation-input.request-information.`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.service-information.' value='`$vf-module-topology-operation-input.service-information.`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vnf-information.' value='`$vf-module-topology-operation-input.vnf-information.`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-information.' value='`$vf-module-topology-operation-input.vf-module-information.`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-request-input.' value='`$vf-module-topology-operation-input.vf-module-request-input.`' />\n\n\n",\r
+        "comments": "",\r
+        "x": 769.5548782348633,\r
+        "y": 728.4649872779846,\r
+        "z": "46bf2b6e.2c0e64",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "a49a2243.bbcb2",\r
+        "type": "set",\r
+        "name": "set vf-module-request-input.",\r
+        "xml": "<set>\n<parameter name='vf-module-request-input.' value='`$vf-module-topology-operation-input.vf-module-request-input.`' />\n",\r
+        "comments": "",\r
+        "x": 775.8880348205566,\r
+        "y": 624.1229696273804,\r
+        "z": "46bf2b6e.2c0e64",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "c992605b.552a5",\r
+        "type": "call",\r
+        "name": "call sdwan-get-vf-module-device-param",\r
+        "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-get-vf-module-device-param' mode='sync' >\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 801.8884124755859,\r
+        "y": 680.1232032775879,\r
+        "z": "46bf2b6e.2c0e64",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "86ee3fd8.45a8b",\r
+        "type": "set",\r
+        "name": "set vf-module-object-path",\r
+        "xml": "<set>\n<parameter name='vf-module-id' value='`$prop.vf-id`'/>    \n<parameter name='vf-module-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vf-modules/vf-module/'\n + $prop.vf-id\n + '/vf-module-data/vf-module-topology/'`\"/>\n<parameter name='vnf-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vnf-topology/'`\"/>\n<parameter name='service-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n",\r
+        "comments": "",\r
+        "x": 764.7017707824707,\r
+        "y": 778.9688324928284,\r
+        "z": "46bf2b6e.2c0e64",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "414cae1d.205f6",\r
+        "type": "set",\r
+        "name": "set vf-module-level-oper-status",\r
+        "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-level-oper-status.order-status'  value='Created' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'  value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-level-oper-status.last-action'  value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />\n",\r
+        "comments": "",\r
+        "x": 772.2018737792969,\r
+        "y": 826.9687967300415,\r
+        "z": "46bf2b6e.2c0e64",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "c8a9b81e.4dea68",\r
+        "type": "save",\r
+        "name": "save sdwan vpn resource in AAI",\r
+        "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='device' \n      key='device.device-id = $prop.vf-id' >\n<parameter name='device-id' value='`$prop.vf-id`' />\n<parameter name='esn' value='`$prop.device.esn`' />\n<parameter name='device-name' value='`$prop.device.name`' />\n<parameter name='description' value='`$prop.device.description`' />\n<parameter name='vendor' value='`$prop.device.vendor`' />\n<parameter name='class' value='`$prop.device.class`' />\n<parameter name='type' value='`$prop.device.deviceModel`' />\n<parameter name='version' value='`$prop.device.version`' />\n<parameter name='system-ip' value='`$prop.device.systemIp`' />\n<parameter name='operational-status' value='Created' />\n<!--parameter name='model-customization-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />\n<parameter name='model-invariant-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />\n<parameter name='model-version-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' /-->\n<parameter name='selflink' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $vf-module-topology-operation-input.service-information.service-instance-id  + '/service-data/vnfs/vnf/'  + $service-data.vnfs.vnf[$vnf-index].vnf-id  + '/vnf-data/vf-modules/vf-module/' + $prop.vf-id + '/vf-module-data/'` \" />\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1206.701789855957,\r
+        "y": 852.4687442779541,\r
+        "z": "46bf2b6e.2c0e64",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "3a2a0968.648d36",\r
+        "type": "save",\r
+        "name": "save service relationship in AAI",\r
+        "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='generic-vnf:relationship-list' \n      key='generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id' \n      force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"device\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/devices/device/' + $prop.vf-id`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"device.device-id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.vf-id`\" />\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 775.7016677856445,\r
+        "y": 920.4687957763672,\r
+        "z": "46bf2b6e.2c0e64",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "7ba39512.c516ac",\r
+        "type": "returnSuccess",\r
+        "name": "return success",\r
+        "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",\r
+        "comments": "",\r
+        "x": 724.4241981506348,\r
+        "y": 966.6426386833191,\r
+        "z": "46bf2b6e.2c0e64",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "faa86376.49175",\r
+        "type": "execute",\r
+        "name": "execute generate-vf-id",\r
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\n<parameter name=\"ctx-destination\" value=\"prop.vf-id\"/>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 690.9999895095825,\r
-        "y": 326.9999942779541,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 1251.8685150146484,\r
+        "y": 240.30206966400146,\r
+        "z": "46bf2b6e.2c0e64",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "491e4f90.e2d44",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic=\"true\">",\r
+        "atomic": "true",\r
+        "outputs": 1,\r
+        "x": 1004.8680419921875,\r
+        "y": 254.95347213745117,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": [\r
             [\r
-                "c5166da1.64b87",\r
-                "f58b3753.891bc8"\r
+                "faa86376.49175",\r
+                "1889b968.9cafa7",\r
+                "c8eb51dd.8bc9f"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "c5166da1.64b87",\r
+        "id": "74ee118f.3bdb3",\r
+        "type": "set",\r
+        "name": "set prop.vf-id",\r
+        "xml": "<set>\n<parameter name='prop.vf-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\n",\r
+        "comments": "",\r
+        "x": 1210.3999099731445,\r
+        "y": 457.985107421875,\r
+        "z": "46bf2b6e.2c0e64",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "dfbd61c4.ba851",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic=\"true\">",\r
+        "atomic": "true",\r
+        "outputs": 1,\r
+        "x": 1004.3995361328125,\r
+        "y": 410.9848394393921,\r
+        "z": "46bf2b6e.2c0e64",\r
+        "wires": [\r
+            [\r
+                "74ee118f.3bdb3",\r
+                "1889b968.9cafa7",\r
+                "f58396e4.0282e8"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "1889b968.9cafa7",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic=\"true\">",\r
+        "atomic": "true",\r
+        "outputs": 1,\r
+        "x": 1239.8996353149414,\r
+        "y": 334.98486328125,\r
+        "z": "46bf2b6e.2c0e64",\r
+        "wires": [\r
+            [\r
+                "ecce0898.ef26d8",\r
+                "e6c1d3e3.fb47b"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "e28abe4b.99802",\r
         "type": "other",\r
-        "name": "Null",\r
+        "name": "NULL",\r
         "xml": "<outcome value=''>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 922,\r
-        "y": 302.99999141693115,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 1701.6139278411865,\r
+        "y": 254.12758922576904,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": [\r
             [\r
-                "4d85b0fa.e45f4"\r
+                "4d6a716f.84ac8"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "f58b3753.891bc8",\r
+        "id": "4d6a716f.84ac8",\r
+        "type": "set",\r
+        "name": "set vf-index=0",\r
+        "xml": "<set>\n<parameter name='vf-index' value='0' />\n",\r
+        "comments": "",\r
+        "x": 1849.8995761871338,\r
+        "y": 251.12764358520508,\r
+        "z": "46bf2b6e.2c0e64",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "ad9a94b.6789668",\r
         "type": "other",\r
         "name": "other",\r
         "xml": "<outcome value='Other'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 922,\r
-        "y": 342.99999141693115,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 1705.0424251556396,\r
+        "y": 299.41338062286377,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": [\r
             [\r
-                "3cc5230a.5b2c3c"\r
+                "aa7a0bdb.e96638"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "4d85b0fa.e45f4",\r
+        "id": "aa7a0bdb.e96638",\r
         "type": "set",\r
-        "name": "set vf-index",\r
-        "xml": "<set>\n<parameter name='vf-index' value='0' />\n",\r
+        "name": "set vf-index = vf_length",\r
+        "xml": "<set>\n<parameter name='vf-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />\n",\r
         "comments": "",\r
-        "x": 1064.5,\r
-        "y": 302.99999141693115,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 1888.90016746521,\r
+        "y": 299.6991491317749,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": []\r
     },\r
     {\r
-        "id": "3cc5230a.5b2c3c",\r
-        "type": "block",\r
-        "name": "block",\r
-        "xml": "<block>\n",\r
-        "atomic": "false",\r
+        "id": "ecce0898.ef26d8",\r
+        "type": "set",\r
+        "name": "set new vF_length",\r
+        "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-index + 1`' />\n",\r
+        "comments": "",\r
+        "x": 1417.8996391296387,\r
+        "y": 363.984827041626,\r
+        "z": "46bf2b6e.2c0e64",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "b86e63fd.fc195",\r
+        "type": "outcomeTrue",\r
+        "name": "true",\r
+        "xml": "<outcome value='true'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1066.3570442199707,\r
-        "y": 342.93650341033936,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 1654.471076965332,\r
+        "y": 394.1277618408203,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": [\r
             [\r
-                "1560cc74.e1f714",\r
-                "105e52c3.2d94dd"\r
+                "5a9cb21d.1f494c"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "105e52c3.2d94dd",\r
-        "type": "set",\r
-        "name": "set vf-index",\r
-        "xml": "<set>\n<parameter name='vf-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />\n\n\n",\r
+        "id": "5a9cb21d.1f494c",\r
+        "type": "returnFailure",\r
+        "name": "return failure",\r
+        "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id\n      + ' already exists, and has order status ' + $service-data.vnfs.vnf[$idx].vnf-data.vnf-level-oper-status.order-status`\" />\n",\r
         "comments": "",\r
-        "x": 1219.055519104004,\r
-        "y": 312.5556021030061,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 1793.0424346923828,\r
+        "y": 394.12772274017334,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": []\r
     },\r
     {\r
-        "id": "1560cc74.e1f714",\r
-        "type": "for",\r
-        "name": "for each existing vf-index",\r
-        "xml": "<for index='idx' start='0' end='`$vf-index`' >\n",\r
+        "id": "2f10259c.95f9fa",\r
+        "type": "other",\r
+        "name": "other",\r
+        "xml": "<outcome value='Other'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 853.3991165161133,\r
+        "y": 378.9847173690796,\r
+        "z": "46bf2b6e.2c0e64",\r
+        "wires": [\r
+            [\r
+                "dfbd61c4.ba851"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "c5868d60.4eb9c",\r
+        "type": "outcome",\r
+        "name": "NULL",\r
+        "xml": "<outcome value=''>",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1275.4840240478516,\r
-        "y": 365.7777318954468,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 856.8679389953613,\r
+        "y": 318.9534797668457,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": [\r
             [\r
-                "e9396ecf.61386"\r
+                "491e4f90.e2d44"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "9bfcdd3d.e8854",\r
+        "id": "585f0966.3b4ab8",\r
         "type": "comment",\r
-        "name": "make sure this network doesn't exist already",\r
+        "name": "if SO provide vf-id use that else create new",\r
         "info": "",\r
         "comments": "",\r
-        "x": 1499.1347541809082,\r
-        "y": 324.0317893028259,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 1554.3991317749023,\r
+        "y": 214.98472118377686,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": []\r
     },\r
     {\r
-        "id": "e9396ecf.61386",\r
+        "id": "fdab20c0.e8295",\r
         "type": "switchNode",\r
-        "name": "switch vf-module-id found",\r
-        "xml": "<switch test=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id == $vf-module-topology-operation-input.vf-module-information.vf-module-id`\">\n",\r
+        "name": "switch vf-id",\r
+        "xml": "<switch test=\"`$vf-module-topology-operation-input.vf-module-information.vf-module-id`\">\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1550.7697448730469,\r
-        "y": 365.34923458099365,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 715.8679351806641,\r
+        "y": 343.95348834991455,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": [\r
             [\r
-                "7c76b41d.ea06ac"\r
+                "c5868d60.4eb9c",\r
+                "2f10259c.95f9fa"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "7c76b41d.ea06ac",\r
-        "type": "outcomeTrue",\r
-        "name": "true",\r
-        "xml": "<outcome value='true'>\n",\r
+        "id": "7024b9ac.3160d8",\r
+        "type": "switchNode",\r
+        "name": "switch vnf-index",\r
+        "xml": "<switch test='`$vnf-index`'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1451.499942779541,\r
-        "y": 423.9206657409668,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 715.7330017089844,\r
+        "y": 208.99999523162842,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": [\r
             [\r
-                "91b09a0a.6c6428"\r
+                "a1384c59.cdef8"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "91b09a0a.6c6428",\r
-        "type": "returnFailure",\r
-        "name": "return failure",\r
-        "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id already found in service-data\" />\n",\r
+        "id": "a1384c59.cdef8",\r
+        "type": "other",\r
+        "name": "Null",\r
+        "xml": "<outcome value=''>\n",\r
         "comments": "",\r
-        "x": 1599.2500457763672,\r
-        "y": 423.7778578097932,\r
-        "z": "67d8f5f.109b30c",\r
-        "wires": []\r
+        "outputs": 1,\r
+        "x": 877.7330474853516,\r
+        "y": 207.9999942779541,\r
+        "z": "46bf2b6e.2c0e64",\r
+        "wires": [\r
+            [\r
+                "b60890ce.7212a"\r
+            ]\r
+        ]\r
     },\r
     {\r
-        "id": "35a34bb1.948374",\r
-        "type": "set",\r
-        "name": "copy input data to service data",\r
-        "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-id' value='`$prop.device-vf-index`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.sdnc-request-header.' value='`$vf-module-topology-operation-input.sdnc-request-header.`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.request-information.' value='`$vf-module-topology-operation-input.request-information.`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.service-information.' value='`$vf-module-topology-operation-input.service-information.`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vnf-information.' value='`$vf-module-topology-operation-input.vnf-information.`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-information.' value='`$vf-module-topology-operation-input.vf-module-information.`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-request-input.' value='`$vf-module-topology-operation-input.vf-module-request-input.`' />\n\n<!--parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-topology.' value='`$tmp.vf-module-topology.`' /-->\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-index+1`' />\n\n",\r
+        "id": "b60890ce.7212a",\r
+        "type": "returnFailure",\r
+        "name": "return failure",\r
+        "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"vnf id not found in service-data\" />\n",\r
         "comments": "",\r
-        "x": 702.8531951904297,\r
-        "y": 753.496214389801,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 1026.983139038086,\r
+        "y": 205.7778720855713,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": []\r
     },\r
     {\r
-        "id": "f27c9cac.ebc18",\r
-        "type": "execute",\r
-        "name": "execute generate-vf-module-index",\r
-        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\n<parameter name=\"ctx-destination\" value=\"prop.device-vf-index\"/>\n",\r
+        "id": "e6c1d3e3.fb47b",\r
+        "type": "switchNode",\r
+        "name": "switch vf-modules.vf-module_length",\r
+        "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 711.1866912841797,\r
-        "y": 700.162947177887,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 1479.7329788208008,\r
+        "y": 280.0000104904175,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": [\r
-            []\r
+            [\r
+                "e28abe4b.99802",\r
+                "ad9a94b.6789668"\r
+            ]\r
         ]\r
     },\r
     {\r
-        "id": "b9b958fd.141f08",\r
-        "type": "set",\r
-        "name": "set new vf-module_length",\r
-        "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-index + 1`' />",\r
-        "comments": "",\r
-        "x": 685.1866683959961,\r
-        "y": 646.1628408432007,\r
-        "z": "67d8f5f.109b30c",\r
-        "wires": []\r
-    },\r
-    {\r
-        "id": "a8f9e83.8a6e918",\r
-        "type": "set",\r
-        "name": "set vf-module-request-input.",\r
-        "xml": "<set>\n<parameter name='vf-module-request-input.' value='`$vf-module-topology-operation-input.vf-module-request-input.`' />\n",\r
+        "id": "62be0465.8c201c",\r
+        "type": "switchNode",\r
+        "name": "switch vf-module-id found",\r
+        "xml": "<switch test=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id == $vf-module-topology-operation-input.vf-module-information.vf-module-id`\">\n",\r
         "comments": "",\r
-        "x": 700.1863288879395,\r
-        "y": 536.154221534729,\r
-        "z": "67d8f5f.109b30c",\r
-        "wires": []\r
+        "outputs": 1,\r
+        "x": 1471.7329788208008,\r
+        "y": 402.49998474121094,\r
+        "z": "46bf2b6e.2c0e64",\r
+        "wires": [\r
+            [\r
+                "b86e63fd.fc195"\r
+            ]\r
+        ]\r
     },\r
     {\r
-        "id": "c8a186f7.659098",\r
-        "type": "call",\r
-        "name": "call sdwan-get-vf-module-device-param",\r
-        "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-get-vf-module-device-param' mode='sync' >\n",\r
+        "id": "f58396e4.0282e8",\r
+        "type": "for",\r
+        "name": "for each existing vf-index",\r
+        "xml": "<for index='idx' start='0' end='`$vf-index`' >\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 726.1867065429688,\r
-        "y": 592.1544551849365,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 1235.7329788208008,\r
+        "y": 406.49998474121094,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": [\r
-            []\r
+            [\r
+                "62be0465.8c201c"\r
+            ]\r
         ]\r
     },\r
     {\r
-        "id": "178a7bac.307b74",\r
+        "id": "d3c28e8a.2aecc",\r
         "type": "set",\r
-        "name": "set vf-module-object-path",\r
-        "xml": "<set>\n<parameter name='vf-module-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vf-modules/vf-module/'\n + $prop.device-vf-index\n + '/vf-module-data/vf-module-topology/'`\"/>\n<parameter name='vnf-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vnf-topology/'`\"/>\n<parameter name='service-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n",\r
+        "name": "set prop.sdncCreate=false",\r
+        "xml": "<set>\n<parameter name='prop.sdncCreate' value='false' />\n",\r
         "comments": "",\r
-        "x": 698.0000877380371,\r
-        "y": 804.0000596046448,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 746.2329788208008,\r
+        "y": 71.99999809265137,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": []\r
     },\r
     {\r
-        "id": "7fbeb541.aa905c",\r
+        "id": "c8eb51dd.8bc9f",\r
         "type": "set",\r
-        "name": "set vf-module-level-oper-status",\r
-        "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-level-oper-status.order-status'  value='Created' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'  value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-level-oper-status.last-action'  value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />\n",\r
+        "name": "set prop.sdncCreate=true",\r
+        "xml": "<set>\n<parameter name='prop.sdncCreate' value='true' />\n",\r
         "comments": "",\r
-        "x": 705.5001907348633,\r
-        "y": 852.0000238418579,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 1265.2329864501953,\r
+        "y": 202.99999713897705,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": []\r
     },\r
     {\r
-        "id": "e8cf2ce.61834d",\r
-        "type": "save",\r
-        "name": "save sdwan vpn resource in AAI",\r
-        "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='device' \n      key='device.device-id = $prop.device-vf-index' >\n<parameter name='device-id' value='`$prop.device-vf-index`' />\n<parameter name='esn' value='`$prop.device.esn`' />\n<parameter name='device-name' value='`$prop.device.name`' />\n<parameter name='description' value='`$prop.device.description`' />\n<parameter name='vendor' value='`$prop.device.vendor`' />\n<parameter name='class' value='`$prop.device.class`' />\n<parameter name='type' value='`$prop.device.deviceModel`' />\n<parameter name='version' value='`$prop.device.version`' />\n<parameter name='system-ip' value='`$prop.device.systemIp`' />\n<parameter name='operational-status' value='Created' />\n<parameter name='model-customization-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />\n<parameter name='model-invariant-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />\n<parameter name='model-version-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />\n<parameter name='selflink' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $vf-module-topology-operation-input.service-information.service-instance-id  + '/service-data/vnfs/vnf/'  + $service-data.vnfs.vnf[$vnf-index].vnf-id  + '/vnf-data/vf-modules/vf-module/' + $prop.device-vf-index + '/vf-module-data/'` \" />\n",\r
+        "id": "b7d7095a.45e048",\r
+        "type": "switchNode",\r
+        "name": "switch prop.sdncCreate",\r
+        "xml": "<switch test='`$prop.sdncCreate`'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 713.0001373291016,\r
-        "y": 910.4999666213989,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 754.2330436706543,\r
+        "y": 876.0000257492065,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": [\r
-            []\r
+            [\r
+                "bb597028.866e9",\r
+                "18aecad0.0cad25"\r
+            ]\r
         ]\r
     },\r
     {\r
-        "id": "d9a88b51.5c3ff8",\r
-        "type": "save",\r
-        "name": "save service relationship in AAI",\r
-        "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='generic-vnf:relationship-list' \n      key='generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id' \n      force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"device\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/devices/device/' + $prop.device-vf-index`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"device.device-id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.device-vf-index`\" />\n\n",\r
+        "id": "18aecad0.0cad25",\r
+        "type": "outcomeFalse",\r
+        "name": "false",\r
+        "xml": "<outcome value='false'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 708.9999847412109,\r
-        "y": 945.5000228881836,\r
-        "z": "67d8f5f.109b30c",\r
+        "x": 969.2330417633057,\r
+        "y": 887.0000257492065,\r
+        "z": "46bf2b6e.2c0e64",\r
         "wires": [\r
-            []\r
+            [\r
+                "8ea3c05b.19b31"\r
+            ]\r
         ]\r
     },\r
     {\r
-        "id": "4845313f.7a00d",\r
-        "type": "returnSuccess",\r
-        "name": "return success",\r
-        "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",\r
+        "id": "bb597028.866e9",\r
+        "type": "outcomeTrue",\r
+        "name": "true",\r
+        "xml": "<outcome value='true'>\n",\r
         "comments": "",\r
-        "x": 657.7225151062012,\r
-        "y": 991.6738657951355,\r
-        "z": "67d8f5f.109b30c",\r
-        "wires": []\r
+        "outputs": 1,\r
+        "x": 972.2330417633057,\r
+        "y": 848.9999942779541,\r
+        "z": "46bf2b6e.2c0e64",\r
+        "wires": [\r
+            [\r
+                "c8a9b81e.4dea68"\r
+            ]\r
+        ]\r
     },\r
     {\r
-        "id": "b5bea2af.4d20d",\r
-        "type": "comment",\r
-        "name": "TODO: if SO passes vnf-id, need to update prop.sdncCreate as true",\r
-        "info": "if SO passes vnf-id, need to update prop.sdncCreate as true",\r
+        "id": "8ea3c05b.19b31",\r
+        "type": "save",\r
+        "name": "update sdwan vpn resource in AAI",\r
+        "xml": "<update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='device' \n      key='device.device-id = $prop.vf-id' >\n<parameter name='device-id' value='`$prop.vf-id`' />\n<parameter name='esn' value='`$prop.device.esn`' />\n<parameter name='device-name' value='`$prop.device.name`' />\n<parameter name='description' value='`$prop.device.description`' />\n<parameter name='vendor' value='`$prop.device.vendor`' />\n<parameter name='class' value='`$prop.device.class`' />\n<parameter name='type' value='`$prop.device.deviceModel`' />\n<parameter name='version' value='`$prop.device.version`' />\n<parameter name='system-ip' value='`$prop.device.systemIp`' />\n<parameter name='operational-status' value='Created' />\n<parameter name='model-customization-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />\n<parameter name='model-invariant-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />\n<parameter name='model-version-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />\n<parameter name='selflink' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $vf-module-topology-operation-input.service-information.service-instance-id  + '/service-data/vnfs/vnf/'  + $service-data.vnfs.vnf[$vnf-index].vnf-id  + '/vnf-data/vf-modules/vf-module/' + $prop.vf-id + '/vf-module-data/'` \" />\n",\r
         "comments": "",\r
-        "x": 806.6974792480469,\r
-        "y": 141.0160083770752,\r
-        "z": "67d8f5f.109b30c",\r
-        "wires": []\r
+        "outputs": 1,\r
+        "x": 1203.2329864501953,\r
+        "y": 892.999997138977,\r
+        "z": "46bf2b6e.2c0e64",\r
+        "wires": [\r
+            []\r
+        ]\r
     }\r
 ]
\ No newline at end of file
index dd6f321..475c093 100644 (file)
@@ -1,37 +1,37 @@
 [\r
     {\r
-        "id": "2de211e6.98e23e",\r
+        "id": "2464f2e7.0e2fce",\r
         "type": "block",\r
         "name": "block : atomic",\r
         "xml": "<block atomic=\"true\">\n",\r
         "atomic": "false",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 468,\r
-        "y": 381.0000009536743,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 450.00390625,\r
+        "y": 347.0000014305115,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "6436367.bae22c8",\r
-                "1f79f37c.52109d",\r
-                "86c4e83c.6dd4c8",\r
-                "e7ab9a67.b605f8",\r
-                "1d935a3c.53bb66",\r
-                "9465c248.bcdbd",\r
-                "944e3f22.30053",\r
-                "240305a4.5a5a9a",\r
-                "5d2253aa.4bfbec",\r
-                "b6ddeb01.d7f708",\r
-                "83d0d62b.725028",\r
-                "8a6622c.9c3e9e",\r
-                "d3e9377a.b7b628",\r
-                "166cfcae.a53de3",\r
-                "4cde94b6.d8700c"\r
+                "32c4b65c.2d59aa",\r
+                "5509b148.13914",\r
+                "aad7e68e.3b6ca8",\r
+                "94574a55.b19c88",\r
+                "7de1d3e.65c652c",\r
+                "7b54ca79.4bc724",\r
+                "e23c49d7.715338",\r
+                "a50b2df2.ad39e",\r
+                "e9af352a.620918",\r
+                "bbeb53a3.c2576",\r
+                "37a48c20.31bdf4",\r
+                "c012bd48.a280b",\r
+                "3e34e572.c1fb4a",\r
+                "83fb72db.90602",\r
+                "370a2393.20ff3c"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "489fcd29.cfaa34",\r
+        "id": "4af2ac42.490d34",\r
         "type": "service-logic",\r
         "name": "GENERIC-RESOURCE-API ${project.version}",\r
         "module": "GENERIC-RESOURCE-API",\r
         "comments": "",\r
         "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}'>",\r
         "outputs": 1,\r
-        "x": 310.00001525878906,\r
-        "y": 164.99999237060547,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 292.00392150878906,\r
+        "y": 130.99999284744263,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "105708eb.457607"\r
+                "5b6c766c.98d2a8"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "105708eb.457607",\r
+        "id": "5b6c766c.98d2a8",\r
         "type": "method",\r
         "name": "sdwan-vf-operation-vpn-create",\r
         "xml": "<method rpc='sdwan-vf-operation-vpn-create' mode='sync'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 309.00001525878906,\r
-        "y": 264.99999237060547,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 291.00392150878906,\r
+        "y": 230.99999284744263,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "2de211e6.98e23e"\r
+                "2464f2e7.0e2fce"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "a574a3fb.d3201",\r
+        "id": "4418c0ab.c80bf",\r
         "type": "dgstart",\r
         "name": "DGSTART",\r
         "outputs": 1,\r
-        "x": 139.50001525878906,\r
-        "y": 76,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 121.50392150878906,\r
+        "y": 42.00000047683716,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "489fcd29.cfaa34"\r
+                "4af2ac42.490d34"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "6436367.bae22c8",\r
+        "id": "32c4b65c.2d59aa",\r
         "type": "for",\r
         "name": "for each vnf",\r
         "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 768.3294219970703,\r
-        "y": 272.49612522125244,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 750.3333282470703,\r
+        "y": 238.4961256980896,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "a118e404.bdd118"\r
+                "3161e290.49fc4e"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "a118e404.bdd118",\r
+        "id": "3161e290.49fc4e",\r
         "type": "switchNode",\r
         "name": "switch this vnf-id == input vnf-id",\r
         "xml": "<switch test=\"`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`\">    \n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1020.3295135498047,\r
-        "y": 271.1627883911133,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1002.3334197998047,\r
+        "y": 237.16278886795044,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "40e93eeb.bac38"\r
+                "5b45671f.cd82a8"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "948c1668.1af8e8",\r
+        "id": "e5b08bcc.460cf8",\r
         "type": "set",\r
         "name": "set vnf-index",\r
         "xml": "<set>\n<parameter name='vnf-index' value='`$idx`' />\n\n",\r
         "comments": "",\r
-        "x": 1391.9960021972656,\r
-        "y": 273.16279125213623,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1373.9999084472656,\r
+        "y": 239.1627917289734,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": []\r
     },\r
     {\r
-        "id": "40e93eeb.bac38",\r
+        "id": "5b45671f.cd82a8",\r
         "type": "outcomeTrue",\r
         "name": "true",\r
         "xml": "<outcome value='true'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1238.6628303527832,\r
-        "y": 273.16277027130127,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1220.6667366027832,\r
+        "y": 239.16277074813843,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "948c1668.1af8e8"\r
+                "e5b08bcc.460cf8"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "e7ab9a67.b605f8",\r
+        "id": "94574a55.b19c88",\r
         "type": "for",\r
         "name": "for loop idx - VF input parameters",\r
         "xml": "<for index=\"idx\" start=\"0\" end=\"`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`\">\n\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 842.2502059936523,\r
-        "y": 494.66665840148926,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 824.2541122436523,\r
+        "y": 460.6666588783264,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "62290f8b.75c82"\r
+                "213647dd.26e428"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "62290f8b.75c82",\r
+        "id": "213647dd.26e428",\r
         "type": "block",\r
         "name": "block",\r
         "xml": "<block>\n",\r
         "atomic": "false",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1057.028549194336,\r
-        "y": 492.2222423553467,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1039.032455444336,\r
+        "y": 458.22224283218384,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "59b05bb9.0b68b4",\r
-                "72944c92.a776a4"\r
+                "501e761.bc5eb88",\r
+                "76a61aa5.aca9e4"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "59b05bb9.0b68b4",\r
+        "id": "501e761.bc5eb88",\r
         "type": "execute",\r
         "name": "execute split parameterName",\r
         "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n<parameter name=\"original_string\" value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$idx].name`'/>\n<parameter name=\"regex\" value=\"_\"/>\n<parameter name=\"ctx_memory_result_key\" value=\"param-prefix\"/>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1253.2847518920898,\r
-        "y": 469.97038078308105,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1235.2886581420898,\r
+        "y": 435.9703812599182,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             []\r
         ]\r
     },\r
     {\r
-        "id": "72944c92.a776a4",\r
+        "id": "76a61aa5.aca9e4",\r
         "type": "set",\r
         "name": "set parameterName",\r
         "xml": "<set>\n<parameter name=\"`vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$idx].name`\" value='`$param-prefix[$param-prefix_length -1]`'/>\n",\r
         "comments": "",\r
-        "x": 1222.7291793823242,\r
-        "y": 506.97049713134766,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1204.7330856323242,\r
+        "y": 472.9704976081848,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": []\r
     },\r
     {\r
-        "id": "d0552bf7.11fd78",\r
+        "id": "801b9de7.f8983",\r
         "type": "comment",\r
         "name": "Take the parameter names by removing prefix",\r
         "info": "",\r
         "comments": "",\r
-        "x": 1226.2504081726074,\r
-        "y": 429.33332681655884,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1208.2543144226074,\r
+        "y": 395.333327293396,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": []\r
     },\r
     {\r
-        "id": "1f79f37c.52109d",\r
+        "id": "5509b148.13914",\r
         "type": "switchNode",\r
         "name": "switch vnf_length",\r
         "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 782.7500152587891,\r
-        "y": 227.9999942779541,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 764.7539215087891,\r
+        "y": 193.99999475479126,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "f848aa6e.cfe238"\r
+                "1afa6ba0.b560d4"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "f848aa6e.cfe238",\r
+        "id": "1afa6ba0.b560d4",\r
         "type": "other",\r
         "name": "NULL",\r
         "xml": "<outcome value=''>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 969.4166946411133,\r
-        "y": 227.3332920074463,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 951.4206008911133,\r
+        "y": 193.33329248428345,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "63764309.2b5d2c"\r
+                "f6ded972.6369c8"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "63764309.2b5d2c",\r
+        "id": "f6ded972.6369c8",\r
         "type": "returnFailure",\r
         "name": "return failure",\r
         "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=\"There are no VNFs in MD-SAL\" />\n",\r
         "comments": "",\r
-        "x": 1151.0833206176758,\r
-        "y": 227.3332920074463,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1133.0872268676758,\r
+        "y": 193.33329248428345,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": []\r
     },\r
     {\r
-        "id": "86c4e83c.6dd4c8",\r
+        "id": "aad7e68e.3b6ca8",\r
         "type": "switchNode",\r
         "name": "switch vf-modules.vf-module_length",\r
         "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 824.0000047683716,\r
-        "y": 347.9999952316284,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 806.0039110183716,\r
+        "y": 313.9999957084656,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "47ea1345.69aafc",\r
-                "1d47e1b9.b5ac9e"\r
+                "e139df7a.80637",\r
+                "caf10502.734168"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "47ea1345.69aafc",\r
+        "id": "e139df7a.80637",\r
         "type": "other",\r
         "name": "Null",\r
         "xml": "<outcome value=''>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1055.000015258789,\r
-        "y": 323.99999237060547,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1037.003921508789,\r
+        "y": 289.9999928474426,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "4b7cf824.56d218"\r
+                "b4a2933f.20169"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "1d47e1b9.b5ac9e",\r
+        "id": "caf10502.734168",\r
         "type": "other",\r
         "name": "other",\r
         "xml": "<outcome value='Other'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1055.000015258789,\r
-        "y": 363.99999237060547,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1037.003921508789,\r
+        "y": 329.9999928474426,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "ff6c5552.af6328"\r
+                "63770f1.c37c1f"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "4b7cf824.56d218",\r
+        "id": "b4a2933f.20169",\r
         "type": "set",\r
         "name": "set vf-index",\r
         "xml": "<set>\n<parameter name='vf-index' value='0' />\n",\r
         "comments": "",\r
-        "x": 1197.500015258789,\r
-        "y": 323.99999237060547,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1179.503921508789,\r
+        "y": 289.9999928474426,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": []\r
     },\r
     {\r
-        "id": "ff6c5552.af6328",\r
+        "id": "63770f1.c37c1f",\r
         "type": "block",\r
         "name": "block",\r
         "xml": "<block>\n",\r
         "atomic": "false",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1199.3570594787598,\r
-        "y": 363.9365043640137,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1181.3609657287598,\r
+        "y": 329.93650484085083,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "34f94cf0.e3aea4",\r
-                "b3996c0f.5f9d2"\r
+                "82e73ea.9f6d1c",\r
+                "facab090.c3497"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "b3996c0f.5f9d2",\r
+        "id": "facab090.c3497",\r
         "type": "set",\r
         "name": "set vf-index",\r
         "xml": "<set>\n<parameter name='vf-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />\n\n\n",\r
         "comments": "",\r
-        "x": 1352.055534362793,\r
-        "y": 333.5556030566804,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1334.059440612793,\r
+        "y": 299.55560353351757,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": []\r
     },\r
     {\r
-        "id": "34f94cf0.e3aea4",\r
+        "id": "82e73ea.9f6d1c",\r
         "type": "for",\r
         "name": "for each existing vf-index",\r
         "xml": "<for index='idx' start='0' end='`$vf-index`' >\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1408.4840393066406,\r
-        "y": 386.7777328491211,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1390.4879455566406,\r
+        "y": 352.77773332595825,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "441d1901.20ad48"\r
+                "df7833b0.b66c4"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "f0d652ef.7b8d",\r
+        "id": "f1cb1fc.e0fb2e",\r
         "type": "comment",\r
         "name": "make sure this network doesn't exist already",\r
         "info": "",\r
         "comments": "",\r
-        "x": 1632.1347694396973,\r
-        "y": 345.03179025650024,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1614.1386756896973,\r
+        "y": 311.0317907333374,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": []\r
     },\r
     {\r
-        "id": "441d1901.20ad48",\r
+        "id": "df7833b0.b66c4",\r
         "type": "switchNode",\r
         "name": "switch vf-module-id found",\r
         "xml": "<switch test=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id == $vf-module-topology-operation-input.vf-module-information.vf-module-id`\">\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1683.769760131836,\r
-        "y": 386.34923553466797,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1665.773666381836,\r
+        "y": 352.3492360115051,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "d51340c3.db8f7"\r
+                "f0bc8641.c01b88"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "d51340c3.db8f7",\r
+        "id": "f0bc8641.c01b88",\r
         "type": "outcomeTrue",\r
         "name": "true",\r
         "xml": "<outcome value='true'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1584.49995803833,\r
-        "y": 444.9206666946411,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1566.50386428833,\r
+        "y": 410.92066717147827,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "20af1164.21510e"\r
+                "ac9ea707.076ba8"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "20af1164.21510e",\r
+        "id": "ac9ea707.076ba8",\r
         "type": "returnFailure",\r
         "name": "return failure",\r
         "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id already found in service-data\" />\n",\r
         "comments": "",\r
-        "x": 1732.2500610351562,\r
-        "y": 444.7778587634675,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1714.2539672851562,\r
+        "y": 410.7778592403047,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": []\r
     },\r
     {\r
-        "id": "240305a4.5a5a9a",\r
+        "id": "a50b2df2.ad39e",\r
         "type": "set",\r
         "name": "copy input data to service data",\r
         "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-id' value='`$prop.vpn-vf-index`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.sdnc-request-header.' value='`$vf-module-topology-operation-input.sdnc-request-header.`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.request-information.' value='`$vf-module-topology-operation-input.request-information.`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.service-information.' value='`$vf-module-topology-operation-input.service-information.`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vnf-information.' value='`$vf-module-topology-operation-input.vnf-information.`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-information.' value='`$vf-module-topology-operation-input.vf-module-information.`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-request-input.' value='`$vf-module-topology-operation-input.vf-module-request-input.`' />\n\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-topology.' value='`$tmp.vf-module-topology.`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-index+1`' />\n\n\n",\r
         "comments": "",\r
-        "x": 837.8531951904297,\r
-        "y": 797.4962463378906,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 819.8571014404297,\r
+        "y": 763.4962468147278,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": []\r
     },\r
     {\r
-        "id": "944e3f22.30053",\r
+        "id": "e23c49d7.715338",\r
         "type": "execute",\r
         "name": "execute generate-vf-module-index",\r
         "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\n<parameter name=\"ctx-destination\" value=\"prop.vpn-vf-index\"/>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 849.186767578125,\r
-        "y": 750.1629486083984,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 831.190673828125,\r
+        "y": 716.1629490852356,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             []\r
         ]\r
     },\r
     {\r
-        "id": "9465c248.bcdbd",\r
+        "id": "7b54ca79.4bc724",\r
         "type": "set",\r
         "name": "set new vf-module_length",\r
         "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-index + 1`' />",\r
         "comments": "",\r
-        "x": 821.1868286132812,\r
-        "y": 701.1629486083984,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 803.1907348632812,\r
+        "y": 667.1629490852356,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": []\r
     },\r
     {\r
-        "id": "1d935a3c.53bb66",\r
+        "id": "7de1d3e.65c652c",\r
         "type": "set",\r
         "name": "set vf-module-request-input.",\r
         "xml": "<set>\n<parameter name='vf-module-request-input.' value='`$vf-module-topology-operation-input.vf-module-request-input.`' />\n",\r
         "comments": "",\r
-        "x": 821.1863555908203,\r
-        "y": 647.1542367935181,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 803.1902618408203,\r
+        "y": 613.1542372703552,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": []\r
     },\r
     {\r
-        "id": "5d2253aa.4bfbec",\r
+        "id": "e9af352a.620918",\r
         "type": "set",\r
         "name": "set vf-module-level-oper-status",\r
         "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-level-oper-status.order-status'  value='Created' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'  value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-level-oper-status.last-action'  value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />",\r
         "comments": "",\r
-        "x": 831.5001831054688,\r
-        "y": 895.0000674128532,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 813.5040893554688,\r
+        "y": 861.0000678896904,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": []\r
     },\r
     {\r
-        "id": "166cfcae.a53de3",\r
+        "id": "83fb72db.90602",\r
         "type": "save",\r
         "name": "save sdwan vpn resource in AAI",\r
         "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='sdwan-vpn' \n      key='sdwan-vpn.sdwan-vpn-id = $prop.vpn-vf-index' >\n<parameter name='sdwan-vpn-id' value='`$prop.vpn-vf-index`' />\n<parameter name='sdwan-vpn-name' value='`$prop.name`' />\n<parameter name='topology' value='`$prop.topology`' />\n<parameter name='operational-status' value='Created' />\n<parameter name='model-customization-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />\n<parameter name='model-invariant-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />\n<parameter name='model-version-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />\n<parameter name='selflink' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $vf-module-topology-operation-input.service-information.service-instance-id  + '/service-data/vnfs/vnf/'  + $service-data.vnfs.vnf[$vnf-index].vnf-id  + '/vnf-data/vf-modules/vf-module/' + $prop.vpn-vf-index + '/vf-module-data/'` \" />\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 838.0000438690186,\r
-        "y": 940.5000152587891,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 820.0039501190186,\r
+        "y": 906.5000157356262,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             []\r
         ]\r
     },\r
     {\r
-        "id": "b6ddeb01.d7f708",\r
+        "id": "bbeb53a3.c2576",\r
         "type": "returnSuccess",\r
         "name": "return success",\r
         "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",\r
         "comments": "",\r
-        "x": 785.7225170135498,\r
-        "y": 1033.6739058494568,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 767.7264232635498,\r
+        "y": 999.673906326294,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": []\r
     },\r
     {\r
-        "id": "83d0d62b.725028",\r
+        "id": "37a48c20.31bdf4",\r
         "type": "for",\r
         "name": "for loop i - Network input parameters",\r
         "xml": "<for index=\"idx\" start=\"0\" end=\"`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`\">\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 849.2539215087891,\r
-        "y": 583.50390625,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 831.2578277587891,\r
+        "y": 549.5039067268372,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "4fef64f6.74978c"\r
+                "4c79fd81.204e24"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "4fef64f6.74978c",\r
+        "id": "4c79fd81.204e24",\r
         "type": "block",\r
         "name": "block",\r
         "xml": "<block>\n",\r
         "atomic": "false",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1136.4767990112305,\r
-        "y": 583.7262201309204,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1118.4807052612305,\r
+        "y": 549.7262206077576,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "70539f79.6843b",\r
-                "69460cae.8c8bb4"\r
+                "6ee57e2b.017f1",\r
+                "6d15949f.a4f72c"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "70539f79.6843b",\r
+        "id": "6ee57e2b.017f1",\r
         "type": "switchNode",\r
         "name": "switch name",\r
         "xml": "<switch test=\"`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$idx].name == 'name'`\">\n\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1324.698642730713,\r
-        "y": 566.0595242977142,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1306.702548980713,\r
+        "y": 532.0595247745514,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "63c5ecf6.3d2174"\r
+                "3f65f879.eac058"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "69460cae.8c8bb4",\r
+        "id": "6d15949f.a4f72c",\r
         "type": "switchNode",\r
         "name": "switch topology",\r
         "xml": "<switch test=\"`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$idx].name == 'topology'`\">",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1335.5383033752441,\r
-        "y": 606.0595223903656,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1317.5422096252441,\r
+        "y": 572.0595228672028,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "c6e54399.0667f"\r
+                "a2b79be1.ed04c8"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "63c5ecf6.3d2174",\r
+        "id": "3f65f879.eac058",\r
         "type": "outcomeTrue",\r
         "name": "true",\r
         "xml": "<outcome value='true'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1511.698642730713,\r
-        "y": 562.0595242977142,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1493.702548980713,\r
+        "y": 528.0595247745514,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "7b7eb3bd.411e2c"\r
+                "2305c57e.8cca7a"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "c6e54399.0667f",\r
+        "id": "a2b79be1.ed04c8",\r
         "type": "outcomeTrue",\r
         "name": "true",\r
         "xml": "<outcome value='true'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1505.5383033752441,\r
-        "y": 602.0595223903656,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1487.5422096252441,\r
+        "y": 568.0595228672028,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             [\r
-                "660aadb7.bbfbd4"\r
+                "4726038d.e1157c"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "7b7eb3bd.411e2c",\r
+        "id": "2305c57e.8cca7a",\r
         "type": "set",\r
         "name": "set name",\r
         "xml": "<set>\n<parameter name='prop.name' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$idx].value`' />\n\n",\r
         "comments": "",\r
-        "x": 1661.69877243042,\r
-        "y": 560.659530878067,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1643.70267868042,\r
+        "y": 526.6595313549042,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": []\r
     },\r
     {\r
-        "id": "660aadb7.bbfbd4",\r
+        "id": "4726038d.e1157c",\r
         "type": "set",\r
         "name": "set topology",\r
         "xml": "<set>\n<parameter name='prop.topology' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$idx].value`' />\n",\r
         "comments": "",\r
-        "x": 1692.8717441558838,\r
-        "y": 600.5206792354584,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 1674.8756504058838,\r
+        "y": 566.5206797122955,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": []\r
     },\r
     {\r
-        "id": "8a6622c.9c3e9e",\r
+        "id": "c012bd48.a280b",\r
         "type": "call",\r
         "name": "call GENERIC-RESOURCE-API:validate-sdwan-vf-vpn-input-parameters",\r
         "xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-sdwan-vf-vpn-input-parameters' mode='sync' >\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 950.5039215087891,\r
-        "y": 173.00390625,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 932.5078277587891,\r
+        "y": 139.00390672683716,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             []\r
         ]\r
     },\r
     {\r
-        "id": "d3e9377a.b7b628",\r
+        "id": "3e34e572.c1fb4a",\r
         "type": "set",\r
         "name": "set vf-module-object-path",\r
-        "xml": "<set>\n<parameter name='vf-module-id' value='`$prop.site-vf-index`' />\n<parameter name='vf-module-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vf-modules/vf-module/'\n + $prop.vpn-vf-index\n + '/vf-module-data/vf-module-topology/'`\"/>\n<parameter name='vnf-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vnf-topology/'`\"/>\n<parameter name='service-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n",\r
+        "xml": "<set>\n<parameter name='vf-module-id' value='`$prop.vpn-vf-index`' />\n<parameter name='vf-module-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vf-modules/vf-module/'\n + $prop.vpn-vf-index\n + '/vf-module-data/vf-module-topology/'`\"/>\n<parameter name='vnf-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vnf-topology/'`\"/>\n<parameter name='service-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n",\r
         "comments": "",\r
-        "x": 823.5000610351562,\r
-        "y": 846.0312868952751,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 805.5039672851562,\r
+        "y": 812.0312873721123,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": []\r
     },\r
     {\r
-        "id": "4cde94b6.d8700c",\r
+        "id": "370a2393.20ff3c",\r
         "type": "save",\r
         "name": "save service relationship in AAI",\r
         "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='generic-vnf:relationship-list' \n      key='generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id' \n      force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"sdwan-vpn\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/sdwan-vpns/sdwan-vpn/' + $prop.vpn-vf-index`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"sdwan-vpn.id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.vpn-vf-index`\" />\n\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 838.0001220703125,\r
-        "y": 988.0001564025879,\r
-        "z": "f1f197ca.402af8",\r
+        "x": 820.0040283203125,\r
+        "y": 954.000156879425,\r
+        "z": "4e5f9446.b42e3c",\r
         "wires": [\r
             []\r
         ]\r
     }\r
-]\r
+]
\ No newline at end of file
index 9b3109d..80df2aa 100644 (file)
@@ -3,6 +3,9 @@
     xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>\r
     <method rpc='sdwan-vf-operation-device-create' mode='sync'>\r
         <block atomic="true">\r
+            <set>\r
+                <parameter name='prop.sdncCreate' value='false' />\r
+            </set>\r
             <switch test='`$service-data.vnfs.vnf_length`'>\r
                 <outcome value=''>\r
                     <return status='failure'>\r
                     </outcome>\r
                 </switch>\r
             </for>\r
-            <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>\r
+            <switch test='`$vnf-index`'>\r
                 <outcome value=''>\r
-                    <set>\r
-                        <parameter name='vf-index' value='0' />\r
-                    </set>\r
+                    <return status='failure'>\r
+                        <parameter name='ack-final' value='Y'/>\r
+                        <parameter name="error-code" value="500" />\r
+                        <parameter name="error-message" value="vnf id not found in service-data" />\r
+                    </return>\r
                 </outcome>\r
-                <outcome value='Other'>\r
-                    <block>\r
+            </switch>\r
+            <switch test="`$vf-module-topology-operation-input.vf-module-information.vf-module-id`">\r
+                <outcome value=''>\r
+                    <block atomic="true">\r
                         <set>\r
-                            <parameter name='vf-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />\r
+                            <parameter name='prop.sdncCreate' value='true' />\r
                         </set>\r
+                        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\r
+                            <parameter name="ctx-destination" value="prop.vf-id"/>\r
+                        </execute>\r
+                        <block atomic="true">\r
+                            <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>\r
+                                <outcome value=''>\r
+                                    <set>\r
+                                        <parameter name='vf-index' value='0' />\r
+                                    </set>\r
+                                </outcome>\r
+                                <outcome value='Other'>\r
+                                    <set>\r
+                                        <parameter name='vf-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />\r
+                                    </set>\r
+                                </outcome>\r
+                            </switch>\r
+                            <set>\r
+                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-index + 1`' />\r
+                            </set>\r
+                        </block>\r
+                    </block>\r
+                </outcome>\r
+                <outcome value='Other'>\r
+                    <block atomic="true">\r
+                        <block atomic="true">\r
+                            <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>\r
+                                <outcome value=''>\r
+                                    <set>\r
+                                        <parameter name='vf-index' value='0' />\r
+                                    </set>\r
+                                </outcome>\r
+                                <outcome value='Other'>\r
+                                    <set>\r
+                                        <parameter name='vf-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />\r
+                                    </set>\r
+                                </outcome>\r
+                            </switch>\r
+                            <set>\r
+                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-index + 1`' />\r
+                            </set>\r
+                        </block>\r
                         <for index='idx' start='0' end='`$vf-index`' >\r
                             <switch test="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id == $vf-module-topology-operation-input.vf-module-information.vf-module-id`">\r
                                 <outcome value='true'>\r
                                     <return status='failure'>\r
                                         <parameter name='ack-final' value='Y'/>\r
                                         <parameter name="error-code" value="500" />\r
-                                        <parameter name="error-message" value="service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id already found in service-data" />\r
+                                        <parameter name="error-message" value="`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id\r
+      + ' already exists, and has order status ' + $service-data.vnfs.vnf[$idx].vnf-data.vnf-level-oper-status.order-status`" />\r
                                     </return>\r
                                 </outcome>\r
                             </switch>\r
                         </for>\r
+                        <set>\r
+                            <parameter name='prop.vf-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\r
+                        </set>\r
                     </block>\r
                 </outcome>\r
             </switch>\r
             </set>\r
             <call module='GENERIC-RESOURCE-API' rpc='sdwan-get-vf-module-device-param' mode='sync' ></call>\r
             <set>\r
-                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-index + 1`' />\r
-            </set>\r
-            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\r
-                <parameter name="ctx-destination" value="prop.device-vf-index"/>\r
-            </execute>\r
-            <set>\r
-                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-id' value='`$prop.device-vf-index`' />\r
+                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-id' value='`$prop.vf-id`' />\r
                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.sdnc-request-header.' value='`$vf-module-topology-operation-input.sdnc-request-header.`' />\r
                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.request-information.' value='`$vf-module-topology-operation-input.request-information.`' />\r
                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.service-information.' value='`$vf-module-topology-operation-input.service-information.`' />\r
                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vnf-information.' value='`$vf-module-topology-operation-input.vnf-information.`' />\r
                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-information.' value='`$vf-module-topology-operation-input.vf-module-information.`' />\r
                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-request-input.' value='`$vf-module-topology-operation-input.vf-module-request-input.`' />\r
-                <!--parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-topology.' value='`$tmp.vf-module-topology.`' /-->\r
-                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-index+1`' />\r
             </set>\r
             <set>\r
+                <parameter name='vf-module-id' value='`$prop.vf-id`'/>\r
                 <parameter name='vf-module-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
  + $vf-module-topology-operation-input.service-information.service-instance-id\r
  + '/service-data/vnfs/vnf/'\r
  + $service-data.vnfs.vnf[$vnf-index].vnf-id\r
  + '/vnf-data/vf-modules/vf-module/'\r
- + $prop.device-vf-index\r
+ + $prop.vf-id\r
  + '/vf-module-data/vf-module-topology/'`"/>\r
                 <parameter name='vnf-object-path'\r
  value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'  value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />\r
                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-level-oper-status.last-action'  value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />\r
             </set>\r
-            <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='device' \r
-      key='device.device-id = $prop.device-vf-index' >\r
-                <parameter name='device-id' value='`$prop.device-vf-index`' />\r
-                <parameter name='esn' value='`$prop.device.esn`' />\r
-                <parameter name='device-name' value='`$prop.device.name`' />\r
-                <parameter name='description' value='`$prop.device.description`' />\r
-                <parameter name='vendor' value='`$prop.device.vendor`' />\r
-                <parameter name='class' value='`$prop.device.class`' />\r
-                <parameter name='type' value='`$prop.device.deviceModel`' />\r
-                <parameter name='version' value='`$prop.device.version`' />\r
-                <parameter name='system-ip' value='`$prop.device.systemIp`' />\r
-                <parameter name='operational-status' value='Created' />\r
-                <parameter name='model-customization-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />\r
-                <parameter name='model-invariant-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />\r
-                <parameter name='model-version-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />\r
-                <parameter name='selflink' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $vf-module-topology-operation-input.service-information.service-instance-id  + '/service-data/vnfs/vnf/'  + $service-data.vnfs.vnf[$vnf-index].vnf-id  + '/vnf-data/vf-modules/vf-module/' + $prop.device-vf-index + '/vf-module-data/'` " />\r
-            </save>\r
+            <switch test='`$prop.sdncCreate`'>\r
+                <outcome value='true'>\r
+                    <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='device' \r
+      key='device.device-id = $prop.vf-id' >\r
+                        <parameter name='device-id' value='`$prop.vf-id`' />\r
+                        <parameter name='esn' value='`$prop.device.esn`' />\r
+                        <parameter name='device-name' value='`$prop.device.name`' />\r
+                        <parameter name='description' value='`$prop.device.description`' />\r
+                        <parameter name='vendor' value='`$prop.device.vendor`' />\r
+                        <parameter name='class' value='`$prop.device.class`' />\r
+                        <parameter name='type' value='`$prop.device.deviceModel`' />\r
+                        <parameter name='version' value='`$prop.device.version`' />\r
+                        <parameter name='system-ip' value='`$prop.device.systemIp`' />\r
+                        <parameter name='operational-status' value='Created' />\r
+                        <!--parameter name='model-customization-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' /><parameter name='model-invariant-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' /><parameter name='model-version-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' /-->\r
+                        <parameter name='selflink' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $vf-module-topology-operation-input.service-information.service-instance-id  + '/service-data/vnfs/vnf/'  + $service-data.vnfs.vnf[$vnf-index].vnf-id  + '/vnf-data/vf-modules/vf-module/' + $prop.vf-id + '/vf-module-data/'` " />\r
+                    </save>\r
+                </outcome>\r
+                <outcome value='false'>\r
+                    <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='device' \r
+      key='device.device-id = $prop.vf-id' >\r
+                        <parameter name='device-id' value='`$prop.vf-id`' />\r
+                        <parameter name='esn' value='`$prop.device.esn`' />\r
+                        <parameter name='device-name' value='`$prop.device.name`' />\r
+                        <parameter name='description' value='`$prop.device.description`' />\r
+                        <parameter name='vendor' value='`$prop.device.vendor`' />\r
+                        <parameter name='class' value='`$prop.device.class`' />\r
+                        <parameter name='type' value='`$prop.device.deviceModel`' />\r
+                        <parameter name='version' value='`$prop.device.version`' />\r
+                        <parameter name='system-ip' value='`$prop.device.systemIp`' />\r
+                        <parameter name='operational-status' value='Created' />\r
+                        <parameter name='model-customization-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />\r
+                        <parameter name='model-invariant-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />\r
+                        <parameter name='model-version-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />\r
+                        <parameter name='selflink' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $vf-module-topology-operation-input.service-information.service-instance-id  + '/service-data/vnfs/vnf/'  + $service-data.vnfs.vnf[$vnf-index].vnf-id  + '/vnf-data/vf-modules/vf-module/' + $prop.vf-id + '/vf-module-data/'` " />\r
+                    </update>\r
+                </outcome>\r
+            </switch>\r
             <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='generic-vnf:relationship-list' \r
       key='generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id' \r
       force="true" pfx="tmp.AnAI-data">\r
                 <parameter name="relationship-list.relationship[0].related-to" value="device" />\r
-                <parameter name="relationship-list.relationship[0].related-link" value="`'/network/devices/device/' + $prop.device-vf-index`" />\r
+                <parameter name="relationship-list.relationship[0].related-link" value="`'/network/devices/device/' + $prop.vf-id`" />\r
                 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="device.device-id" />\r
-                <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.device-vf-index`" />\r
+                <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.vf-id`" />\r
             </save>\r
             <return status='success'>\r
                 <parameter name="ack-final-indicator" value="Y" />\r
index 3e5e8d9..02a816b 100644 (file)
@@ -98,7 +98,7 @@
                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-index+1`' />\r
             </set>\r
             <set>\r
-                <parameter name='vf-module-id' value='`$prop.site-vf-index`' />\r
+                <parameter name='vf-module-id' value='`$prop.vpn-vf-index`' />\r
                 <parameter name='vf-module-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
  + $vf-module-topology-operation-input.service-information.service-instance-id\r
  + '/service-data/vnfs/vnf/'\r
                 <parameter name='sdwan-vpn-name' value='`$prop.name`' />\r
                 <parameter name='topology' value='`$prop.topology`' />\r
                 <parameter name='operational-status' value='Created' />\r
-                <parameter name='model-customization-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' /><parameter name='model-invariant-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' /><parameter name='model-version-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' >\r
+                <parameter name='model-customization-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />\r
+                <parameter name='model-invariant-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />\r
+                <parameter name='model-version-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />\r
                 <parameter name='selflink' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $vf-module-topology-operation-input.service-information.service-instance-id  + '/service-data/vnfs/vnf/'  + $service-data.vnfs.vnf[$vnf-index].vnf-id  + '/vnf-data/vf-modules/vf-module/' + $prop.vpn-vf-index + '/vf-module-data/'` " />\r
             </save>\r
             <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='generic-vnf:relationship-list' \r
             </return>\r
         </block>\r
     </method>\r
-</service-logic>\r
+</service-logic>
\ No newline at end of file
index aeb7b29..47efea1 100644 (file)
                                     </includes>
                                     <filtering>true</filtering>
                                 </resource>
+                                <resource>
+                                    <directory>src/main/multipartfile</directory>
+                                    <includes>
+                                        <include>**/*.*</include>
+                                    </includes>
+                                    <filtering>true</filtering>
+                                </resource>
                             </resources>
                         </configuration>
                     </execution>
diff --git a/platform-logic/restapi-templates/src/main/multipartfile/README.md b/platform-logic/restapi-templates/src/main/multipartfile/README.md
new file mode 100644 (file)
index 0000000..454d373
--- /dev/null
@@ -0,0 +1,3 @@
+This source folder contains multi part form data files used as part of RestApiCallNode plugin usage by DGs.
+
+