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