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/GENERIC-RESOURCE-API_connection-attachment-topology-operation.json462
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-activate.json2036
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-create.json1304
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-deactivate.json2128
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-delete.json938
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-get-saved-ar-param.json199
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-network-topology-operation-activate.json546
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-wanport-vnf-topology-operation-underlay.json3366
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-connection-attachment-input.json909
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation.json576
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_connection-attachment-topology-operation.xml176
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-activate.xml434
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-create.xml246
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-deactivate.xml413
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-delete.xml185
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-get-saved-ar-param.xml31
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-network-topology-operation-activate.xml104
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-wanport-vnf-topology-operation-underlay.xml640
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-connection-attachment-input.xml567
-rw-r--r--platform-logic/restapi-templates/src/main/json/sdwan-site-provision.json29
-rw-r--r--platform-logic/restapi-templates/src/main/json/sdwan-underlay.json69
21 files changed, 13927 insertions, 1431 deletions
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_connection-attachment-topology-operation.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_connection-attachment-topology-operation.json
index 7ec149ae..5975f5e9 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_connection-attachment-topology-operation.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_connection-attachment-topology-operation.json
@@ -1,20 +1,20 @@
[
{
- "id": "7040c3da.af1dec",
+ "id": "1910b882.988187",
"type": "dgstart",
"name": "DGSTART",
"outputs": 1,
- "x": 110.00390625,
- "y": 64.00390625,
- "z": "d74aac07.dc7e5",
+ "x": 112,
+ "y": 39,
+ "z": "b7e352e3.19bee",
"wires": [
[
- "2925fee5.4b2612"
+ "6daa18ee.bd9b48"
]
]
},
{
- "id": "2925fee5.4b2612",
+ "id": "6daa18ee.bd9b48",
"type": "service-logic",
"name": "GENERIC-RESOURCE-API ${project.version}",
"module": "GENERIC-RESOURCE-API",
@@ -22,491 +22,615 @@
"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": 248.00392150878906,
- "y": 125.00390434265137,
- "z": "d74aac07.dc7e5",
+ "x": 250.00001525878906,
+ "y": 99.99999809265137,
+ "z": "b7e352e3.19bee",
"wires": [
[
- "b82edbfb.46a2a8"
+ "d306af00.202b5"
]
]
},
{
- "id": "b82edbfb.46a2a8",
+ "id": "d306af00.202b5",
"type": "method",
"name": "connection-attachment-topology-operation",
"xml": "<method rpc='connection-attachment-topology-operation' mode='sync'>\n",
"comments": "",
"outputs": 1,
- "x": 283.0039367675781,
- "y": 173.00393295288086,
- "z": "d74aac07.dc7e5",
+ "x": 285.0000305175781,
+ "y": 148.00002670288086,
+ "z": "b7e352e3.19bee",
"wires": [
[
- "a9203dbc.c4a92"
+ "439aa3bc.b5c89c"
]
]
},
{
- "id": "a9203dbc.c4a92",
+ "id": "439aa3bc.b5c89c",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 208.00390625,
- "y": 251.00389862060547,
- "z": "d74aac07.dc7e5",
+ "x": 210,
+ "y": 225.99999237060547,
+ "z": "b7e352e3.19bee",
"wires": [
[
- "d28295b8.2c2758",
- "7f7eb3b.b67394c",
- "779cd391.117a2c",
- "3ccb66ff.5dacfa"
+ "b2ae5e0b.e62c8",
+ "9d2c0f9b.d86bc",
+ "66d180fd.aa86b",
+ "ebb56880.bc5f78"
]
]
},
{
- "id": "d28295b8.2c2758",
+ "id": "b2ae5e0b.e62c8",
"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": 422.37308502197266,
- "y": 863.8467736244202,
- "z": "d74aac07.dc7e5",
+ "x": 424.36917877197266,
+ "y": 838.8428673744202,
+ "z": "b7e352e3.19bee",
"wires": []
},
{
- "id": "7f7eb3b.b67394c",
+ "id": "9d2c0f9b.d86bc",
"type": "switchNode",
"name": "switch svc-action",
"xml": "<switch test='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 429.0038299560547,
- "y": 410.41761684417725,
- "z": "d74aac07.dc7e5",
+ "x": 430.9999237060547,
+ "y": 385.41371059417725,
+ "z": "b7e352e3.19bee",
"wires": [
[
- "bb04a1a3.bc9cc",
- "e1cc92c7.25fd7",
- "cf940d5c.e7317",
- "935024a.1180cd8",
- "50ef3ecb.f8e1d"
+ "e1ae6e39.aa27a",
+ "9414f9d2.dce2f8",
+ "6fb0447c.d97d9c",
+ "128f118b.699cee",
+ "e0bc6e7e.914ba"
]
]
},
{
- "id": "779cd391.117a2c",
+ "id": "66d180fd.aa86b",
"type": "call",
"name": "call GENERIC-RESOURCE-API:validate-connection-attachment-input",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-connection-attachment-input' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 620.5753479003906,
- "y": 230.98905754089355,
- "z": "d74aac07.dc7e5",
+ "x": 622.5714416503906,
+ "y": 205.98515129089355,
+ "z": "b7e352e3.19bee",
"wires": [
[]
]
},
{
- "id": "bb04a1a3.bc9cc",
+ "id": "e1ae6e39.aa27a",
"type": "other",
"name": "activate",
"xml": "<outcome value='activate'>\n",
"comments": "",
"outputs": 1,
- "x": 644.2895736694336,
- "y": 419.56049633026123,
- "z": "d74aac07.dc7e5",
+ "x": 646.2856674194336,
+ "y": 394.55659008026123,
+ "z": "b7e352e3.19bee",
"wires": [
[
- "f86d00f8.fcf59"
+ "4c362fcf.8e944"
]
]
},
{
- "id": "e1cc92c7.25fd7",
+ "id": "9414f9d2.dce2f8",
"type": "other",
"name": "delete",
"xml": "<outcome value='delete'>\n",
"comments": "",
"outputs": 1,
- "x": 654.2896347045898,
- "y": 700.5606594085693,
- "z": "d74aac07.dc7e5",
+ "x": 656.2857284545898,
+ "y": 675.5567531585693,
+ "z": "b7e352e3.19bee",
"wires": [
[
- "7a0372ab.33be4c"
+ "c5b8be14.e07f9"
]
]
},
{
- "id": "cf940d5c.e7317",
+ "id": "6fb0447c.d97d9c",
"type": "other",
"name": "other",
"xml": "<outcome value='Other'>\n",
"comments": "",
"outputs": 1,
- "x": 643.6229438781738,
- "y": 785.8940830230713,
- "z": "d74aac07.dc7e5",
+ "x": 645.6190376281738,
+ "y": 760.8901767730713,
+ "z": "b7e352e3.19bee",
"wires": [
[
- "903586f6.489208"
+ "1be7b37b.418c6d"
]
]
},
{
- "id": "903586f6.489208",
+ "id": "1be7b37b.418c6d",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-action is invalid\" />\n",
"comments": "",
- "x": 825.6229400634766,
- "y": 784.8940925598145,
- "z": "d74aac07.dc7e5",
+ "x": 827.6190338134766,
+ "y": 759.8901863098145,
+ "z": "b7e352e3.19bee",
"wires": []
},
{
- "id": "3ccb66ff.5dacfa",
+ "id": "ebb56880.bc5f78",
"type": "set",
"name": "Set final indicator to Y",
"xml": "<set>\n<parameter name=\"ack-final\" value=\"Y\"/>",
"comments": "",
- "x": 441.4007797241211,
- "y": 823.0051121711731,
- "z": "d74aac07.dc7e5",
+ "x": 443.3968734741211,
+ "y": 798.0012059211731,
+ "z": "b7e352e3.19bee",
"wires": []
},
{
- "id": "935024a.1180cd8",
+ "id": "128f118b.699cee",
"type": "other",
"name": "create",
"xml": "<outcome value='create'>\n",
"comments": "",
"outputs": 1,
- "x": 643.5302696228027,
- "y": 284.16522884368896,
- "z": "d74aac07.dc7e5",
+ "x": 645.5263633728027,
+ "y": 259.16132259368896,
+ "z": "b7e352e3.19bee",
"wires": [
[
- "76e064e5.59ef8c"
+ "41c94f6b.204e9"
]
]
},
{
- "id": "50ef3ecb.f8e1d",
+ "id": "e0bc6e7e.914ba",
"type": "other",
"name": "deactivate",
"xml": "<outcome value='deactivate'>\n",
"comments": "",
"outputs": 1,
- "x": 648.8636207580566,
- "y": 560.8320322036743,
- "z": "d74aac07.dc7e5",
+ "x": 650.8597145080566,
+ "y": 535.8281259536743,
+ "z": "b7e352e3.19bee",
"wires": [
[
- "c2dd69d2.09a368"
+ "da1fc201.3680b"
]
]
},
{
- "id": "381cd5e6.60b05a",
+ "id": "66c39149.70506",
"type": "call",
"name": "call GENERIC-RESOURCE-API:sotn-attachment-topology-operation-create",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-attachment-topology-operation-create' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1538.0902099609375,
- "y": 235.54469108581543,
- "z": "d74aac07.dc7e5",
+ "x": 1540.0863037109375,
+ "y": 210.54078483581543,
+ "z": "b7e352e3.19bee",
"wires": [
[]
]
},
{
- "id": "76e064e5.59ef8c",
+ "id": "41c94f6b.204e9",
"type": "switchNode",
"name": "switch request-action",
"xml": "<switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 834.5039596557617,
- "y": 283.0039129257202,
- "z": "d74aac07.dc7e5",
+ "x": 836.5000534057617,
+ "y": 258.0000066757202,
+ "z": "b7e352e3.19bee",
"wires": [
[
- "73303973.3b9048",
- "7c8a6efc.7a43c"
+ "ce5a6c0e.e9e7",
+ "ae9fa049.744a2",
+ "5e6d0e37.67471"
]
]
},
{
- "id": "73303973.3b9048",
+ "id": "ce5a6c0e.e9e7",
"type": "outcome",
"name": "CreateSOTNAttachmentInstance",
"xml": "<outcome value='CreateSOTNAttachmentInstance'>",
"comments": "",
"outputs": 1,
- "x": 1089.837173461914,
- "y": 235.00371932983398,
- "z": "d74aac07.dc7e5",
+ "x": 1091.833267211914,
+ "y": 209.99981307983398,
+ "z": "b7e352e3.19bee",
"wires": [
[
- "381cd5e6.60b05a"
+ "66c39149.70506"
]
]
},
{
- "id": "7c8a6efc.7a43c",
+ "id": "ae9fa049.744a2",
"type": "outcome",
"name": "other",
"xml": "<outcome value='other'>",
"comments": "",
"outputs": 1,
- "x": 1019.8372802734375,
- "y": 326.67044830322266,
- "z": "d74aac07.dc7e5",
+ "x": 1021.8333740234375,
+ "y": 301.66654205322266,
+ "z": "b7e352e3.19bee",
"wires": [
[
- "2e04dda8.211e22"
+ "93d62769.1835a8"
]
]
},
{
- "id": "2e04dda8.211e22",
+ "id": "93d62769.1835a8",
"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=\"`'Provided request-action=' + $connection-attachment-topology-operation-input.request-information.request-action + ' is not supported.'`\" />\n",
"comments": "",
- "x": 1185.5039443969727,
- "y": 327.00391387939453,
- "z": "d74aac07.dc7e5",
+ "x": 1187.5000381469727,
+ "y": 302.00000762939453,
+ "z": "b7e352e3.19bee",
"wires": []
},
{
- "id": "c3ec8e4c.42bba",
+ "id": "a98c29b2.451c58",
"type": "call",
"name": "call GENERIC-RESOURCE-API:sotn-attachment-topology-operation-activate",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-attachment-topology-operation-activate' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1547.5039520263672,
- "y": 370.00391578674316,
- "z": "d74aac07.dc7e5",
+ "x": 1549.5000457763672,
+ "y": 345.00000953674316,
+ "z": "b7e352e3.19bee",
"wires": [
[]
]
},
{
- "id": "e555e69b.d6dab8",
+ "id": "761c903c.218d4",
"type": "outcome",
"name": "ActivateSOTNAttachmentInstance",
"xml": "<outcome value='ActivateSOTNAttachmentInstance'>",
"comments": "",
"outputs": 1,
- "x": 1097.250991821289,
- "y": 372.4629497528076,
- "z": "d74aac07.dc7e5",
+ "x": 1099.247085571289,
+ "y": 347.4590435028076,
+ "z": "b7e352e3.19bee",
"wires": [
[
- "c3ec8e4c.42bba"
+ "a98c29b2.451c58"
]
]
},
{
- "id": "5c941c7c.d135c4",
+ "id": "3bbb5d04.5bf752",
"type": "outcome",
"name": "other",
"xml": "<outcome value='other'>",
"comments": "",
"outputs": 1,
- "x": 1027.2510986328125,
- "y": 464.1296787261963,
- "z": "d74aac07.dc7e5",
+ "x": 1029.2471923828125,
+ "y": 439.1257724761963,
+ "z": "b7e352e3.19bee",
"wires": [
[
- "b0deba38.7b5228"
+ "ca8f3243.2c298"
]
]
},
{
- "id": "874a4de5.20f7a",
+ "id": "a90cbc0f.e63d",
"type": "outcome",
"name": "DeactivateSOTNAttachmentInstance",
"xml": "<outcome value='DeactivateSOTNAttachmentInstance'>",
"comments": "",
"outputs": 1,
- "x": 1116.8372039794922,
- "y": 511.0037364959717,
- "z": "d74aac07.dc7e5",
+ "x": 1118.8332977294922,
+ "y": 485.9998302459717,
+ "z": "b7e352e3.19bee",
"wires": [
[
- "4329778c.cafb48"
+ "a6371009.ee111"
]
]
},
{
- "id": "8f441f1b.ab4bb",
+ "id": "4fe9f748.8c5d78",
"type": "outcome",
"name": "other",
"xml": "<outcome value='other'>",
"comments": "",
"outputs": 1,
- "x": 1031.8372268676758,
- "y": 602.6704416275024,
- "z": "d74aac07.dc7e5",
+ "x": 1033.8333206176758,
+ "y": 577.6665353775024,
+ "z": "b7e352e3.19bee",
"wires": [
[
- "5242314d.7fd95"
+ "ccf57f8f.ea1c9"
]
]
},
{
- "id": "4329778c.cafb48",
+ "id": "a6371009.ee111",
"type": "call",
"name": "call GENERIC-RESOURCE-API:sotn-attachment-topology-operation-deactivate",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-attachment-topology-operation-deactivate' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1575.5040283203125,
- "y": 511.00391960144043,
- "z": "d74aac07.dc7e5",
+ "x": 1577.5001220703125,
+ "y": 486.00001335144043,
+ "z": "b7e352e3.19bee",
"wires": [
[]
]
},
{
- "id": "18c3914d.1fd05f",
+ "id": "feaf8aad.a6d7b8",
"type": "outcome",
"name": "DeleteSOTNAttachmentInstance",
"xml": "<outcome value='DeleteSOTNAttachmentInstance'>",
"comments": "",
"outputs": 1,
- "x": 1105.8371200561523,
- "y": 652.0037126541138,
- "z": "d74aac07.dc7e5",
+ "x": 1107.8332138061523,
+ "y": 626.9998064041138,
+ "z": "b7e352e3.19bee",
"wires": [
[
- "1d1f5f1c.4ba391"
+ "702bb124.73afe"
]
]
},
{
- "id": "a82f11b4.25a05",
+ "id": "fcb130cd.5ae4",
"type": "outcome",
"name": "other",
"xml": "<outcome value='other'>",
"comments": "",
"outputs": 1,
- "x": 1035.8372268676758,
- "y": 743.6704416275024,
- "z": "d74aac07.dc7e5",
+ "x": 1037.8333206176758,
+ "y": 718.6665353775024,
+ "z": "b7e352e3.19bee",
"wires": [
[
- "c42475bd.4b30d8"
+ "4b648692.1bee28"
]
]
},
{
- "id": "1d1f5f1c.4ba391",
+ "id": "702bb124.73afe",
"type": "call",
"name": "call GENERIC-RESOURCE-API:sotn-attachment-topology-operation-delete",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='sotn-attachment-topology-operation-delete' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1561.5039978027344,
- "y": 653.0039234161377,
- "z": "d74aac07.dc7e5",
+ "x": 1563.5000915527344,
+ "y": 628.0000171661377,
+ "z": "b7e352e3.19bee",
"wires": [
[]
]
},
{
- "id": "f86d00f8.fcf59",
+ "id": "4c362fcf.8e944",
"type": "switchNode",
"name": "switch request-action",
"xml": "<switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 832.0039672851562,
- "y": 424.00391960144043,
- "z": "d74aac07.dc7e5",
+ "x": 834.0000610351562,
+ "y": 399.00001335144043,
+ "z": "b7e352e3.19bee",
"wires": [
[
- "e555e69b.d6dab8",
- "5c941c7c.d135c4"
+ "761c903c.218d4",
+ "3bbb5d04.5bf752",
+ "2147e065.6d692"
]
]
},
{
- "id": "c2dd69d2.09a368",
+ "id": "da1fc201.3680b",
"type": "switchNode",
"name": "switch request-action",
"xml": "<switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 846.00390625,
- "y": 565.00390625,
- "z": "d74aac07.dc7e5",
+ "x": 848,
+ "y": 540,
+ "z": "b7e352e3.19bee",
"wires": [
[
- "874a4de5.20f7a",
- "8f441f1b.ab4bb"
+ "a90cbc0f.e63d",
+ "4fe9f748.8c5d78",
+ "9e313cc8.d833b"
]
]
},
{
- "id": "7a0372ab.33be4c",
+ "id": "c5b8be14.e07f9",
"type": "switchNode",
"name": "switch request-action",
"xml": "<switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 849.00390625,
- "y": 700.00390625,
- "z": "d74aac07.dc7e5",
+ "x": 851,
+ "y": 675,
+ "z": "b7e352e3.19bee",
"wires": [
[
- "18c3914d.1fd05f",
- "a82f11b4.25a05"
+ "feaf8aad.a6d7b8",
+ "fcb130cd.5ae4",
+ "5e1720ff.4caf2"
]
]
},
{
- "id": "b0deba38.7b5228",
+ "id": "ca8f3243.2c298",
"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=\"`'Provided request-action=' + $connection-attachment-topology-operation-input.request-information.request-action + ' is not supported.'`\" />\n",
"comments": "",
- "x": 1191.00390625,
- "y": 464.00390625,
- "z": "d74aac07.dc7e5",
+ "x": 1193,
+ "y": 439,
+ "z": "b7e352e3.19bee",
"wires": []
},
{
- "id": "5242314d.7fd95",
+ "id": "ccf57f8f.ea1c9",
"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=\"`'Provided request-action=' + $connection-attachment-topology-operation-input.request-information.request-action + ' is not supported.'`\" />\n",
"comments": "",
- "x": 1199.00390625,
- "y": 604.00390625,
- "z": "d74aac07.dc7e5",
+ "x": 1201,
+ "y": 579,
+ "z": "b7e352e3.19bee",
"wires": []
},
{
- "id": "c42475bd.4b30d8",
+ "id": "4b648692.1bee28",
"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=\"`'Provided request-action=' + $connection-attachment-topology-operation-input.request-information.request-action + ' is not supported.'`\" />\n",
"comments": "",
- "x": 1204.00390625,
- "y": 743.00390625,
- "z": "d74aac07.dc7e5",
+ "x": 1206,
+ "y": 718,
+ "z": "b7e352e3.19bee",
"wires": []
+ },
+ {
+ "id": "5e6d0e37.67471",
+ "type": "outcome",
+ "name": "CreateSDWANAttachmentInstance",
+ "xml": "<outcome value='CreateSDWANAttachmentInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1116.02734375,
+ "y": 257.0312509536743,
+ "z": "b7e352e3.19bee",
+ "wires": [
+ [
+ "4d854610.f2a218"
+ ]
+ ]
+ },
+ {
+ "id": "4d854610.f2a218",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:sdwan-attachment-topology-operation-create",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-attachment-topology-operation-create' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1564.2803802490234,
+ "y": 257.57222270965576,
+ "z": "b7e352e3.19bee",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2147e065.6d692",
+ "type": "outcome",
+ "name": "ActivateSDWANAttachmentInstance",
+ "xml": "<outcome value='ActivateSDWANAttachmentInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1111.02734375,
+ "y": 394.0312509536743,
+ "z": "b7e352e3.19bee",
+ "wires": [
+ [
+ "5d4d92f5.76ca5c"
+ ]
+ ]
+ },
+ {
+ "id": "5d4d92f5.76ca5c",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:sdwan-attachment-topology-operation-activate",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-attachment-topology-operation-activate' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1561.2803039550781,
+ "y": 391.57221698760986,
+ "z": "b7e352e3.19bee",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "9e313cc8.d833b",
+ "type": "outcome",
+ "name": "DeactivateSDWANAttachmentInstance",
+ "xml": "<outcome value='DeactivateSDWANAttachmentInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1128.02734375,
+ "y": 535.0312509536743,
+ "z": "b7e352e3.19bee",
+ "wires": [
+ [
+ "79636f75.2b02a"
+ ]
+ ]
+ },
+ {
+ "id": "79636f75.2b02a",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:sdwan-attachment-topology-operation-deactivate",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-attachment-topology-operation-deactivate' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1586.6941680908203,
+ "y": 535.0314340591431,
+ "z": "b7e352e3.19bee",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5e1720ff.4caf2",
+ "type": "outcome",
+ "name": "DeleteSDWANAttachmentInstance",
+ "xml": "<outcome value='DeleteSDWANAttachmentInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1116.02734375,
+ "y": 673.0312509536743,
+ "z": "b7e352e3.19bee",
+ "wires": [
+ [
+ "fc63a050.4fcca"
+ ]
+ ]
+ },
+ {
+ "id": "fc63a050.4fcca",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:sdwan-attachment-topology-operation-delete",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-attachment-topology-operation-delete' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1571.694221496582,
+ "y": 674.0314617156982,
+ "z": "b7e352e3.19bee",
+ "wires": [
+ []
+ ]
}
]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-activate.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-activate.json
new file mode 100644
index 00000000..58b8c3eb
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-activate.json
@@ -0,0 +1,2036 @@
+[
+ {
+ "id": "80dd667e.b96f28",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 113,
+ "y": 41,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "7472205c.aef1a"
+ ]
+ ]
+ },
+ {
+ "id": "7472205c.aef1a",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>",
+ "outputs": 1,
+ "x": 304.0000057220459,
+ "y": 111.00001811981201,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "37ba3eae.275d42"
+ ]
+ ]
+ },
+ {
+ "id": "37ba3eae.275d42",
+ "type": "method",
+ "name": "sdwan-attachment-topology-operation-activate",
+ "xml": "<method rpc='sdwan-attachment-topology-operation-activate' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 292.00012397766113,
+ "y": 199.00000095367432,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "ee5288e.f42de78"
+ ]
+ ]
+ },
+ {
+ "id": "ee5288e.f42de78",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 194.00013732910156,
+ "y": 885.0002890825272,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "b85a45bf.0bc7a8",
+ "1151bd20.7a3e23",
+ "9037088f.df5478",
+ "dae5e077.3dcd8",
+ "5bfd91ae.4a06",
+ "4bcdea66.6625d4",
+ "3d8eaf9a.38bd9",
+ "1c9f2051.6c4ec",
+ "5bbd58f7.5f7198",
+ "40c05ce.b6f2ba4",
+ "c934c812.741518",
+ "cfd66b10.01cc08",
+ "5daf20a3.56c58",
+ "235295.bc1afd6c",
+ "9bb2f2c0.a869e",
+ "78a5dd87.45acf4",
+ "12273108.2aad0f",
+ "989cf904.9df618",
+ "38de1063.b6c52",
+ "1b86e032.9e8d5",
+ "27476583.31719a",
+ "6f11d9b9.d9b5a8",
+ "d462299e.954ef8"
+ ]
+ ]
+ },
+ {
+ "id": "b85a45bf.0bc7a8",
+ "type": "set",
+ "name": "set tmp.ar.allotted-resource-id,etc",
+ "xml": "<set>\n<parameter name='tmp.ar.allotted-resource-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`' />\n<parameter name='tmp.ar.parent-service-instance-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />\n\n\n",
+ "comments": "",
+ "x": 704.9935626983643,
+ "y": 152.99348783493042,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "7b859e23.ef0a6",
+ "type": "comment",
+ "name": "set tmp ar-id to fetch resource from MDSAL",
+ "info": "",
+ "comments": "",
+ "x": 733.9538745880127,
+ "y": 117.02528381347656,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "1151bd20.7a3e23",
+ "type": "set",
+ "name": "set tmp.ar.self-link",
+ "xml": "<set>\n<parameter name='tmp.ar.self-link' value=\"`'restconf/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/'\n + $tmp.ar.allotted-resource-id\n + '/allotted-resource-data/connection-attachment-topology/'` \" />\n\n",
+ "comments": "",
+ "x": 658.993501663208,
+ "y": 245.99349308013916,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "dae5e077.3dcd8",
+ "type": "execute",
+ "name": "execute Properties",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 665.255392074585,
+ "y": 333.66022205352783,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "9037088f.df5478",
+ "type": "execute",
+ "name": "generate allotted-resource tmp.ar-url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.connection-attachment-allottedresource`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ar-url\"/>\n <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.ar.allotted-resource-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 712.255449295044,
+ "y": 421.6602258682251,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "8334555.85225a8",
+ "type": "comment",
+ "name": "GET connection-attachment-allotted-resource from mdsal",
+ "info": "",
+ "comments": "",
+ "x": 766.8084106445312,
+ "y": 490.53865146636963,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "3f9851c.f3967ae",
+ "type": "comment",
+ "name": "Used for setting output to API Handler",
+ "info": "",
+ "comments": "",
+ "x": 712.9935321807861,
+ "y": 212.99350261688232,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "1e81abbc.616b14",
+ "type": "comment",
+ "name": "Obtain different URL, template location etc",
+ "info": "For saving resource information to MDSAL & for AAI",
+ "comments": "",
+ "x": 730.9934978485107,
+ "y": 298.8823833465576,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "72dc7ecf.95a62",
+ "type": "comment",
+ "name": "Used to Get AR by id to MDSAL, same as self-link",
+ "info": "",
+ "comments": "",
+ "x": 756.9935169219971,
+ "y": 385.882342338562,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "e6ee5327.c0d68",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1220.6668224334717,
+ "y": 503.99997901916504,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "8c680853.310ea8"
+ ]
+ ]
+ },
+ {
+ "id": "8c680853.310ea8",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1364.6669006347656,
+ "y": 461.4998970031738,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "925fb80e.34f158"
+ ]
+ ]
+ },
+ {
+ "id": "925fb80e.34f158",
+ "type": "switchNode",
+ "name": "switch cr length",
+ "xml": "<switch test='`$mdsal-ar.connection-attachment-allotted-resource_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1533.5243244171143,
+ "y": 459.11906814575195,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "26b8d340.46df1c",
+ "7a829be2.af0124"
+ ]
+ ]
+ },
+ {
+ "id": "26b8d340.46df1c",
+ "type": "other",
+ "name": "outcome 1",
+ "xml": "<outcome value='1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1688.8574600219727,
+ "y": 431.1189832687378,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "1395b904.dff867"
+ ]
+ ]
+ },
+ {
+ "id": "1395b904.dff867",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic='true'>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1847.3812637329102,
+ "y": 429.02383041381836,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "bca835dc.03acf8",
+ "60209a3f.8f2c74",
+ "20e59893.8ce128"
+ ]
+ ]
+ },
+ {
+ "id": "a8ed7d7b.3441",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: Connection attachment resource not exist\" />\n \n",
+ "comments": "",
+ "x": 1787.5191955566406,
+ "y": 536.0660648345947,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "2e147334.04188c",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1212.5186252593994,
+ "y": 539.0660638809204,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "b263ea5d.751198"
+ ]
+ ]
+ },
+ {
+ "id": "b263ea5d.751198",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1392.518575668335,
+ "y": 539.7326145172119,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "a8ed7d7b.3441"
+ ]
+ ]
+ },
+ {
+ "id": "7a829be2.af0124",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1680.1854629516602,
+ "y": 490.39935779571533,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "a8ed7d7b.3441"
+ ]
+ ]
+ },
+ {
+ "id": "bca835dc.03acf8",
+ "type": "set",
+ "name": "set connection-attachment-ar from get",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.' value='$mdsal-ar.connection-attachment-allotted-resource[0].' />\n",
+ "comments": "",
+ "x": 2094.4447174072266,
+ "y": 402.00008249282837,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "60209a3f.8f2c74",
+ "type": "set",
+ "name": "set oper-status",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.request-action`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$connection-attachment-ar.allotted-resource-status.rpc-action`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.svc-request-id`' />\n\n",
+ "comments": "",
+ "x": 2043.4449863433838,
+ "y": 504.4286185503006,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "20e59893.8ce128",
+ "type": "switchNode",
+ "name": "switch order-status",
+ "xml": "<switch test='`$connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2045.444803237915,
+ "y": 444.0000435113907,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "c22325f7.252dc8",
+ "892b7c23.01481"
+ ]
+ ]
+ },
+ {
+ "id": "c22325f7.252dc8",
+ "type": "outcome",
+ "name": "outcome Created",
+ "xml": "<outcome value='Created'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2273.0451526641846,
+ "y": 435.00010073184967,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "8f64788b.479f58"
+ ]
+ ]
+ },
+ {
+ "id": "892b7c23.01481",
+ "type": "outcome",
+ "name": "outcome Other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2267.759048461914,
+ "y": 474.42865800857544,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "7e065517.d9cffc"
+ ]
+ ]
+ },
+ {
+ "id": "8f64788b.479f58",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2432.515281677246,
+ "y": 435.37570571899414,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7e065517.d9cffc",
+ "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\" \n value=\"`'Existing connection-attachment-allotted-resource with order status of ' + $connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status + '.'`\" />\n",
+ "comments": "",
+ "x": 2443.666862487793,
+ "y": 473.000057220459,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "6f92ad01.bceb24",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:sdwan-get-saved-ar-param",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-get-saved-ar-param' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 937.3030433654785,
+ "y": 610.4936294555664,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5bfd91ae.4a06",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 631.3091430664062,
+ "y": 611.5,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "6f92ad01.bceb24"
+ ]
+ ]
+ },
+ {
+ "id": "ab12c387.518e3",
+ "type": "comment",
+ "name": "GET parent-service-data from mdsal to check existence of other End point",
+ "info": "",
+ "comments": "",
+ "x": 809.00048828125,
+ "y": 682.53173828125,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "20314e6c.dff2b2",
+ "type": "comment",
+ "name": "GET connection-attachment-ar to store AR data from mdsal",
+ "info": "",
+ "comments": "",
+ "x": 2156.4727783203125,
+ "y": 362.5039367675781,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "4bcdea66.6625d4",
+ "type": "set",
+ "name": "set tmp.ar.parent-service-instance-id",
+ "xml": "<set>\n<parameter name='tmp.ar.parent-service-instance-id' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id` \" />\n\n",
+ "comments": "",
+ "x": 694.9688110351562,
+ "y": 712.0001220703125,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "15984952.556e87",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1054.968978881836,
+ "y": 769.0000915527344,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "de6674d7.fb4908"
+ ]
+ ]
+ },
+ {
+ "id": "6badb4c9.fd121c",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1046.8207817077637,
+ "y": 804.0661764144897,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "d2de38fb.c9bd98"
+ ]
+ ]
+ },
+ {
+ "id": "d2de38fb.c9bd98",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: Parent service data not available\" />\n \n",
+ "comments": "",
+ "x": 1192.9695625305176,
+ "y": 803.3335876464844,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "de6674d7.fb4908",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1185.9690742492676,
+ "y": 769.0001525878906,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "3fee618.47cf19e",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 868.7312831878662,
+ "y": 1801.953821182251,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "ce560694.4e0568"
+ ]
+ ]
+ },
+ {
+ "id": "ce560694.4e0568",
+ "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=\"AAI failed\" />\n",
+ "comments": "",
+ "x": 1035.2551040649414,
+ "y": 1828.5728282928467,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "c68d8601.616f38",
+ "type": "failure",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 870.8265113830566,
+ "y": 1849.715663909912,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "ce560694.4e0568"
+ ]
+ ]
+ },
+ {
+ "id": "4f78f27.2aadb0c",
+ "type": "comment",
+ "name": "Save Resource to AAI",
+ "info": "",
+ "comments": "",
+ "x": 642.7789268493652,
+ "y": 1790.302984237671,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "9bb2f2c0.a869e",
+ "type": "set",
+ "name": "set output to api handler",
+ "xml": "<set>\n<parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />\n<parameter name='connection-attachment-object-path' value=\"`$tmp.ar.self-link`\"/>\n<parameter name='service-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $connection-attachment-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n \n",
+ "comments": "",
+ "x": 657.5466232299805,
+ "y": 1711.828465461731,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "12273108.2aad0f",
+ "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": 617.959794998169,
+ "y": 1897.4442539215088,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "235295.bc1afd6c",
+ "type": "execute",
+ "name": "execute RestApiCallNode - PUT AR by id",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.sdwan-attachment.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='PUT' />\n <parameter name=\"responsePrefix\" value=\"mdsal-ar\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 710.2787055969238,
+ "y": 1636.4693183898926,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "fbd9f3da.ac92e",
+ "d531264d.6e9598",
+ "ceab622e.44add"
+ ]
+ ]
+ },
+ {
+ "id": "fbd9f3da.ac92e",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 964.9201278686523,
+ "y": 1680.8007125854492,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "6996a4e1.52814c"
+ ]
+ ]
+ },
+ {
+ "id": "d531264d.6e9598",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 966.9201507568359,
+ "y": 1639.3006767258048,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "6996a4e1.52814c"
+ ]
+ ]
+ },
+ {
+ "id": "ceab622e.44add",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 970.6702346801758,
+ "y": 1590.657829284668,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "a90a3596.a63828"
+ ]
+ ]
+ },
+ {
+ "id": "6996a4e1.52814c",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating md-sal for connection-attachment-allotted-resource\" />\n",
+ "comments": "",
+ "x": 1125.670253753662,
+ "y": 1659.0507431030273,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "a90a3596.a63828",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1098.3261795043945,
+ "y": 1592.8499975204468,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "40c05ce.b6f2ba4",
+ "type": "set",
+ "name": "set ar-data",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-status.action' value=\"`$connection-attachment-topology-operation-input.request-information.request-action` \" />\n<parameter name='connection-attachment-ar.allotted-resource-status.rpc-name' value=\"connection-attachment-topology-operation\" />\n<parameter name='connection-attachment-ar.allotted-resource-status.rpc-action' value=\"`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value=\"`$connection-attachment-topology-operation-input.request-information.` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value=\"`$connection-attachment-topology-operation-input.sdnc-request-header.` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value=\"`$connection-attachment-topology-operation-input.service-information.` \" />\n",
+ "comments": "",
+ "x": 612.4923210144043,
+ "y": 1470.850219488144,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "cfd66b10.01cc08",
+ "type": "execute",
+ "name": "execute getTime",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >\n <parameter name=\"outputPath\" value=\"tmp.current-time\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 629.7781639099121,
+ "y": 1543.46981716156,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5daf20a3.56c58",
+ "type": "set",
+ "name": "set allotted-resource-oper-status",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='Active' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$connection-attachment-topology-operation-input.request-information.request-action`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-request-id`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />\n",
+ "comments": "",
+ "x": 679.7652435302734,
+ "y": 1580.4208974838257,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "c934c812.741518",
+ "type": "set",
+ "name": "set model-data",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-data.connection-attachment-topology.onap-model-information.' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.` \" />",
+ "comments": "",
+ "x": 626.3338623046875,
+ "y": 1510.0248699188232,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "39e69165.d7e96e",
+ "type": "comment",
+ "name": "Prepare data for allotted-resource addition to MDSAL",
+ "info": "This will add to allotted-resource which is present inside service.",
+ "comments": "",
+ "x": 739.6673240661621,
+ "y": 1431.0248219966888,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "76218215.a6538c",
+ "type": "comment",
+ "name": "Add to allotted-resources in mdsal",
+ "info": "",
+ "comments": "",
+ "x": 681.2471504211426,
+ "y": 1398.438123703003,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "78a5dd87.45acf4",
+ "type": "update",
+ "name": "update AAI allotted-resource",
+ "xml": "<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"allotted-resource\" \n\t\tkey=\"customer.global-customer-id = $connection-attachment-topology-operation-input.service-information.global-customer-id AND\n\t\t\tservice-subscription.service-type = $connection-attachment-topology-operation-input.service-information.subscription-service-type AND\n\t\t\tservice-instance.service-instance-id = $connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id AND\n\t\t\tallotted-resource.id = $tmp.ar.allotted-resource-id\"\n pfx='pfx' local-only='false' force='false'>\n\t<parameter name=\"description\" value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type`\" />\n\t<parameter name=\"selflink\" value=\"`$tmp.ar.self-link`\" />\n\t<parameter name=\"model-invariant-id\" value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.model-invariant-uuid`\" />\n\t<parameter name=\"model-version-id\" value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.model-uuid`\" />\n\t<parameter name=\"operational-status\" value=\"Active\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 669.2232055664062,
+ "y": 1827.755126953125,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "3fee618.47cf19e",
+ "c68d8601.616f38"
+ ]
+ ]
+ },
+ {
+ "id": "3d8eaf9a.38bd9",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get-resource connection-attachment-allotted-resource",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-ar\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 841.0039672851562,
+ "y": 522.00390625,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "e6ee5327.c0d68",
+ "2e147334.04188c"
+ ]
+ ]
+ },
+ {
+ "id": "1c9f2051.6c4ec",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get-resource parent service data",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-psd`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-psd\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 764.0040893554688,
+ "y": 785.0040893554688,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "15984952.556e87",
+ "6badb4c9.fd121c"
+ ]
+ ]
+ },
+ {
+ "id": "5bbd58f7.5f7198",
+ "type": "execute",
+ "name": "get parent-service-data url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data\"/>\n <parameter name=\"outputPath\" value=\"tmp.ar-url-psd\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.ar.parent-service-instance-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 664.0039978027344,
+ "y": 748.0039224624634,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f4b4f93.ed2c608",
+ "type": "set",
+ "name": "set prop.ar.provided-allotted-resource-id",
+ "xml": "<set>\n<parameter name='prop.ar.provided-allotted-resource-id' value='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[$pidx].allotted-resource-id`' />\n\n",
+ "comments": "",
+ "x": 1521.9964752197266,
+ "y": 837.1218557357788,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "a15a79a.36a3388",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2027.9970703125,
+ "y": 931.4551391601562,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "a3fba491.823078"
+ ]
+ ]
+ },
+ {
+ "id": "9877a25.829156",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2031.848445892334,
+ "y": 893.52121925354,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "7dae3a54.790c34"
+ ]
+ ]
+ },
+ {
+ "id": "70d2ed6a.c33784",
+ "type": "for",
+ "name": "for arvidx.. mdsal-sd.service-data.vnfs.vnf_length[]",
+ "xml": "<for index='arvidx' start='0' end='`$mdsal-sd.service-data.vnfs.vnf_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1923.9976425170898,
+ "y": 1659.1222692728043,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "3299d5bb.c8fffa"
+ ]
+ ]
+ },
+ {
+ "id": "3299d5bb.c8fffa",
+ "type": "block",
+ "name": "block atmoic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1683.6641387939453,
+ "y": 1731.1224619150162,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "9c72dcbf.2f4d8"
+ ]
+ ]
+ },
+ {
+ "id": "9c72dcbf.2f4d8",
+ "type": "switchNode",
+ "name": "switch ActivateSiteInstance",
+ "xml": "<switch test=\"`$mdsal-parentsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSiteInstance'`\">\n \n \n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1896.5293731689453,
+ "y": 1732.3203302621841,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "d6c2e1ad.856bf"
+ ]
+ ]
+ },
+ {
+ "id": "d6c2e1ad.856bf",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2101.52872467041,
+ "y": 1735.3203264474869,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "1deec432.31ab3c"
+ ]
+ ]
+ },
+ {
+ "id": "6d2e1c61.8e7884",
+ "type": "set",
+ "name": "set tmp.sitevidx ",
+ "xml": "<set>\n<parameter name='tmp.sitevidx' value='`$arvidx`' />\n\n",
+ "comments": "",
+ "x": 2445.528896331787,
+ "y": 1715.3206740617752,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "eb1ab4ec.5e2dc8",
+ "type": "set",
+ "name": "set prop.ar-parent-service-instance-id",
+ "xml": "<set>\n<parameter name='prop.ar-parent-service-instance-id' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.parent-service-instance-id`' />\n",
+ "comments": "",
+ "x": 1672.9970703125,
+ "y": 1078.1221185922623,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "57da3fea.264e9",
+ "type": "for",
+ "name": "for loop aridx - Get role from allotted resource",
+ "xml": "<for index=\"aridx\" start=\"0\" end=\"`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`\">\n \n \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1699.9965839385986,
+ "y": 1035.6217069625854,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "cee99943.fb3588"
+ ]
+ ]
+ },
+ {
+ "id": "509849b3.d30508",
+ "type": "switchNode",
+ "name": "switch Role",
+ "xml": "<switch test=\"`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].name == 'role'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2130.9968280792236,
+ "y": 1001.621829032898,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "934da16.2ecff6"
+ ]
+ ]
+ },
+ {
+ "id": "934da16.2ecff6",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2270.9970722198486,
+ "y": 999.6219511032104,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "e881355e.f5e048"
+ ]
+ ]
+ },
+ {
+ "id": "e881355e.f5e048",
+ "type": "set",
+ "name": "set prop.role",
+ "xml": "<set>\n<parameter name='prop.role' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].value`' />\n",
+ "comments": "",
+ "x": 2414.9978046417236,
+ "y": 999.2218046188354,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "c3c5524a.3faea",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1978.9968872070312,
+ "y": 1178.1219259500504,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "694081b0.40c87"
+ ]
+ ]
+ },
+ {
+ "id": "a5b86b7b.af84c8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1976.8492164611816,
+ "y": 1139.18805372715,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "2179a00d.ce49"
+ ]
+ ]
+ },
+ {
+ "id": "7dae3a54.790c34",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2157.996570587158,
+ "y": 890.6216526031494,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a3fba491.823078",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1323.496524810791,
+ "y": 1070.6217823028564,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "57da3fea.264e9",
+ "eb1ab4ec.5e2dc8",
+ "e782e2ca.8bf82",
+ "1cdc5d42.9a95b3"
+ ]
+ ]
+ },
+ {
+ "id": "2179a00d.ce49",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2106.4974098205566,
+ "y": 1132.6220136880875,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "694081b0.40c87",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1705.4971466064453,
+ "y": 1257.6221548318863,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "96cc2adb.55b7e8"
+ ]
+ ]
+ },
+ {
+ "id": "ac9bfac3.fa8558",
+ "type": "for",
+ "name": "for loop siteidx - Get site ID from servicedata",
+ "xml": "<for index=\"siteidx\" start=\"0\" end=\"`$mdsal-parentsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n \n \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2524.4985961914062,
+ "y": 1765.6224666833878,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "a2ba66c.8ff5498"
+ ]
+ ]
+ },
+ {
+ "id": "8bbd7692.ac8cd8",
+ "type": "switchNode",
+ "name": "switch siteId",
+ "xml": "<switch test=\"`$mdsal-parentsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'siteId'`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1995.501958847046,
+ "y": 1879.6239286661148,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "4610475a.073248"
+ ]
+ ]
+ },
+ {
+ "id": "4610475a.073248",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2150.5023288726807,
+ "y": 1881.6242953538895,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "feeed51.dea6e28"
+ ]
+ ]
+ },
+ {
+ "id": "4e949727.dc9598",
+ "type": "set",
+ "name": "Add sites to list and update length",
+ "xml": "<set>\n<parameter name='prop.siteIds[$prop.siteIds_length]' value='`$prop.attach.siteId`' />\n<parameter name='prop.siteIds_length' value='`$prop.siteIds_length + 1`' />\n\n<parameter name='prop.siteAttachements[$prop.siteAttachements_length].siteId' value='`$prop.attach.siteId`' />\n<parameter name='prop.siteAttachements[$prop.siteAttachements_length].roles[0]' value='`$prop.role`' />\n<parameter name='prop.siteAttachements[$prop.siteAttachements_length].roles_length' value='1' />\n<parameter name='prop.siteAttachements_length' value='`$prop.siteAttachements_length + 1`' />\n\n\n\n\n\n\n\n\n\n\n\n\n",
+ "comments": "",
+ "x": 2128.0009231567383,
+ "y": 2014.1228910684586,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "d462299e.954ef8",
+ "type": "execute",
+ "name": "execute RestApiCallNode create vpn topology",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-vpn-topology.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/' + $prop.vpn1Id + '/topology'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"vpn-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 720.9996967315674,
+ "y": 1219.623323082924,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "eedd5dfa.0c3ec",
+ "8a2fbc0b.ebcbf"
+ ]
+ ]
+ },
+ {
+ "id": "8a2fbc0b.ebcbf",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 964.9996509552002,
+ "y": 1240.6231399774551,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "d213fa13.f05e78"
+ ]
+ ]
+ },
+ {
+ "id": "d213fa13.f05e78",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1134.999589920044,
+ "y": 1243.6231399774551,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c3f37303.c62e9",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error executing Create vpn topology failed\" />\n",
+ "comments": "",
+ "x": 1134.9997119903564,
+ "y": 1199.6231399774551,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "eedd5dfa.0c3ec",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 967.999589920044,
+ "y": 1199.6231399774551,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "c3f37303.c62e9"
+ ]
+ ]
+ },
+ {
+ "id": "d4efb2ad.bacb3",
+ "type": "set",
+ "name": "set controller data",
+ "xml": "<set>\n<parameter name='prop.sdncRestApi.thirdpartySdnc.url' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`\" />\n<parameter name='prop.sdncRestApi.thirdpartySdnc.user' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`\" />\n<parameter name='prop.sdncRestApi.thirdpartySdnc.password' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`\" />\n",
+ "comments": "",
+ "x": 1139.565273284912,
+ "y": 932.2990169525146,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "27476583.31719a",
+ "type": "get-resource",
+ "name": "get-resource esr-thirdparty-sdnc",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"esr-thirdparty-sdnc\" \n\t\tkey=\"esr-thirdparty-sdnc.thirdparty-sdnc-id = SDWAN-Controller AND \n\t\t depth = '1'\"\n pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 676.0650634765625,
+ "y": 981.29931640625,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "62080e5d.ec8ce",
+ "dfaa962c.3e1378",
+ "bbba9586.9afb98"
+ ]
+ ]
+ },
+ {
+ "id": "62080e5d.ec8ce",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 942.0652122497559,
+ "y": 944.2990169525146,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "d4efb2ad.bacb3"
+ ]
+ ]
+ },
+ {
+ "id": "dfaa962c.3e1378",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 938.55592918396,
+ "y": 982.8731136322021,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "663ca3f0.5f815c"
+ ]
+ ]
+ },
+ {
+ "id": "bbba9586.9afb98",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 933.88893699646,
+ "y": 1024.2064266204834,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "936e384d.44b2d8"
+ ]
+ ]
+ },
+ {
+ "id": "663ca3f0.5f815c",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`\" />\n\n",
+ "comments": "",
+ "x": 1115.1273403167725,
+ "y": 971.1588497161865,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "936e384d.44b2d8",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`\" />\n\n",
+ "comments": "",
+ "x": 1121.6614933013916,
+ "y": 1019.645619392395,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "96cc2adb.55b7e8",
+ "type": "for",
+ "name": "for pnidx.. mdsal-psd.service-data.networks.network_length[]",
+ "xml": "<for index='pnidx' start='0' end='`$mdsal-parentsd.service-data.networks.network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2013.4972763061523,
+ "y": 1257.122277855873,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "b7189ec7.b6673"
+ ]
+ ]
+ },
+ {
+ "id": "86cf34ff.454008",
+ "type": "switchNode",
+ "name": "switch ActivateSDWANConnectivityInstance",
+ "xml": "<switch test=\"`$mdsal-parentsd.service-data.networks.network[$pnidx].network-data.request-information.request-action == ActivateSDWANConnectivityInstance`\">\n \n \n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1860.165672302246,
+ "y": 1346.1222940683365,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "9f2ef89f.648238"
+ ]
+ ]
+ },
+ {
+ "id": "9f2ef89f.648238",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2116.1651248931885,
+ "y": 1344.1222330331802,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "e8091f90.d8758"
+ ]
+ ]
+ },
+ {
+ "id": "ea7febcc.253688",
+ "type": "for",
+ "name": "for loop paramidx - Get topology from servicedata",
+ "xml": "<for index=\"paramidx\" start=\"0\" end=\"`$mdsal-parentsd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param_length`\">\n \n \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1903.1637878417969,
+ "y": 1437.1214720010757,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "a261c913.e49f08"
+ ]
+ ]
+ },
+ {
+ "id": "c9c5e103.2dba",
+ "type": "switchNode",
+ "name": "switch topology",
+ "xml": "<switch test=\"`$mdsal-psd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'topology'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2357.1641483306885,
+ "y": 1424.121761918068,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "d03c47e7.2291b8"
+ ]
+ ]
+ },
+ {
+ "id": "d03c47e7.2291b8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2506.1639041900635,
+ "y": 1419.1218839883804,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "6f44a2b9.64d87c"
+ ]
+ ]
+ },
+ {
+ "id": "6f44a2b9.64d87c",
+ "type": "set",
+ "name": "set topology",
+ "xml": "<set>\n<parameter name='prop.topology' value='`$mdsal-psd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />\n",
+ "comments": "",
+ "x": 2646.1640911102295,
+ "y": 1416.721799492836,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "2f06a667.74729a",
+ "type": "switchNode",
+ "name": "switch vpnId",
+ "xml": "<switch test=\"`$mdsal-psd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'vpn-id'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2344.8300952911377,
+ "y": 1462.454986691475,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "26cdcacc.68bc96"
+ ]
+ ]
+ },
+ {
+ "id": "26cdcacc.68bc96",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2484.8300380706787,
+ "y": 1462.454803109169,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "b29eb112.7e5e6"
+ ]
+ ]
+ },
+ {
+ "id": "b29eb112.7e5e6",
+ "type": "set",
+ "name": "set prop.vpn1Id",
+ "xml": "<set>\n<parameter name='prop.vpn1Id' value='`$mdsal-parentsd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />\n",
+ "comments": "",
+ "x": 2632.830041885376,
+ "y": 1462.054870724678,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "6f11d9b9.d9b5a8",
+ "type": "execute",
+ "name": "execute RestApiCallNode create vpn ",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-vpn.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/vpn-services'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"vpn-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 689.9980926513672,
+ "y": 1128.1227440834045,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "65b6f0f3.2d5de",
+ "76008493.6f9b6c"
+ ]
+ ]
+ },
+ {
+ "id": "76008493.6f9b6c",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 909.9979953765869,
+ "y": 1124.1227089166641,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "3a95c7bc.96e9b8"
+ ]
+ ]
+ },
+ {
+ "id": "3a95c7bc.96e9b8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1079.9979343414307,
+ "y": 1127.1227089166641,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "daf3ded5.68f9c",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error executing Create vpn failed\" />\n",
+ "comments": "",
+ "x": 1079.9980564117432,
+ "y": 1083.1227089166641,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "65b6f0f3.2d5de",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 912.9979343414307,
+ "y": 1083.1227089166641,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "daf3ded5.68f9c"
+ ]
+ ]
+ },
+ {
+ "id": "643b6a4a.e81654",
+ "type": "set",
+ "name": "set prop.name",
+ "xml": "<set>\n<parameter name='prop.name' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].value`' />\n",
+ "comments": "",
+ "x": 2489.9968280792236,
+ "y": 1051.1214628219604,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "607a7459.cb7aac",
+ "type": "switchNode",
+ "name": "switch sdwanVpnName",
+ "xml": "<switch test=\"`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].name == 'sdwanVpnName'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2169.4965839385986,
+ "y": 1056.1214628219604,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "5340c76b.84ae08"
+ ]
+ ]
+ },
+ {
+ "id": "5340c76b.84ae08",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2346.4968280792236,
+ "y": 1053.1214628219604,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "643b6a4a.e81654"
+ ]
+ ]
+ },
+ {
+ "id": "6b6508e8.a91ff8",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1259.0269775390625,
+ "y": 874.3190307617188,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "f4b4f93.ed2c608",
+ "62278433.5ef6cc",
+ "f022812b.da229"
+ ]
+ ]
+ },
+ {
+ "id": "989cf904.9df618",
+ "type": "for",
+ "name": "for pidx..mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[]",
+ "xml": "<for index='pidx' start='0' end='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 852.18115234375,
+ "y": 883.0944213867188,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "6b6508e8.a91ff8"
+ ]
+ ]
+ },
+ {
+ "id": "62278433.5ef6cc",
+ "type": "execute",
+ "name": "generate tmp.ar-url-connection url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.connection-attachment-allottedresource`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ar-url-connection\"/>\n <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n <parameter name=\"replacement\" value=\"`$prop.ar.provided-allotted-resource-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1507.9962997436523,
+ "y": 872.6668090820312,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f022812b.da229",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get-resource connection-attachment-allotted-resource",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-providedAr\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1656.99609375,
+ "y": 911.3333740234375,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "9877a25.829156",
+ "a15a79a.36a3388"
+ ]
+ ]
+ },
+ {
+ "id": "e782e2ca.8bf82",
+ "type": "execute",
+ "name": "generate prop.ar-parent-service-instance-id",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data\"/> \n <parameter name=\"outputPath\" value=\"tmp.ar-url-connection\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$prop.ar-parent-service-instance-id`\"/>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1687.3295593261719,
+ "y": 1120.0003362894058,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1cdc5d42.9a95b3",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get parent service data",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-parentsd\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1706.3295288085938,
+ "y": 1154.0004221200943,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "a5b86b7b.af84c8",
+ "c3c5524a.3faea"
+ ]
+ ]
+ },
+ {
+ "id": "cee99943.fb3588",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1966.0272235870361,
+ "y": 1030.5311307907104,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "509849b3.d30508",
+ "607a7459.cb7aac"
+ ]
+ ]
+ },
+ {
+ "id": "e8091f90.d8758",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1492.0277786254883,
+ "y": 1477.5313215255737,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "ea7febcc.253688",
+ "2c101b23.e11c54",
+ "390e0e98.c0e052",
+ "64a3b63d.2b1de8"
+ ]
+ ]
+ },
+ {
+ "id": "b7189ec7.b6673",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1602.6634063720703,
+ "y": 1344.667093873024,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "86cf34ff.454008"
+ ]
+ ]
+ },
+ {
+ "id": "a2ba66c.8ff5498",
+ "type": "block",
+ "name": "block atmoic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1827.9984703063965,
+ "y": 1881.667660355568,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "8bbd7692.ac8cd8"
+ ]
+ ]
+ },
+ {
+ "id": "a261c913.e49f08",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2189.027723312378,
+ "y": 1437.5314317941666,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "c9c5e103.2dba",
+ "2f06a667.74729a"
+ ]
+ ]
+ },
+ {
+ "id": "aa76b9db.55ac58",
+ "type": "set",
+ "name": "set prop.attach.siteId",
+ "xml": "<set>\n<parameter name='prop.attach.siteId' value='`$mdsal-parentsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />\n\n",
+ "comments": "",
+ "x": 2080.665012359619,
+ "y": 1955.3338705301285,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "1deec432.31ab3c",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2260.255527496338,
+ "y": 1736.00441801548,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "6d2e1c61.8e7884",
+ "ac9bfac3.fa8558"
+ ]
+ ]
+ },
+ {
+ "id": "feeed51.dea6e28",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1883.755947113037,
+ "y": 1981.754342675209,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "aa76b9db.55ac58",
+ "4e949727.dc9598"
+ ]
+ ]
+ },
+ {
+ "id": "1b86e032.9e8d5",
+ "type": "call",
+ "name": "call sdwan-wanport-vnf-topology-operation-underlay",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-wanport-vnf-topology-operation-underlay' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 739.753984451294,
+ "y": 1336.2539825439453,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7f6d52f3.6e394c",
+ "type": "comment",
+ "name": "underlay",
+ "info": "1. Get consumed AR from service data\n2. for all the AR id's get the respective AR from MDSAL\n3. From MDSAL AR get parent service instance ID\n4. Get service data based in parent service instance ID to get parent service. i.e, SDWAN Infra service\n5. Get SDWAN connectivity from looping network and check for topology\n6. from parent service data get siteAttachInstance vnf and check the role\n7. from parent service data get wanportINstance vnf and check the transportNetworkName\n8. Get provided AR from the parent service data\n9. for each of the provided ARid get the AR from MDSAL\n10.in the AR check for hub\n\n",
+ "comments": "",
+ "x": 647.7229633331299,
+ "y": 1301.22292137146,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "38de1063.b6c52",
+ "type": "set",
+ "name": "set prop.siteAttachement_length=0",
+ "xml": "<set>\n<parameter name='prop.siteAttachements_length' value='0' />\n<parameter name='prop.siteIds_length' value='0' />\n\n\n\n",
+ "comments": "",
+ "x": 688.9999694824219,
+ "y": 848.5311733484268,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "2c101b23.e11c54",
+ "type": "set",
+ "name": "set prop.ar-service-instance-id",
+ "xml": "<set>\n<parameter name='prop.ar-service-instance-id' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.service-information.service-instance-id`' />\n",
+ "comments": "",
+ "x": 1852.0003967285156,
+ "y": 1475.531231880188,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ },
+ {
+ "id": "390e0e98.c0e052",
+ "type": "execute",
+ "name": "generate prop.ar-service-instance-id",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data\"/> \n <parameter name=\"outputPath\" value=\"tmp.ar-url-connection\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$prop.ar-service-instance-id`\"/>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1862.3326683044434,
+ "y": 1516.4093770980835,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "64a3b63d.2b1de8",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get service data",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-sd\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1891.3327331542969,
+ "y": 1557.4093770980835,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "989a92da.0b198",
+ "30bf8c06.3702c4"
+ ]
+ ]
+ },
+ {
+ "id": "989a92da.0b198",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2147.8524169921875,
+ "y": 1566.5972105264664,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "337ed6c3.e36fba"
+ ]
+ ]
+ },
+ {
+ "id": "30bf8c06.3702c4",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2150.000087738037,
+ "y": 1605.5310827493668,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "8b4ff7.5f205008"
+ ]
+ ]
+ },
+ {
+ "id": "337ed6c3.e36fba",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2277.5006103515625,
+ "y": 1560.0311704874039,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "8b4ff7.5f205008",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1625.9998779296875,
+ "y": 1656.5311304330826,
+ "z": "dffc6494.bbb2d8",
+ "wires": [
+ [
+ "70d2ed6a.c33784"
+ ]
+ ]
+ },
+ {
+ "id": "94e25478.dfdfd8",
+ "type": "comment",
+ "name": "TODO send Email",
+ "info": "",
+ "comments": "",
+ "x": 988.9999866485596,
+ "y": 1381.0313110351562,
+ "z": "dffc6494.bbb2d8",
+ "wires": []
+ }
+]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-create.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-create.json
new file mode 100644
index 00000000..1e6cf419
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-create.json
@@ -0,0 +1,1304 @@
+[
+ {
+ "id": "61863820.711ea8",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 88,
+ "y": 36,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "14f9537d.79772d"
+ ]
+ ]
+ },
+ {
+ "id": "14f9537d.79772d",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>",
+ "outputs": 1,
+ "x": 271.00000381469727,
+ "y": 110.00001811981201,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "d19b9445.194798"
+ ]
+ ]
+ },
+ {
+ "id": "d19b9445.194798",
+ "type": "method",
+ "name": "sdwan-attachment-topology-operation-create",
+ "xml": "<method rpc='sdwan-attachment-topology-operation-create' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 259.0001220703125,
+ "y": 198.00000095367432,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "3526110c.60448e"
+ ]
+ ]
+ },
+ {
+ "id": "3526110c.60448e",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 179.00005340576172,
+ "y": 947.0002489089966,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "99952776.e81ae8",
+ "9b94537c.a4dfa",
+ "9596dbd6.648298",
+ "636ccd57.e35144",
+ "43bd9b90.f9bb04",
+ "4e3d9f6f.e48ca",
+ "a91b49df.3ab368",
+ "af03f775.1849d8",
+ "a399f576.497928",
+ "86a651b6.fa2c1",
+ "27a69ba7.020164",
+ "e417171b.b17d78",
+ "a85450f9.54be5",
+ "8337596d.6afa48",
+ "5db0bc82.831f24",
+ "757f6754.1033f8",
+ "e6e8c666.3550b8",
+ "7955fe12.58b57",
+ "9077e61b.e6a3a8",
+ "8e980e4e.121e8",
+ "8bf022a6.d0cbb",
+ "3aa5d5fd.f4649a"
+ ]
+ ]
+ },
+ {
+ "id": "aa8c6e8b.e30e",
+ "type": "comment",
+ "name": "Set allotted resource id if not sent by SO",
+ "info": "",
+ "comments": "",
+ "x": 663.0767517089844,
+ "y": 107.43391990661621,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "99952776.e81ae8",
+ "type": "switchNode",
+ "name": "switch allotted-resource-id",
+ "xml": "<switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 609.0000305175781,
+ "y": 162.99999332427979,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "6811d51c.3757dc",
+ "513b9b13.594134"
+ ]
+ ]
+ },
+ {
+ "id": "6811d51c.3757dc",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 807.0001182556152,
+ "y": 132.999981880188,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "7f9fc121.cd5a5"
+ ]
+ ]
+ },
+ {
+ "id": "513b9b13.594134",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 806.0000267028809,
+ "y": 169.99999237060547,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "28a76577.73245a"
+ ]
+ ]
+ },
+ {
+ "id": "28a76577.73245a",
+ "type": "set",
+ "name": "set tmp.ar.allotted-resource-id",
+ "xml": "<set>\n<parameter name='tmp.ar.allotted-resource-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`' />\n",
+ "comments": "",
+ "x": 1004.0000152587891,
+ "y": 167.0000114440918,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "9b94537c.a4dfa",
+ "type": "set",
+ "name": "set tmp.ar.self-link",
+ "xml": "<set>\n<parameter name='tmp.ar.self-link' value=\"`'restconf/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/'\n + $tmp.ar.allotted-resource-id\n + '/allotted-resource-data/connection-attachment-topology/'` \" />\n\n",
+ "comments": "",
+ "x": 576.9999542236328,
+ "y": 384.0001001358032,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "9596dbd6.648298",
+ "type": "execute",
+ "name": "execute Properties",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 577.2618713378906,
+ "y": 465.6667814254761,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "636ccd57.e35144",
+ "type": "execute",
+ "name": "generate allotted-resource tmp.ar-url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.connection-attachment-allottedresource`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ar-url\"/>\n <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.ar.allotted-resource-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 630.2619323730469,
+ "y": 552.6666994094849,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7f9fc121.cd5a5",
+ "type": "execute",
+ "name": "execute tmp.ar.allotted-resource-id",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\n<parameter name=\"ctx-destination\" value=\"tmp.ar.allotted-resource-id\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1022.0000953674316,
+ "y": 133.9999876022339,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "88221720.7c95b8"
+ ]
+ ]
+ },
+ {
+ "id": "88221720.7c95b8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1240.0001373291016,
+ "y": 133.99995136260986,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "aa4b0ebd.72265"
+ ]
+ ]
+ },
+ {
+ "id": "aa4b0ebd.72265",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value=\"An error occured while generation allotted resource ID\" />\n",
+ "comments": "",
+ "x": 1406.0000915527344,
+ "y": 133.9999656677246,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "1ec18fe8.aa439",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1136.0002307891846,
+ "y": 624.7778720855713,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "14fc1138.5da1ef"
+ ]
+ ]
+ },
+ {
+ "id": "9378fa3a.19c018",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error: Existing connection attachment allotted resource\" />\n \n",
+ "comments": "",
+ "x": 1869.5186100006104,
+ "y": 625.8439435958862,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "b12c1e8e.81e23",
+ "type": "comment",
+ "name": "Check for non existence of allotted resource",
+ "info": "",
+ "comments": "",
+ "x": 992.0001525878906,
+ "y": 558.7779388427734,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "da203e6.ea028c",
+ "type": "for",
+ "name": "for cidx..service-data.consumed-allotted-resources.consumed-allotted-resource[]",
+ "xml": "<for index='cidx' start='0' end='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1512.6666984558105,
+ "y": 769.0000512599945,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "98ae415a.0e4e6"
+ ]
+ ]
+ },
+ {
+ "id": "4e3d9f6f.e48ca",
+ "type": "switchNode",
+ "name": "switch service-data.consumed-allotted-resources_length",
+ "xml": "<switch test='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 694.6660232543945,
+ "y": 745.7140836715698,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "210abe50.d12562",
+ "fd87de34.5f561"
+ ]
+ ]
+ },
+ {
+ "id": "210abe50.d12562",
+ "type": "other",
+ "name": "outcome Null",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 998.8089218139648,
+ "y": 714.5715208053589,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "230c326a.73559e"
+ ]
+ ]
+ },
+ {
+ "id": "fd87de34.5f561",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 975.8089714050293,
+ "y": 775.571475982666,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "6fcbf8ba.f19558"
+ ]
+ ]
+ },
+ {
+ "id": "6fcbf8ba.f19558",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1135.9360618591309,
+ "y": 773.697452545166,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "da203e6.ea028c",
+ "aac67e51.e0669",
+ "1472489a.f6dd67"
+ ]
+ ]
+ },
+ {
+ "id": "230c326a.73559e",
+ "type": "set",
+ "name": "set cidx",
+ "xml": "<set>\n<parameter name='tmp.cidx' value=\"`0`\" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value=\"1\" />\n\n\n",
+ "comments": "",
+ "x": 1148.6659049987793,
+ "y": 712.2855710983276,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "a91b49df.3ab368",
+ "type": "set",
+ "name": "set consumed allotted resources",
+ "xml": "<set>\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-id' value=\"`$tmp.ar.allotted-resource-id` \" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-type' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type` \" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-pointer' value=\"`$tmp.ar.self-link` \" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value='`$tmp.cidx + 1`' />\n\n",
+ "comments": "",
+ "x": 623.5233154296875,
+ "y": 849.2856483459473,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "aac67e51.e0669",
+ "type": "switchNode",
+ "name": "switch tmp.found-cidx",
+ "xml": "<switch test='`$tmp.found-cidx`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1325.0511093139648,
+ "y": 805.708975315094,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "83192091.f2dbe"
+ ]
+ ]
+ },
+ {
+ "id": "83192091.f2dbe",
+ "type": "outcomeTrue",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1515.0510635375977,
+ "y": 805.7089123725891,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "edcd9f1b.5f174"
+ ]
+ ]
+ },
+ {
+ "id": "edcd9f1b.5f174",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1681.0510635375977,
+ "y": 805.7089123725891,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "41ea1034.cd583"
+ ]
+ ]
+ },
+ {
+ "id": "98ae415a.0e4e6",
+ "type": "switchNode",
+ "name": "switch allotted-resource-id",
+ "xml": "<switch test=\"`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id == $tmp.ar.allotted-resource-id`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1929.7783279418945,
+ "y": 766.000078201294,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "f6ba2e93.3a869"
+ ]
+ ]
+ },
+ {
+ "id": "f6ba2e93.3a869",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2111.587902069092,
+ "y": 766.4645252227783,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "135a37d3.398c28"
+ ]
+ ]
+ },
+ {
+ "id": "41ea1034.cd583",
+ "type": "set",
+ "name": "set tmp.cidx",
+ "xml": "<set>\n<parameter name='tmp.cidx' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' />\n",
+ "comments": "",
+ "x": 1842.924446105957,
+ "y": 805.2206134796143,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "3a0c681c.87b8c8",
+ "type": "comment",
+ "name": "Add to consumed service consumed-allotted-resources in mdsal",
+ "info": "Prepare data and add to service-data",
+ "comments": "",
+ "x": 715.667236328125,
+ "y": 676.0000476837158,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "4601b662.be85f8",
+ "type": "comment",
+ "name": "This set resource will be added to MDSAL by provider code",
+ "info": "Below we add to service-data.consumed-allotted-resource at last index",
+ "comments": "",
+ "x": 703.0001525878906,
+ "y": 814.7781400680542,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "6c13b6ba.f1d808",
+ "type": "update",
+ "name": "update AAI allotted-resource",
+ "xml": "<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"allotted-resource\" \n\t\tkey=\"customer.global-customer-id = $connection-attachment-topology-operation-input.service-information.global-customer-id AND\n\t\t\tservice-subscription.service-type = $connection-attachment-topology-operation-input.service-information.subscription-service-type AND\n\t\t\tservice-instance.service-instance-id = $connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id AND\n\t\t\tallotted-resource.id = $tmp.ar.allotted-resource-id\"\n pfx='pfx' local-only='false' force='false'>\n <parameter name=\"id\" value=\"`$tmp.ar.allotted-resource-id`\" />\n\t<parameter name=\"name\" value=\"`$prop.connection-attachment.sotnVpnName`\" />\n\t<parameter name=\"access-provider-id\" value=\"`$prop.connection-attachment.access-provider-id`\" />\n\t<parameter name=\"access-client-id\" value=\"`$prop.connection-attachment.access-client-id`\" />\n\t<parameter name=\"access-topology-id\" value=\"`$prop.connection-attachment.access-topology-id`\" />\n\t<parameter name=\"access-node-id\" value=\"`$prop.connection-attachment.access-node-id`\" />\n\t<parameter name=\"access-ltp-id\" value=\"`$prop.connection-attachment.access-ltp-id`\" />\t\n\t<parameter name=\"cvlan\" value=\"`$prop.connection-attachment.cVLAN`\" />\n <parameter name=\"vpn-name\" value=\"`$prop.connection-attachment.sotnVpnName`\" />\n\t<parameter name=\"selflink\" value=\"`$tmp.ar.self-link`\" />\n\t<parameter name=\"model-invariant-id\" value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.model-invariant-uuid`\" />\n\t<parameter name=\"model-version-id\" value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.model-uuid`\" />\n\t<parameter name=\"operational-status\" value=\"Created\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 613.6908569335938,
+ "y": 1774.531904220581,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "cc11f86f.a05c98",
+ "2748d678.9b155a"
+ ]
+ ]
+ },
+ {
+ "id": "cc11f86f.a05c98",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 808.4527931213379,
+ "y": 1765.4845056533813,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "ad7d0ba7.e370e8"
+ ]
+ ]
+ },
+ {
+ "id": "ad7d0ba7.e370e8",
+ "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=\"AAI failed\" />\n",
+ "comments": "",
+ "x": 974.9766731262207,
+ "y": 1777.1035766601562,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "2748d678.9b155a",
+ "type": "failure",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 815.5480804443359,
+ "y": 1798.246473312378,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "ad7d0ba7.e370e8"
+ ]
+ ]
+ },
+ {
+ "id": "65ec4e22.c3de6",
+ "type": "comment",
+ "name": "Save Resource to AAI",
+ "info": "",
+ "comments": "",
+ "x": 647.5005340576172,
+ "y": 1742.833875656128,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "cf325757.026c08",
+ "type": "comment",
+ "name": "Set allotted resource type if not sent by SO",
+ "info": "",
+ "comments": "",
+ "x": 649,
+ "y": 216.00000095367432,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "43bd9b90.f9bb04",
+ "type": "switchNode",
+ "name": "switch allotted-resource-type",
+ "xml": "<switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 610.9233093261719,
+ "y": 256.5660572052002,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "b8faf677.a88b58",
+ "cb37a8ac.844d88"
+ ]
+ ]
+ },
+ {
+ "id": "b8faf677.a88b58",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 813.9234619140625,
+ "y": 241.56606006622314,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "fb16264e.206978"
+ ]
+ ]
+ },
+ {
+ "id": "cb37a8ac.844d88",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 806.9232902526855,
+ "y": 281.5660800933838,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "46a12ee1.3eb2e"
+ ]
+ ]
+ },
+ {
+ "id": "46a12ee1.3eb2e",
+ "type": "set",
+ "name": "set tmp.ar.allotted-resource-type",
+ "xml": "<set>\n<parameter name='tmp.ar.allotted-resource-type' value='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type`' />\n",
+ "comments": "",
+ "x": 1038.9232749938965,
+ "y": 281.56608486175537,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "e0d4b358.f0111",
+ "type": "comment",
+ "name": "For storage in AAI connection-attachment-topology",
+ "info": "",
+ "comments": "",
+ "x": 673.9999618530273,
+ "y": 351.0000009536743,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "2c1dc14e.d8696e",
+ "type": "comment",
+ "name": "Obtain different URL, template location etc",
+ "info": "For saving resource information to MDSAL & for AAI",
+ "comments": "",
+ "x": 648.9999465942383,
+ "y": 432.8889102935791,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "41be4404.2062fc",
+ "type": "comment",
+ "name": "Used for Put AR by id to MDSAL",
+ "info": "",
+ "comments": "",
+ "x": 615.0000305175781,
+ "y": 521.8889274597168,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "e088f78d.0cd8b8",
+ "type": "comment",
+ "name": "Obtain the last index in services",
+ "info": "ServiceData is added by Provider code",
+ "comments": "",
+ "x": 616.4444732666016,
+ "y": 707.8888721466064,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "9077e61b.e6a3a8",
+ "type": "set",
+ "name": "set output to api handler",
+ "xml": "<set>\n<parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />\n<parameter name='connection-attachment-object-path' value=\"`$tmp.ar.self-link`\"/>\n<parameter name='service-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $connection-attachment-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n \n",
+ "comments": "",
+ "x": 599.2681427001953,
+ "y": 1681.359203338623,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "8e980e4e.121e8",
+ "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": 567.6812286376953,
+ "y": 1843.9749298095703,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "fb16264e.206978",
+ "type": "set",
+ "name": "set tmp.ar.allotted-resource-type",
+ "xml": "<set>\n<parameter name='tmp.ar.allotted-resource-type' value=\"SDWANAttachmentInstance\" />\n",
+ "comments": "",
+ "x": 1053.0001487731934,
+ "y": 241.99998664855957,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "7955fe12.58b57",
+ "type": "execute",
+ "name": "execute RestApiCallNode - PUT AR by id",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.sdwan-attachment.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='PUT' />\n <parameter name=\"responsePrefix\" value=\"mdsal-ar\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 650.0002746582031,
+ "y": 1615.00013256073,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "7e102bff.eb07f4",
+ "11a3c1ef.0f585e",
+ "cbe02c45.fd392"
+ ]
+ ]
+ },
+ {
+ "id": "7e102bff.eb07f4",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 899.6416282653809,
+ "y": 1653.3314628601074,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "d199a2ac.4c653"
+ ]
+ ]
+ },
+ {
+ "id": "11a3c1ef.0f585e",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 890.6416778564453,
+ "y": 1621.831488609314,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "d199a2ac.4c653"
+ ]
+ ]
+ },
+ {
+ "id": "cbe02c45.fd392",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 894.391716003418,
+ "y": 1592.1885934844613,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "d05ce36c.67312"
+ ]
+ ]
+ },
+ {
+ "id": "d199a2ac.4c653",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating md-sal for connection-attachment-allotted-resource\" />\n",
+ "comments": "",
+ "x": 1060.391716003418,
+ "y": 1622.5815124511719,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "d05ce36c.67312",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1036.0476837158203,
+ "y": 1588.3807626739144,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "27a69ba7.020164",
+ "type": "execute",
+ "name": "execute RestApiCallNode - Update parent provided service AR",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.parentsvc.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.parent-ar-url`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='PUT' />\n <parameter name=\"responsePrefix\" value=\"parent\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 714.9999542236328,
+ "y": 1131.000165939331,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "2ac08c5a.9ea264",
+ "9091e2db.32589",
+ "bcd16107.cb13d"
+ ]
+ ]
+ },
+ {
+ "id": "2ac08c5a.9ea264",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1023.3080139160156,
+ "y": 1162.998441696167,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "900f543a.444328"
+ ]
+ ]
+ },
+ {
+ "id": "9091e2db.32589",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1014.3080635070801,
+ "y": 1131.4984674453735,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "900f543a.444328"
+ ]
+ ]
+ },
+ {
+ "id": "bcd16107.cb13d",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1018.0581016540527,
+ "y": 1101.8555723205209,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "1404ab79.5b1245"
+ ]
+ ]
+ },
+ {
+ "id": "900f543a.444328",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating md-sal for connection-attachment-allotted-resource\" />\n",
+ "comments": "",
+ "x": 1184.0581016540527,
+ "y": 1132.2484912872314,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "1404ab79.5b1245",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1159.714069366455,
+ "y": 1098.047741509974,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "39d4184a.092378",
+ "type": "comment",
+ "name": "Put the parent allotted resource in mdsal",
+ "info": "",
+ "comments": "",
+ "x": 643.9999008178711,
+ "y": 1093.000072479248,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "a85450f9.54be5",
+ "type": "set",
+ "name": "set connection-attachment-ar-identifiers",
+ "xml": "<set>\n<parameter name='connection-attachment-ar-identifiers.consuming-service-instance-id' value=\"`$connection-attachment-topology-operation-input.service-information.service-instance-id` \" />\n<parameter name='connection-attachment-ar-identifiers.parent-service-instance-id' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id` \" />\n<parameter name='connection-attachment-ar-identifiers.allotted-resource-type' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type` \" />\n<parameter name='connection-attachment-ar-identifiers.allotted-resource-id' value=\"`$tmp.ar.allotted-resource-id` \" />\n\n",
+ "comments": "",
+ "x": 640.3570861816406,
+ "y": 1295.5716915130615,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "e417171b.b17d78",
+ "type": "set",
+ "name": "set ar-data",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-id' value=\"`$tmp.ar.allotted-resource-id` \" />\n<parameter name='connection-attachment-ar.allotted-resource-status.action' value=\"`$connection-attachment-topology-operation-input.request-information.request-action` \" />\n<parameter name='connection-attachment-ar.allotted-resource-status.rpc-name' value=\"connection-attachment-topology-operation\" />\n<parameter name='connection-attachment-ar.allotted-resource-status.rpc-action' value=\"`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value=\"`$connection-attachment-topology-operation-input.request-information.` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value=\"`$connection-attachment-topology-operation-input.sdnc-request-header.` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value=\"`$connection-attachment-topology-operation-input.service-information.` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.' value=\"`$connection-attachment-topology-operation-input.connection-attachment-request-input.` \" />",
+ "comments": "",
+ "x": 560.2139129638672,
+ "y": 1263.381194114685,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "8337596d.6afa48",
+ "type": "set",
+ "name": "set identifiers in overall structure",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-data.connection-attachment-topology.allotted-resource-identifiers.' \nvalue=\"`$connection-attachment-ar-identifiers.`\" />\n\n\n",
+ "comments": "",
+ "x": 619.1668853759766,
+ "y": 1329.6668767929077,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "5db0bc82.831f24",
+ "type": "execute",
+ "name": "execute getTime",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >\n <parameter name=\"outputPath\" value=\"tmp.current-time\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 571.4997253417969,
+ "y": 1403.0004043579102,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "757f6754.1033f8",
+ "type": "set",
+ "name": "set allotted-resource-oper-status",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='Created' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$connection-attachment-topology-operation-input.request-information.request-action`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-request-id`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />\n",
+ "comments": "",
+ "x": 622.4867630004883,
+ "y": 1458.9516372680664,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "e6e8c666.3550b8",
+ "type": "set",
+ "name": "set model-data",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-data.connection-attachment-topology.onap-model-information.' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.` \" />",
+ "comments": "",
+ "x": 567.0553817749023,
+ "y": 1364.5557622909546,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "99a7dd56.4fb72",
+ "type": "comment",
+ "name": "Prepare data for allotted-resource addition to MDSAL",
+ "info": "This will add to allotted-resource which is present inside service.",
+ "comments": "",
+ "x": 684.3888702392578,
+ "y": 1229.5556087493896,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "86a651b6.fa2c1",
+ "type": "execute",
+ "name": "generate parent-ar url - replace allotted-resource-id",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.parent-ar-url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.parent-ar-url\"/>\n <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.ar.allotted-resource-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 679.5000152587891,
+ "y": 1057.0000114440918,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a399f576.497928",
+ "type": "execute",
+ "name": "generate parent-ar url - replace service-instance-id",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.parent-provided-resource`\"/>\n <parameter name=\"outputPath\" value=\"tmp.parent-ar-url\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.ar.parent-service-instance-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 675.4999389648438,
+ "y": 1014.000147819519,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b106df9f.5ad7c",
+ "type": "comment",
+ "name": "Prepare Parent AR URL",
+ "info": "Preparation to set provided-allotted-resource in parent service instance",
+ "comments": "",
+ "x": 593.5003967285156,
+ "y": 943.0001010894775,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "af03f775.1849d8",
+ "type": "set",
+ "name": "set tmp.ar.parent-service-instance-id",
+ "xml": "<set>\n<parameter name='tmp.ar.parent-service-instance-id' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id` \" />\n\n",
+ "comments": "",
+ "x": 632.5001907348633,
+ "y": 976.5000405311584,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "135a37d3.398c28",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating md-sal for connection-attachment-allotted-resource as cosumed allotted resource already exists.\" />\n",
+ "comments": "",
+ "x": 2189.7569732666016,
+ "y": 814.645830154419,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "1472489a.f6dd67",
+ "type": "set",
+ "name": "set tmp.found-cidx",
+ "xml": "<set>\n<parameter name='tmp.found-cidx' value=\"`false`\" />\n\n\n",
+ "comments": "",
+ "x": 1315.6461448669434,
+ "y": 726.3125731945038,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "a78b3889.5b8998",
+ "type": "comment",
+ "name": "Add to parent services provided-allotted-resources in mdsal",
+ "info": "",
+ "comments": "",
+ "x": 704.2015075683594,
+ "y": 910.9792575836182,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "67269130.185f5",
+ "type": "comment",
+ "name": "Add to allotted-resources in mdsal",
+ "info": "",
+ "comments": "",
+ "x": 624.9686965942383,
+ "y": 1196.9689378738403,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "14fc1138.5da1ef",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1298.000051498413,
+ "y": 624.2777614593506,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "4695b038.898f5"
+ ]
+ ]
+ },
+ {
+ "id": "4695b038.898f5",
+ "type": "switchNode",
+ "name": "switch cr length",
+ "xml": "<switch test='`$mdsal-ar.connection-attachment-allotted-resource_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1485.8574314117432,
+ "y": 624.8968968391418,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "207b23e6.6bd71c"
+ ]
+ ]
+ },
+ {
+ "id": "207b23e6.6bd71c",
+ "type": "other",
+ "name": "outcome 1",
+ "xml": "<outcome value='1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1685.1905536651611,
+ "y": 624.896975517273,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "9378fa3a.19c018"
+ ]
+ ]
+ },
+ {
+ "id": "8bf022a6.d0cbb",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get-resource connection-attachment-allotted-resource",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-ar\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 770.0000534057617,
+ "y": 619.0000371932983,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "1ec18fe8.aa439",
+ "a8c0bcfd.baccb"
+ ]
+ ]
+ },
+ {
+ "id": "a8c0bcfd.baccb",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1138.0000839233398,
+ "y": 589.0000352859497,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "e7c1d5d7.6402e8"
+ ]
+ ]
+ },
+ {
+ "id": "e7c1d5d7.6402e8",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1290.0000839233398,
+ "y": 588.0000352859497,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "3aa5d5fd.f4649a",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 576.0039215087891,
+ "y": 1534.2500038146973,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "eae96cd9.5875e",
+ "23f6c134.a5bc8e"
+ ]
+ ]
+ },
+ {
+ "id": "eae96cd9.5875e",
+ "type": "for",
+ "name": "for each sdwan-get-request-input-param",
+ "xml": "<for index='i' start='0' end='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 911.0041198730469,
+ "y": 1480.2501260638237,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "34a921aa.b7fb2e"
+ ]
+ ]
+ },
+ {
+ "id": "b45075fd.7aae48",
+ "type": "comment",
+ "name": "Required for filling template values",
+ "info": "This is done because connection-attachment is generic resource and doesn't have specific parameters",
+ "comments": "",
+ "x": 933.4486236572266,
+ "y": 1514.0832867622375,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "933f50a4.98d0e",
+ "type": "comment",
+ "name": "Remove VNFC prefix",
+ "info": "",
+ "comments": "",
+ "x": 994.003963470459,
+ "y": 1436.6944618225098,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "34a921aa.b7fb2e",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1158.0039672851562,
+ "y": 1481.6943712234497,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ [
+ "d1aee21e.a2d11",
+ "7c70d1bd.e91da"
+ ]
+ ]
+ },
+ {
+ "id": "f68facaa.6f9bc",
+ "type": "comment",
+ "name": "Take the parameter names by removing prefix",
+ "info": "",
+ "comments": "",
+ "x": 1426.0038146972656,
+ "y": 1397.250369310379,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "d1aee21e.a2d11",
+ "type": "execute",
+ "name": "execute split parameterName",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n<parameter name=\"original_string\" value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$i].name`'/>\n<parameter name=\"regex\" value=\"_\"/>\n<parameter name=\"ctx_memory_result_key\" value=\"param-prefix\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1377.0384826660156,
+ "y": 1432.2294654846191,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7c70d1bd.e91da",
+ "type": "set",
+ "name": "set parameterName",
+ "xml": "<set>\n<parameter name=\"`connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$i].name`\" value='`$param-prefix[$param-prefix_length -1]`'/>\n",
+ "comments": "",
+ "x": 1365.4829559326172,
+ "y": 1536.2294359207153,
+ "z": "8a925a2b.b01bd8",
+ "wires": []
+ },
+ {
+ "id": "23f6c134.a5bc8e",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:sdwan-get-saved-ar-param",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-get-saved-ar-param' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 952.0039672851562,
+ "y": 1554.2500658035278,
+ "z": "8a925a2b.b01bd8",
+ "wires": [
+ []
+ ]
+ }
+]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-deactivate.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-deactivate.json
new file mode 100644
index 00000000..eb1c854d
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-deactivate.json
@@ -0,0 +1,2128 @@
+[
+ {
+ "id": "2bdb51b9.ffb50e",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 113,
+ "y": 44,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "d26984ef.8ad798"
+ ]
+ ]
+ },
+ {
+ "id": "d26984ef.8ad798",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>",
+ "outputs": 1,
+ "x": 325.00000381469727,
+ "y": 116.0000171661377,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "a82211ff.bcbea"
+ ]
+ ]
+ },
+ {
+ "id": "a82211ff.bcbea",
+ "type": "method",
+ "name": "sdwan-attachment-topology-operation-deactivate",
+ "xml": "<method rpc='sdwan-attachment-topology-operation-deactivate' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 313.0001220703125,
+ "y": 204,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "17e8ca87.b6b645"
+ ]
+ ]
+ },
+ {
+ "id": "17e8ca87.b6b645",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 329.0001220703125,
+ "y": 759.0002446174622,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "7ace4d9e.58fcf4",
+ "bea2d27c.d685a",
+ "be682c34.83d48",
+ "693dc7ad.b4be18",
+ "eca332.2df45cd",
+ "e0348bfe.6da088",
+ "fa3b1cd4.6bac8",
+ "666c2133.53672",
+ "41482a99.a59c34",
+ "15783ea7.8d4171",
+ "bde1b214.c3f7b",
+ "96128287.8c319",
+ "6a5b6014.c0c27",
+ "e1363ac.79d3bc8",
+ "47bcadbc.4f3554",
+ "5c4aaa91.ee5904",
+ "adeb4876.0f5318",
+ "2ec20a50.f21ce6",
+ "5ceee25e.e4656c",
+ "e3162e1d.557c8",
+ "10dfad38.ba80e3",
+ "8825a27f.2ee76"
+ ]
+ ]
+ },
+ {
+ "id": "7ace4d9e.58fcf4",
+ "type": "set",
+ "name": "set tmp.ar.allotted-resource-id,etc",
+ "xml": "<set>\n<parameter name='tmp.ar.allotted-resource-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`' />\n<parameter name='tmp.ar.parent-service-instance-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />\n\n\n",
+ "comments": "",
+ "x": 725.9935607910156,
+ "y": 157.9934868812561,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "3dae2c9.5fd3cd4",
+ "type": "comment",
+ "name": "set tmp ar-id to fetch resource from MDSAL",
+ "info": "",
+ "comments": "",
+ "x": 754.9538726806641,
+ "y": 122.02528285980225,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "bea2d27c.d685a",
+ "type": "set",
+ "name": "set tmp.ar.self-link",
+ "xml": "<set>\n<parameter name='tmp.ar.self-link' value=\"`'restconf/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/'\n + $tmp.ar.allotted-resource-id\n + '/allotted-resource-data/connection-attachment-topology/'` \" />\n\n",
+ "comments": "",
+ "x": 679.9934997558594,
+ "y": 250.99349212646484,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "693dc7ad.b4be18",
+ "type": "execute",
+ "name": "execute Properties",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 686.2553901672363,
+ "y": 338.6602210998535,
+ "z": "e055a121.e69f6",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "be682c34.83d48",
+ "type": "execute",
+ "name": "generate allotted-resource tmp.ar-url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.connection-attachment-allottedresource`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ar-url\"/>\n <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.ar.allotted-resource-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 736.2554931640625,
+ "y": 425.66022205352783,
+ "z": "e055a121.e69f6",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "e6fef6dc.2d5ab8",
+ "type": "comment",
+ "name": "GET connection-attachment-allotted-resource from mdsal",
+ "info": "",
+ "comments": "",
+ "x": 779.8085174560547,
+ "y": 517.5387678146362,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "43378634.47ada8",
+ "type": "comment",
+ "name": "Used for setting output to API Handler",
+ "info": "",
+ "comments": "",
+ "x": 733.9935302734375,
+ "y": 217.993501663208,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "2638e15d.85e40e",
+ "type": "comment",
+ "name": "Obtain different URL, template location etc",
+ "info": "For saving resource information to MDSAL & for AAI",
+ "comments": "",
+ "x": 751.9934959411621,
+ "y": 303.8823823928833,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "9a84fa70.2209a8",
+ "type": "comment",
+ "name": "Used to Get AR by id to MDSAL, same as self-link",
+ "info": "",
+ "comments": "",
+ "x": 777.9935150146484,
+ "y": 390.8823413848877,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "d74c07cb.d7c4f8",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1220.6668281555176,
+ "y": 544.0000286102295,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "34940fae.b43b1"
+ ]
+ ]
+ },
+ {
+ "id": "34940fae.b43b1",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1389.6668319702148,
+ "y": 542.4999294281006,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "d6a9a70b.860c78"
+ ]
+ ]
+ },
+ {
+ "id": "d6a9a70b.860c78",
+ "type": "switchNode",
+ "name": "switch cr length",
+ "xml": "<switch test='`$mdsal-ar.connection-attachment-allotted-resource_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1562.5241012573242,
+ "y": 480.11909198760986,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "99f7b40f.a33748",
+ "e196788b.7f6f48"
+ ]
+ ]
+ },
+ {
+ "id": "99f7b40f.a33748",
+ "type": "other",
+ "name": "outcome 1",
+ "xml": "<outcome value='1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1799.8573455810547,
+ "y": 458.1190423965454,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "4d65a30c.1bb46c"
+ ]
+ ]
+ },
+ {
+ "id": "4d65a30c.1bb46c",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic='true'>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1984.3812351226807,
+ "y": 455.02387619018555,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "c007de9b.1a8ea",
+ "5a0d997d.5410d8",
+ "58ae2d07.a93234"
+ ]
+ ]
+ },
+ {
+ "id": "89d000a2.16646",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: SOTN resource not found\" />\n \n",
+ "comments": "",
+ "x": 1908.5190773010254,
+ "y": 580.0661172866821,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "c9d998e2.a81b38",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1212.5186309814453,
+ "y": 579.0661134719849,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "d2ec7fde.451d7"
+ ]
+ ]
+ },
+ {
+ "id": "d2ec7fde.451d7",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1392.5185813903809,
+ "y": 579.7326641082764,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "89d000a2.16646"
+ ]
+ ]
+ },
+ {
+ "id": "e196788b.7f6f48",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1788.1852989196777,
+ "y": 495.3994026184082,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "89d000a2.16646"
+ ]
+ ]
+ },
+ {
+ "id": "c007de9b.1a8ea",
+ "type": "set",
+ "name": "set connection-attachment-ar from get",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.' value='$mdsal-ar.connection-attachment-allotted-resource[0].' />\n",
+ "comments": "",
+ "x": 2230.444793701172,
+ "y": 415.0001058578491,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "58ae2d07.a93234",
+ "type": "set",
+ "name": "set oper-status",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.request-action`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$connection-attachment-ar.allotted-resource-status.rpc-action`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.svc-request-id`' />\n\n",
+ "comments": "",
+ "x": 2163.4447898864746,
+ "y": 505.42866039276123,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "5a0d997d.5410d8",
+ "type": "switchNode",
+ "name": "switch order-status",
+ "xml": "<switch test='`$connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2174.444625854492,
+ "y": 459.0001096725464,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "d61247de.876858",
+ "8beb5612.c27698"
+ ]
+ ]
+ },
+ {
+ "id": "d61247de.876858",
+ "type": "outcome",
+ "name": "outcome Active",
+ "xml": "<outcome value='Active'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2381.044574737549,
+ "y": 449.0001096725464,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "17b6e937.06f8f7"
+ ]
+ ]
+ },
+ {
+ "id": "8beb5612.c27698",
+ "type": "outcome",
+ "name": "outcome Other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2380.7590942382812,
+ "y": 491.4287004470825,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "d4116f87.4108f"
+ ]
+ ]
+ },
+ {
+ "id": "17b6e937.06f8f7",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2533.5151290893555,
+ "y": 447.3757600784302,
+ "z": "e055a121.e69f6",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d4116f87.4108f",
+ "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\" \n value=\"`'Existing connection-attachment-allotted-resource with order status of ' + $connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status + '.'`\" />\n",
+ "comments": "",
+ "x": 2553.6669845581055,
+ "y": 488.000111579895,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "30756753.5fa938",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:sdwan-get-saved-ar-param",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-get-saved-ar-param' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 941.3031158447266,
+ "y": 640.4935908317566,
+ "z": "e055a121.e69f6",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "eca332.2df45cd",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 638.3092803955078,
+ "y": 641.4999389648438,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "30756753.5fa938"
+ ]
+ ]
+ },
+ {
+ "id": "804022a6.3de27",
+ "type": "comment",
+ "name": "GET parent-service-data from mdsal to check existence of other End point",
+ "info": "",
+ "comments": "",
+ "x": 820.0004425048828,
+ "y": 702.5316982269287,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "de0fff38.b1af5",
+ "type": "comment",
+ "name": "GET connection-attachment-ar to store AR data from mdsal",
+ "info": "",
+ "comments": "",
+ "x": 2213.472946166992,
+ "y": 379.5039691925049,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "4c932022.44bb4",
+ "type": "comment",
+ "name": "Set source end point",
+ "info": "",
+ "comments": "",
+ "x": 651.9728393554688,
+ "y": 609.2540645599365,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "e0348bfe.6da088",
+ "type": "set",
+ "name": "set tmp.ar.parent-service-instance-id",
+ "xml": "<set>\n<parameter name='tmp.ar.parent-service-instance-id' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id` \" />\n\n",
+ "comments": "",
+ "x": 704.9689178466797,
+ "y": 734.0002088546753,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "9796ef03.4b4b1",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1082.9689140319824,
+ "y": 783.000207901001,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "b45d9050.17bcb"
+ ]
+ ]
+ },
+ {
+ "id": "bd6c8a09.7c4c38",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1074.8207168579102,
+ "y": 818.0662927627563,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "69c73a80.242c64"
+ ]
+ ]
+ },
+ {
+ "id": "69c73a80.242c64",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: SOTN resource not found\" />\n \n",
+ "comments": "",
+ "x": 1249.9694023132324,
+ "y": 814.3336429595947,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "b45d9050.17bcb",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1233.9689140319824,
+ "y": 781.000207901001,
+ "z": "e055a121.e69f6",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a4e20887.0b85d8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 948.7308311462402,
+ "y": 1757.9527840614319,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "8d059d44.8e7a7"
+ ]
+ ]
+ },
+ {
+ "id": "8d059d44.8e7a7",
+ "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=\"AAI failed\" />\n",
+ "comments": "",
+ "x": 1110.2546653747559,
+ "y": 1802.5718301534653,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "e2a5ade9.56c27",
+ "type": "failure",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 950.8260726928711,
+ "y": 1823.714726805687,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "8d059d44.8e7a7"
+ ]
+ ]
+ },
+ {
+ "id": "3cae81ad.c7916e",
+ "type": "comment",
+ "name": "Save Resource to AAI",
+ "info": "",
+ "comments": "",
+ "x": 662.7784996032715,
+ "y": 1773.3021473884583,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "96128287.8c319",
+ "type": "set",
+ "name": "set output to api handler",
+ "xml": "<set>\n<parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />\n<parameter name='connection-attachment-object-path' value=\"`$tmp.ar.self-link`\"/>\n<parameter name='service-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $connection-attachment-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n \n",
+ "comments": "",
+ "x": 677.5461959838867,
+ "y": 1694.8276286125183,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "6a5b6014.c0c27",
+ "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": 624.9593353271484,
+ "y": 1889.4434475898743,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "bde1b214.c3f7b",
+ "type": "execute",
+ "name": "execute RestApiCallNode - PUT AR by id",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.sdwan-attachment.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='PUT' />\n <parameter name=\"responsePrefix\" value=\"mdsal-ar\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 727.2782974243164,
+ "y": 1602.4684023857117,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "7e9cd2ab.0312bc",
+ "85c2a287.db093",
+ "b89f709c.ac27e"
+ ]
+ ]
+ },
+ {
+ "id": "7e9cd2ab.0312bc",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 995.9196739196777,
+ "y": 1653.7998141273856,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "c16778e0.4835a8"
+ ]
+ ]
+ },
+ {
+ "id": "85c2a287.db093",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 986.9197235107422,
+ "y": 1622.2998398765922,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "c16778e0.4835a8"
+ ]
+ ]
+ },
+ {
+ "id": "b89f709c.ac27e",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 990.6697616577148,
+ "y": 1592.6569447517395,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "69a0963d.493b78"
+ ]
+ ]
+ },
+ {
+ "id": "c16778e0.4835a8",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating md-sal for connection-attachment-allotted-resource\" />\n",
+ "comments": "",
+ "x": 1156.6697616577148,
+ "y": 1623.04986371845,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "69a0963d.493b78",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1132.3257293701172,
+ "y": 1588.8491139411926,
+ "z": "e055a121.e69f6",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "fa3b1cd4.6bac8",
+ "type": "set",
+ "name": "set ar-data",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-status.action' value=\"`$connection-attachment-topology-operation-input.request-information.request-action` \" />\n<parameter name='connection-attachment-ar.allotted-resource-status.rpc-name' value=\"connection-attachment-topology-operation\" />\n<parameter name='connection-attachment-ar.allotted-resource-status.rpc-action' value=\"`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value=\"`$connection-attachment-topology-operation-input.request-information.` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value=\"`$connection-attachment-topology-operation-input.sdnc-request-header.` \" />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value=\"`$connection-attachment-topology-operation-input.service-information.` \" />\n",
+ "comments": "",
+ "x": 627.4919166564941,
+ "y": 1452.8493254184723,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "41482a99.a59c34",
+ "type": "execute",
+ "name": "execute getTime",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >\n <parameter name=\"outputPath\" value=\"tmp.current-time\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 644.777759552002,
+ "y": 1525.4689230918884,
+ "z": "e055a121.e69f6",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "15783ea7.8d4171",
+ "type": "set",
+ "name": "set allotted-resource-oper-status",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='PendingDelete' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$connection-attachment-topology-operation-input.request-information.request-action`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-request-id`' />\n<parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />\n",
+ "comments": "",
+ "x": 699.7648162841797,
+ "y": 1563.420060634613,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "666c2133.53672",
+ "type": "set",
+ "name": "set model-data",
+ "xml": "<set>\n<parameter name='connection-attachment-ar.allotted-resource-data.connection-attachment-topology.onap-model-information.' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.` \" />",
+ "comments": "",
+ "x": 641.3334579467773,
+ "y": 1492.0239758491516,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "6edf8947.4ad548",
+ "type": "comment",
+ "name": "Prepare data for allotted-resource addition to MDSAL",
+ "info": "This will add to allotted-resource which is present inside service.",
+ "comments": "",
+ "x": 750.6668891906738,
+ "y": 1408.0238506793976,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "2f4fb378.be435c",
+ "type": "comment",
+ "name": "Add to allotted-resources in mdsal",
+ "info": "",
+ "comments": "",
+ "x": 692.2467155456543,
+ "y": 1375.4371523857117,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "e440d873.f4a568",
+ "type": "update",
+ "name": "update AAI allotted-resource",
+ "xml": "<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"allotted-resource\" \n\t\tkey=\"customer.global-customer-id = $connection-attachment-topology-operation-input.service-information.global-customer-id AND\n\t\t\tservice-subscription.service-type = $connection-attachment-topology-operation-input.service-information.subscription-service-type AND\n\t\t\tservice-instance.service-instance-id = $connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id AND\n\t\t\tallotted-resource.id = $tmp.ar.allotted-resource-id\"\n pfx='pfx' local-only='false' force='false'>\n\t<parameter name=\"selflink\" value=\"`$tmp.ar.self-link`\" />\n\t<parameter name=\"model-invariant-id\" value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.model-invariant-uuid`\" />\n\t<parameter name=\"model-version-id\" value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.model-uuid`\" />\n\t<parameter name=\"operational-status\" value=\"PendingDelete\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 689.2227783203125,
+ "y": 1810.7542901039124,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "a4e20887.0b85d8",
+ "e2a5ade9.56c27"
+ ]
+ ]
+ },
+ {
+ "id": "e1363ac.79d3bc8",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get-resource connection-attachment-allotted-resource",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-ar\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 853.3339538574219,
+ "y": 560.4999494552612,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "d74c07cb.d7c4f8",
+ "c9d998e2.a81b38"
+ ]
+ ]
+ },
+ {
+ "id": "47bcadbc.4f3554",
+ "type": "execute",
+ "name": "get parent-service-data tmp.ar-url-psd",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data\"/>\n <parameter name=\"outputPath\" value=\"tmp.ar-url-psd\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.ar.parent-service-instance-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 707.0001983642578,
+ "y": 769.0002107620239,
+ "z": "e055a121.e69f6",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5c4aaa91.ee5904",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get-resource parent service data",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-psd`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-psd\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 774.0001602172852,
+ "y": 804.0002946853638,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "9796ef03.4b4b1",
+ "bd6c8a09.7c4c38"
+ ]
+ ]
+ },
+ {
+ "id": "adaeb2d3.7f8c4",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2594.812660217285,
+ "y": 821.329451084137,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "a3d10a9a.3a1df8"
+ ]
+ ]
+ },
+ {
+ "id": "cddd16fb.abe6b8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2628.66414642334,
+ "y": 767.3954176902771,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "af15096f.71acd8"
+ ]
+ ]
+ },
+ {
+ "id": "fee7243c.735b08",
+ "type": "for",
+ "name": "for arvidx.. mdsal-sd.service-data.vnfs.vnf_length[]",
+ "xml": "<for index='arvidx' start='0' end='`$mdsal-sd.service-data.vnfs.vnf_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2113.81356048584,
+ "y": 1648.9966716766357,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "6c84c38f.13baec"
+ ]
+ ]
+ },
+ {
+ "id": "6c84c38f.13baec",
+ "type": "block",
+ "name": "block atmoic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2389.4801330566406,
+ "y": 1649.9967045783997,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "fc4d2ad5.d7c638"
+ ]
+ ]
+ },
+ {
+ "id": "fc4d2ad5.d7c638",
+ "type": "switchNode",
+ "name": "switch ActivateSiteInstance",
+ "xml": "<switch test=\"`$mdsal-parentsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == ActivateSiteInstance`\">\n \n \n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2626.34383392334,
+ "y": 1654.1946682929993,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "3d2b3845.2b40b8"
+ ]
+ ]
+ },
+ {
+ "id": "3d2b3845.2b40b8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2835.343349456787,
+ "y": 1654.194821357727,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "1ec9b1bd.90608e"
+ ]
+ ]
+ },
+ {
+ "id": "c0ef9502.2ffda8",
+ "type": "set",
+ "name": "set tmp.sitevidx ",
+ "xml": "<set>\n<parameter name='tmp.sitevidx' value='`$arvidx`' />\n\n",
+ "comments": "",
+ "x": 2232.3442993164062,
+ "y": 1758.1952500343323,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "faa3fd1c.58594",
+ "type": "set",
+ "name": "set prop.ar-parent-service-instance-id",
+ "xml": "<set>\n<parameter name='prop.ar-parent-service-instance-id' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.parent-service-instance-id`' />\n",
+ "comments": "",
+ "x": 2148.8124618530273,
+ "y": 1071.9961004257202,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "798afd86.2541c4",
+ "type": "for",
+ "name": "for loop aridx - Get role from allotted resource",
+ "xml": "<for index=\"aridx\" start=\"0\" end=\"`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`\">\n \n \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2174.812255859375,
+ "y": 1020.4959716796875,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "20bb02be.0259ee"
+ ]
+ ]
+ },
+ {
+ "id": "20bb02be.0259ee",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2429.81258392334,
+ "y": 1017.496431350708,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "245bf6ff.3e669a",
+ "c47b810c.d3dc3"
+ ]
+ ]
+ },
+ {
+ "id": "245bf6ff.3e669a",
+ "type": "switchNode",
+ "name": "switch Role",
+ "xml": "<switch test=\"`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].name == 'Role'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2559.8124046325684,
+ "y": 989.4963684082031,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "2a2eadb0.1dbad2"
+ ]
+ ]
+ },
+ {
+ "id": "2a2eadb0.1dbad2",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2700.8127365112305,
+ "y": 988.4963674545288,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "991f431c.722fb"
+ ]
+ ]
+ },
+ {
+ "id": "991f431c.722fb",
+ "type": "set",
+ "name": "set prop.role",
+ "xml": "<set>\n<parameter name='prop.role' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].value`' />\n",
+ "comments": "",
+ "x": 2866.8134002685547,
+ "y": 983.0962705612183,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "f74ee755.f16cf8",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2446.8130836486816,
+ "y": 1166.9963779449463,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "cbc38822.1755a8"
+ ]
+ ]
+ },
+ {
+ "id": "32c3c46f.3bc2bc",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2440.664825439453,
+ "y": 1123.0624151229858,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "7c65d2f6.31dcec"
+ ]
+ ]
+ },
+ {
+ "id": "af15096f.71acd8",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2754.812271118164,
+ "y": 764.4958510398865,
+ "z": "e055a121.e69f6",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a3d10a9a.3a1df8",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1884.3121337890625,
+ "y": 1038.4959716796875,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "798afd86.2541c4",
+ "faa3fd1c.58594",
+ "e9b06c97.acbe5",
+ "6b58bb8e.b3cd84"
+ ]
+ ]
+ },
+ {
+ "id": "7c65d2f6.31dcec",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2570.3129444122314,
+ "y": 1116.496335029602,
+ "z": "e055a121.e69f6",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "cbc38822.1755a8",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1960.3124237060547,
+ "y": 1243.495985031128,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "d2493073.c1028"
+ ]
+ ]
+ },
+ {
+ "id": "2180b01e.7e4f6",
+ "type": "for",
+ "name": "for loop siteidx - Get site ID from servicedata",
+ "xml": "<for index=\"siteidx\" start=\"0\" end=\"`$mdsal-parentsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n \n \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2324.3151473999023,
+ "y": 1799.4970078468323,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "af63b1cd.e76ae"
+ ]
+ ]
+ },
+ {
+ "id": "e04f34e4.013728",
+ "type": "switchNode",
+ "name": "switch siteId",
+ "xml": "<switch test=\"`$mdsal-parentsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'siteId'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2396.3171310424805,
+ "y": 1867.4979872703552,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "f8f1f3f8.78972"
+ ]
+ ]
+ },
+ {
+ "id": "b95ce81a.c946a8",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2250.8154067993164,
+ "y": 1940.99702501297,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "fb38a029.7518f",
+ "4ede6e05.800f6"
+ ]
+ ]
+ },
+ {
+ "id": "e3162e1d.557c8",
+ "type": "execute",
+ "name": "execute RestApiCallNode delete vpn topology",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-vpn-tolopogy.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/' + $prop.vpn1Id + '/topology'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"vpn-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 725.8129196166992,
+ "y": 1200.4966821670532,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "512bde3d.9ae1f",
+ "b1a2ea7d.7f7bd8"
+ ]
+ ]
+ },
+ {
+ "id": "512bde3d.9ae1f",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 980.812686920166,
+ "y": 1216.4966821670532,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "94f6bfc2.443d3"
+ ]
+ ]
+ },
+ {
+ "id": "94f6bfc2.443d3",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1150.8126258850098,
+ "y": 1219.4966821670532,
+ "z": "e055a121.e69f6",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "8511117c.800f2",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error executing Create vpn rest api\" />\n",
+ "comments": "",
+ "x": 1150.8127479553223,
+ "y": 1175.4966821670532,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "b1a2ea7d.7f7bd8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 983.8126258850098,
+ "y": 1175.4966821670532,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "8511117c.800f2"
+ ]
+ ]
+ },
+ {
+ "id": "7731dc6f.5a7d24",
+ "type": "set",
+ "name": "set controller data",
+ "xml": "<set>\n<parameter name='prop.sdncRestApi.thirdpartySdnc.url' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`\" />\n<parameter name='prop.sdncRestApi.thirdpartySdnc.user' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`\" />\n<parameter name='prop.sdncRestApi.thirdpartySdnc.password' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`\" />\n",
+ "comments": "",
+ "x": 1131.3796367645264,
+ "y": 972.1728582382202,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "8825a27f.2ee76",
+ "type": "get-resource",
+ "name": "get-resource esr-thirdparty-sdnc",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"esr-thirdparty-sdnc\" \n\t\tkey=\"esr-thirdparty-sdnc.thirdparty-sdnc-id = SDWAN-Controller AND \n\t\t depth = '1'\"\n pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 700.8793792724609,
+ "y": 1023.1732087135315,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "2e6a47b6.7b6de8",
+ "9dc29fcc.585cf",
+ "49b46c59.711bd4"
+ ]
+ ]
+ },
+ {
+ "id": "2e6a47b6.7b6de8",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 959.8796710968018,
+ "y": 978.1728420257568,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "7731dc6f.5a7d24"
+ ]
+ ]
+ },
+ {
+ "id": "9dc29fcc.585cf",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 956.3703880310059,
+ "y": 1016.7469387054443,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "8fde510d.f3ff3"
+ ]
+ ]
+ },
+ {
+ "id": "49b46c59.711bd4",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 951.7033958435059,
+ "y": 1058.0802516937256,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "9ea97502.11aad8"
+ ]
+ ]
+ },
+ {
+ "id": "8fde510d.f3ff3",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`\" />\n\n",
+ "comments": "",
+ "x": 1106.9417037963867,
+ "y": 1011.0326910018921,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "9ea97502.11aad8",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`\" />\n\n",
+ "comments": "",
+ "x": 1113.4758567810059,
+ "y": 1059.5194606781006,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "d2493073.c1028",
+ "type": "for",
+ "name": "for pnidx.. mdsal-psd.service-data.networks.network_length[]",
+ "xml": "<for index='pnidx' start='0' end='`$mdsal-parentsd.service-data.networks.network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2285.311996459961,
+ "y": 1242.9957127571106,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "220869b3.8ab4c6"
+ ]
+ ]
+ },
+ {
+ "id": "220869b3.8ab4c6",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1963.9790878295898,
+ "y": 1333.995548248291,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "542e96e2.bce748"
+ ]
+ ]
+ },
+ {
+ "id": "542e96e2.bce748",
+ "type": "switchNode",
+ "name": "switch ActivateSDWANConnectivityInstance",
+ "xml": "<switch test=\"`$mdsal-parentsd.service-data.networks.network[$pnidx].network-data.request-information.request-action == 'ActivateSDWANConnectivityInstance'`\">\n \n \n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2208.979820251465,
+ "y": 1335.9959144592285,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "6a416d6d.a241f4"
+ ]
+ ]
+ },
+ {
+ "id": "6a416d6d.a241f4",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2465.9793128967285,
+ "y": 1334.9960446357727,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "fe572e69.46e77"
+ ]
+ ]
+ },
+ {
+ "id": "fd8cdc4f.58f91",
+ "type": "for",
+ "name": "for loop paramidx - Get topology from servicedata",
+ "xml": "<for index=\"paramidx\" start=\"0\" end=\"`$mdsal-parentsd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param_length`\">\n \n \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2267.9799995422363,
+ "y": 1424.995632648468,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "21109ad6.0bc416"
+ ]
+ ]
+ },
+ {
+ "id": "21109ad6.0bc416",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2533.979688644409,
+ "y": 1421.9959559440613,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "c6ab4f3c.02f18",
+ "dd125781.58e528"
+ ]
+ ]
+ },
+ {
+ "id": "c6ab4f3c.02f18",
+ "type": "switchNode",
+ "name": "switch topology",
+ "xml": "<switch test=\"`$mdsal-psd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'topology'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2704.98002243042,
+ "y": 1390.9954657554626,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "ec8b6683.dafbe8"
+ ]
+ ]
+ },
+ {
+ "id": "ec8b6683.dafbe8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2856.9800128936768,
+ "y": 1392.9954962730408,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "8651aac5.31b1a8"
+ ]
+ ]
+ },
+ {
+ "id": "8651aac5.31b1a8",
+ "type": "set",
+ "name": "set topology",
+ "xml": "<set>\n<parameter name='prop.topology' value='`$mdsal-psd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />\n",
+ "comments": "",
+ "x": 3000.9800243377686,
+ "y": 1392.5954308509827,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "dd125781.58e528",
+ "type": "switchNode",
+ "name": "switch vpnId",
+ "xml": "<switch test=\"`$mdsal-psd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'vpnId'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2696.645746231079,
+ "y": 1433.328447818756,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "d2a6c128.0e306"
+ ]
+ ]
+ },
+ {
+ "id": "d2a6c128.0e306",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2848.645736694336,
+ "y": 1435.3284783363342,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "88095b1a.e451a8"
+ ]
+ ]
+ },
+ {
+ "id": "88095b1a.e451a8",
+ "type": "set",
+ "name": "set prop.vpn1Id",
+ "xml": "<set>\n<parameter name='prop.vpn1Id' value='`$mdsal-parentsd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />\n",
+ "comments": "",
+ "x": 2992.6457481384277,
+ "y": 1434.9284129142761,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "10dfad38.ba80e3",
+ "type": "execute",
+ "name": "execute RestApiCallNode delete vpn ",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-vpn.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/vpn'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"vpn-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 698.8125915527344,
+ "y": 1311.9966473579407,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "dbba5b2e.06b178",
+ "92b8b7a2.551998"
+ ]
+ ]
+ },
+ {
+ "id": "dbba5b2e.06b178",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 931.8126697540283,
+ "y": 1336.9966464042664,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "647fdeef.e91dd"
+ ]
+ ]
+ },
+ {
+ "id": "647fdeef.e91dd",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1101.812608718872,
+ "y": 1339.9966464042664,
+ "z": "e055a121.e69f6",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "487a6881.62d628",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error executing Create vpn rest api\" />\n",
+ "comments": "",
+ "x": 1101.8127307891846,
+ "y": 1295.9966464042664,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "92b8b7a2.551998",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 934.8126087188721,
+ "y": 1295.9966464042664,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "487a6881.62d628"
+ ]
+ ]
+ },
+ {
+ "id": "d0aa490b.36da18",
+ "type": "set",
+ "name": "set prop.name",
+ "xml": "<set>\n<parameter name='prop.name' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].value`' />\n",
+ "comments": "",
+ "x": 2914.8124046325684,
+ "y": 1035.9959411621094,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "c47b810c.d3dc3",
+ "type": "switchNode",
+ "name": "switch sdwanVpnName",
+ "xml": "<switch test=\"`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].name == 'sdwanVpnName'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2595.312244415283,
+ "y": 1038.9959335327148,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "947974c8.04d658"
+ ]
+ ]
+ },
+ {
+ "id": "947974c8.04d658",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2766.3124046325684,
+ "y": 1037.9960021972656,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "d0aa490b.36da18"
+ ]
+ ]
+ },
+ {
+ "id": "ddcd4395.ffc5",
+ "type": "set",
+ "name": "set prop.ar.provided-allotted-resource-id",
+ "xml": "<set>\n<parameter name='prop.ar.provided-allotted-resource-id' value='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[$pidx].allotted-resource-id`' />\n\n\n",
+ "comments": "",
+ "x": 2080.81201171875,
+ "y": 779.9960656166077,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "de8fd68.62a4428",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1258.8424682617188,
+ "y": 887.1932353973389,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "1e72ef49.46e8b1"
+ ]
+ ]
+ },
+ {
+ "id": "25ee3acf.45d7b6",
+ "type": "execute",
+ "name": "generate tmp.ar-url-connection url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.connection-attachment-allottedresource`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ar-url-connection\"/>\n <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n <parameter name=\"replacement\" value=\"`$prop.ar.provided-allotted-resource-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2065.32967376709,
+ "y": 813.329541683197,
+ "z": "e055a121.e69f6",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "e392cace.793438",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get-resource connection-attachment-allotted-resource",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-providedAr\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2205.329303741455,
+ "y": 848.9958329200745,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "cddd16fb.abe6b8",
+ "adaeb2d3.7f8c4"
+ ]
+ ]
+ },
+ {
+ "id": "e9b06c97.acbe5",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get parent service data",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-parentsd\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2180.9965438842773,
+ "y": 1141.9958896636963,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "f74ee755.f16cf8",
+ "32c3c46f.3bc2bc"
+ ]
+ ]
+ },
+ {
+ "id": "fe572e69.46e77",
+ "type": "block",
+ "name": "block atmoic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1925.329963684082,
+ "y": 1431.6630954742432,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "fd8cdc4f.58f91",
+ "1d60ce05.e0ad92",
+ "11102f6.31d23d1",
+ "a4fa1e7f.2461f"
+ ]
+ ]
+ },
+ {
+ "id": "fb38a029.7518f",
+ "type": "set",
+ "name": "set prop.attach.siteId",
+ "xml": "<set>\n<parameter name='prop.attach.siteId' value='`$mdsal-parentsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />\n\n",
+ "comments": "",
+ "x": 2516.998279571533,
+ "y": 1922.663851261139,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "f8f1f3f8.78972",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2536.99853515625,
+ "y": 1867.6636776924133,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "b95ce81a.c946a8"
+ ]
+ ]
+ },
+ {
+ "id": "1ec9b1bd.90608e",
+ "type": "block",
+ "name": "block atmoic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2029.664421081543,
+ "y": 1753.3301882743835,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "2180b01e.7e4f6",
+ "c0ef9502.2ffda8"
+ ]
+ ]
+ },
+ {
+ "id": "adeb4876.0f5318",
+ "type": "for",
+ "name": "for pidx..mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[]",
+ "xml": "<for index='pidx' start='0' end='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 866.181224822998,
+ "y": 922.635835647583,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "de8fd68.62a4428"
+ ]
+ ]
+ },
+ {
+ "id": "af63b1cd.e76ae",
+ "type": "block",
+ "name": "block atmoic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2241.664779663086,
+ "y": 1864.0008358955383,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "e04f34e4.013728"
+ ]
+ ]
+ },
+ {
+ "id": "2ec20a50.f21ce6",
+ "type": "set",
+ "name": "set prop.siteAttachement_length=0",
+ "xml": "<set>\n<parameter name='prop.siteAttachements_length' value='0' />\n<parameter name='prop.siteIds_length' value='0' />\n\n\n\n",
+ "comments": "",
+ "x": 712,
+ "y": 865.5311913490295,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "4ede6e05.800f6",
+ "type": "set",
+ "name": "Add sites to list and update length",
+ "xml": "<set>\n<parameter name='prop.siteIds[$prop.siteIds_length]' value='`$prop.attach.siteId`' />\n<parameter name='prop.siteIds_length' value='`$prop.siteIds_length + 1`' />\n\n<parameter name='prop.siteAttachements[$prop.siteAttachements_length].siteId' value='`$prop.attach.siteId`' />\n<parameter name='prop.siteAttachements[$prop.siteAttachements_length].roles[0]' value='`$prop.role`' />\n<parameter name='prop.siteAttachements[$prop.siteAttachements_length].roles_length' value='1' />\n<parameter name='prop.siteAttachements_length' value='`$prop.siteAttachements_length + 1`' />\n\n\n\n\n\n\n\n\n\n\n\n\n",
+ "comments": "",
+ "x": 2544.502113342285,
+ "y": 1967.5316562652588,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "6b58bb8e.b3cd84",
+ "type": "execute",
+ "name": "generate prop.ar-parent-service-instance-id",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data\"/> \n <parameter name=\"outputPath\" value=\"tmp.ar-url-connection\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$prop.ar-parent-service-instance-id`\"/>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2165.500144958496,
+ "y": 1104.5314102172852,
+ "z": "e055a121.e69f6",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1d60ce05.e0ad92",
+ "type": "set",
+ "name": "set prop.ar-service-instance-id",
+ "xml": "<set>\n<parameter name='prop.ar-service-instance-id' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.service-information.service-instance-id`' />\n",
+ "comments": "",
+ "x": 2198.5005645751953,
+ "y": 1493.531328201294,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "11102f6.31d23d1",
+ "type": "execute",
+ "name": "generate prop.ar-service-instance-id",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data\"/> \n <parameter name=\"outputPath\" value=\"tmp.ar-url-connection\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$prop.ar-service-instance-id`\"/>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2223.833023071289,
+ "y": 1526.4096240997314,
+ "z": "e055a121.e69f6",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a4fa1e7f.2461f",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get-resource service data",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-sd\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2274.8331451416016,
+ "y": 1563.4094429016113,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "6e57063a.0010c8",
+ "6eeded55.346254"
+ ]
+ ]
+ },
+ {
+ "id": "6eeded55.346254",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2553.5002098083496,
+ "y": 1559.5311546325684,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "4470f1a5.f3f5a"
+ ]
+ ]
+ },
+ {
+ "id": "6e57063a.0010c8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2551.3525390625,
+ "y": 1520.597282409668,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "85643aef.3b34a8"
+ ]
+ ]
+ },
+ {
+ "id": "85643aef.3b34a8",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2681.000732421875,
+ "y": 1514.0312423706055,
+ "z": "e055a121.e69f6",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "4470f1a5.f3f5a",
+ "type": "block",
+ "name": "block atmoic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2702.501106262207,
+ "y": 1560.5313396453857,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "fee7243c.735b08"
+ ]
+ ]
+ },
+ {
+ "id": "1e72ef49.46e8b1",
+ "type": "switchNode",
+ "name": "switch allotted resource ID match",
+ "xml": "<switch test=\"`$prop.ar.provided-allotted-resource-id == $tmp.ar.allotted-resource-id`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1482.500114440918,
+ "y": 884.0312638282776,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "e324a45a.91d0f8"
+ ]
+ ]
+ },
+ {
+ "id": "e324a45a.91d0f8",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1696.5001792907715,
+ "y": 815.0312943458557,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "80651cf1.36d15"
+ ]
+ ]
+ },
+ {
+ "id": "80651cf1.36d15",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1838.5004272460938,
+ "y": 814.0312352180481,
+ "z": "e055a121.e69f6",
+ "wires": [
+ [
+ "ddcd4395.ffc5",
+ "25ee3acf.45d7b6",
+ "e392cace.793438"
+ ]
+ ]
+ },
+ {
+ "id": "c2710bbf.7f5e98",
+ "type": "comment",
+ "name": "if allotted resource Id match with the incomming allotted resource ID, sites in this service vnf should not be included",
+ "info": "parent instId 200 | parent instId 200\nservice instId 100| service InstId 200\n site1 | site2\n allotted resId 1 | allotted resId 2 \n --------------------------------------\n Deactivate:\n loop for provided allotted res ID\n If allotted resId 1 matches with incomming allotted resource Id then we should delete the sites available in the service data 100\n for this we have to send request for deleting with site IDs site2 without including site1.\n \n \n ",
+ "comments": "",
+ "x": 1791.5000305175781,
+ "y": 747.0312962532043,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "4c2f69ef.f668e8",
+ "type": "comment",
+ "name": "loop for provided allotted rsource Id",
+ "info": "",
+ "comments": "",
+ "x": 978.5,
+ "y": 886.5312523841858,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "ce1eca8a.5fa098",
+ "type": "comment",
+ "name": "get allotted resource for the allotted resource ID",
+ "info": "",
+ "comments": "",
+ "x": 2352.500328063965,
+ "y": 748.5311741828918,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "c6139ab0.680cf8",
+ "type": "comment",
+ "name": "get parent service data to get connectivity which has connectivity and vpn ID",
+ "info": "",
+ "comments": "",
+ "x": 2135.499855041504,
+ "y": 975.5312519073486,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "1497e243.92bc1e",
+ "type": "comment",
+ "name": "get service data from service instance id from allotted reosurce Id to get sites vnf",
+ "info": "",
+ "comments": "",
+ "x": 2324.499855041504,
+ "y": 1457.5310516357422,
+ "z": "e055a121.e69f6",
+ "wires": []
+ },
+ {
+ "id": "5ceee25e.e4656c",
+ "type": "call",
+ "name": "call sdwan-vnf-topology-operation-underlay for delete",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-wanport-vnf-topology-operation-underlay' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 759.5001220703125,
+ "y": 1116.5312991142273,
+ "z": "e055a121.e69f6",
+ "wires": [
+ []
+ ]
+ }
+]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-delete.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-delete.json
new file mode 100644
index 00000000..6668fb4a
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-delete.json
@@ -0,0 +1,938 @@
+[
+ {
+ "id": "df4555dd.a3e848",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 104,
+ "y": 41,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "92ceb461.e9ae38"
+ ]
+ ]
+ },
+ {
+ "id": "92ceb461.e9ae38",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>",
+ "outputs": 1,
+ "x": 316.00000381469727,
+ "y": 113.0000171661377,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "d3022041.62ba5"
+ ]
+ ]
+ },
+ {
+ "id": "d3022041.62ba5",
+ "type": "method",
+ "name": "sdwan-attachment-topology-operation-delete",
+ "xml": "<method rpc='sdwan-attachment-topology-operation-delete' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 304.0001220703125,
+ "y": 201,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "28bf3b94.47a4c4"
+ ]
+ ]
+ },
+ {
+ "id": "28bf3b94.47a4c4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 320.0001220703125,
+ "y": 756.0002446174622,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "807be759.b5e538",
+ "3103f64.d6db90a",
+ "6956382b.b9da98",
+ "fe793d2b.5a34a",
+ "967f6552.ee9a38",
+ "a1a9abde.ea9de8",
+ "d08c66c4.7c2608",
+ "661b7087.2c2c2",
+ "9281bde8.0db15",
+ "a05764a0.242458",
+ "51c0b7ea.3f9dc8",
+ "3ad79f2e.53c8c",
+ "82dc876b.abfd98",
+ "55f05cd1.c7cc44",
+ "12de84a1.b1a80b"
+ ]
+ ]
+ },
+ {
+ "id": "807be759.b5e538",
+ "type": "set",
+ "name": "set tmp.ar.allotted-resource-id,etc",
+ "xml": "<set>\n<parameter name='tmp.ar.allotted-resource-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`' />\n<parameter name='tmp.ar.parent-service-instance-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />\n\n\n",
+ "comments": "",
+ "x": 716.9935607910156,
+ "y": 154.9934868812561,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "d198c8fb.642db8",
+ "type": "comment",
+ "name": "set tmp ar-id to fetch resource from MDSAL",
+ "info": "",
+ "comments": "",
+ "x": 745.9538726806641,
+ "y": 119.02528285980225,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "3103f64.d6db90a",
+ "type": "set",
+ "name": "set tmp.ar.self-link",
+ "xml": "<set>\n<parameter name='tmp.ar.self-link' value=\"`'restconf/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/'\n + $tmp.ar.allotted-resource-id\n + '/allotted-resource-data/connection-attachment-topology/'` \" />\n\n",
+ "comments": "",
+ "x": 670.9934997558594,
+ "y": 247.99349212646484,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "967f6552.ee9a38",
+ "type": "execute",
+ "name": "execute Properties",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 677.2553901672363,
+ "y": 335.6602210998535,
+ "z": "5775f861.275e28",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "6956382b.b9da98",
+ "type": "execute",
+ "name": "generate allotted-resource url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.connection-attachment-allottedresource`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ar-url\"/>\n <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.ar.allotted-resource-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 709.2554168701172,
+ "y": 423.66020250320435,
+ "z": "5775f861.275e28",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "3672b3c8.5060cc",
+ "type": "comment",
+ "name": "Used for setting output to API Handler",
+ "info": "",
+ "comments": "",
+ "x": 724.9935302734375,
+ "y": 214.993501663208,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "e2c9f631.cf0b18",
+ "type": "comment",
+ "name": "Obtain different URL, template location etc",
+ "info": "For saving resource information to MDSAL & for AAI",
+ "comments": "",
+ "x": 742.9934959411621,
+ "y": 300.8823823928833,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "c3b16670.191818",
+ "type": "comment",
+ "name": "Used to Get AR by id to MDSAL, same as self-link",
+ "info": "",
+ "comments": "",
+ "x": 768.9935150146484,
+ "y": 387.8823413848877,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "bae16026.94177",
+ "type": "comment",
+ "name": "GET parent-service-data from mdsal to check existence of other End point",
+ "info": "",
+ "comments": "",
+ "x": 836.0003280639648,
+ "y": 842.5316228866577,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "d310ec7e.ce8c1",
+ "type": "for",
+ "name": "for pidx..mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[]",
+ "xml": "<for index='pidx' start='0' end='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1664.1849365234375,
+ "y": 1076.00425863266,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "ec3e44a4.ec0718"
+ ]
+ ]
+ },
+ {
+ "id": "fe793d2b.5a34a",
+ "type": "switchNode",
+ "name": "switch mdsal-psd.service-data.provided-allotted-resources_length",
+ "xml": "<switch test='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 815.1842956542969,
+ "y": 1082.718041419983,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "7a0bf533.2fea3c",
+ "7505397d.8aabc8"
+ ]
+ ]
+ },
+ {
+ "id": "1ad39230.0014ce",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1265.4544582366943,
+ "y": 1122.7015271186829,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "d310ec7e.ce8c1",
+ "757e6827.467698"
+ ]
+ ]
+ },
+ {
+ "id": "ec3e44a4.ec0718",
+ "type": "switchNode",
+ "name": "switch allotted-resource-id",
+ "xml": "<switch test=\"`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[$pidx].allotted-resource-id == $tmp.ar.allotted-resource-id`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2114.296142578125,
+ "y": 1074.0041165351868,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "f9268a01.5183a8"
+ ]
+ ]
+ },
+ {
+ "id": "a1a9abde.ea9de8",
+ "type": "set",
+ "name": "set tmp.ar.parent-service-instance-id",
+ "xml": "<set>\n<parameter name='tmp.ar.parent-service-instance-id' value=\"`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id` \" />\n\n",
+ "comments": "",
+ "x": 726.9687118530273,
+ "y": 878.0000677108765,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "23d329ac.3b7e66",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1106.968994140625,
+ "y": 956.0001826286316,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "5bb8e723.a51448"
+ ]
+ ]
+ },
+ {
+ "id": "e13f07b8.3067a8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1098.8207969665527,
+ "y": 991.066267490387,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "ad43541b.ecf6c8"
+ ]
+ ]
+ },
+ {
+ "id": "ad43541b.ecf6c8",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: SOTN resource not found\" />\n \n",
+ "comments": "",
+ "x": 1273.969482421875,
+ "y": 987.3336176872253,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "5bb8e723.a51448",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1257.968994140625,
+ "y": 954.0001826286316,
+ "z": "5775f861.275e28",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "9e10ac1a.8f491",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 960.7307624816895,
+ "y": 1271.952815413475,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "37086a0f.d393c6"
+ ]
+ ]
+ },
+ {
+ "id": "37086a0f.d393c6",
+ "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=\"AAI failed\" />\n",
+ "comments": "",
+ "x": 1127.2546424865723,
+ "y": 1283.57188642025,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "824c305f.f99dc",
+ "type": "failure",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 967.8260498046875,
+ "y": 1304.7147830724716,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "37086a0f.d393c6"
+ ]
+ ]
+ },
+ {
+ "id": "bf221914.603808",
+ "type": "comment",
+ "name": "TODO: Rework after confirmation from AAI",
+ "info": "",
+ "comments": "",
+ "x": 1092.1374282836914,
+ "y": 1222.8732151985168,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "d08c66c4.7c2608",
+ "type": "set",
+ "name": "set output to api handler",
+ "xml": "<set>\n<parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />\n<parameter name='connection-attachment-object-path' value=\"`$tmp.ar.self-link`\"/>\n<parameter name='service-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $connection-attachment-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n \n",
+ "comments": "",
+ "x": 693.5461502075195,
+ "y": 1235.8276824951172,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "661b7087.2c2c2",
+ "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": 662.9592552185059,
+ "y": 1336.4434370994568,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "9281bde8.0db15",
+ "type": "execute",
+ "name": "execute RestApiCallNode - PUT AR by id",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='Delete' />\n <parameter name=\"responsePrefix\" value=\"mdsal-ar\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 742.6666641235352,
+ "y": 512.3333625793457,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "3bcdf792.ce5568",
+ "75f51d5f.311a14",
+ "aab69d22.7b384"
+ ]
+ ]
+ },
+ {
+ "id": "3bcdf792.ce5568",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 982.3081665039062,
+ "y": 552.6649107933044,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "a17e8ce5.2802d"
+ ]
+ ]
+ },
+ {
+ "id": "75f51d5f.311a14",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 979.3081665039062,
+ "y": 509.16490840911865,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "a17e8ce5.2802d"
+ ]
+ ]
+ },
+ {
+ "id": "aab69d22.7b384",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 986.0582466125488,
+ "y": 468.5220036506653,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "e5460f9f.21ecb"
+ ]
+ ]
+ },
+ {
+ "id": "a17e8ce5.2802d",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating md-sal for connection-attachment-allotted-resource\" />\n",
+ "comments": "",
+ "x": 1138.058334350586,
+ "y": 530.9149088859558,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "e5460f9f.21ecb",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1123.7141780853271,
+ "y": 468.7141833305359,
+ "z": "5775f861.275e28",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "cb30deee.bf09a",
+ "type": "comment",
+ "name": "Delete Allotted Resource",
+ "info": "",
+ "comments": "",
+ "x": 690.0000457763672,
+ "y": 481.0000286102295,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "950f3191.ae2ba",
+ "type": "for",
+ "name": "for cidx..service-data.consumed-allotted-resources.consumed-allotted-resource[]",
+ "xml": "<for index='cidx' start='0' end='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1640.00390625,
+ "y": 718.00390625,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "763d401a.4c2ab"
+ ]
+ ]
+ },
+ {
+ "id": "a05764a0.242458",
+ "type": "switchNode",
+ "name": "switch service-data.consumed-allotted-resources_length",
+ "xml": "<switch test='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 793.0032920837402,
+ "y": 678.71790766716,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "70bab1b2.6f71f",
+ "ab0947c0.c09f58"
+ ]
+ ]
+ },
+ {
+ "id": "70bab1b2.6f71f",
+ "type": "other",
+ "name": "outcome Null",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1117.1461563110352,
+ "y": 661.5753421783447,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "b260d54b.5e5f58"
+ ]
+ ]
+ },
+ {
+ "id": "ab0947c0.c09f58",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1103.1461791992188,
+ "y": 724.5753309726715,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "d2367329.94565"
+ ]
+ ]
+ },
+ {
+ "id": "d2367329.94565",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1263.2732696533203,
+ "y": 722.7013075351715,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "950f3191.ae2ba",
+ "51c9f5a5.4315fc"
+ ]
+ ]
+ },
+ {
+ "id": "51c0b7ea.3f9dc8",
+ "type": "set",
+ "name": "set consumed allotted resources for deletion",
+ "xml": "<set>\n<parameter name=\"service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].\" value=\"\" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length - 1`' />\n\n",
+ "comments": "",
+ "x": 749.8606262207031,
+ "y": 749.28955078125,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "763d401a.4c2ab",
+ "type": "switchNode",
+ "name": "switch allotted-resource-id",
+ "xml": "<switch test=\"`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id == $tmp.ar.allotted-resource-id`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2078.1155166625977,
+ "y": 714.0040283203125,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "8699c549.34eb68"
+ ]
+ ]
+ },
+ {
+ "id": "8699c549.34eb68",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2273.925338745117,
+ "y": 713.4683527946472,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "a387ae74.594b6"
+ ]
+ ]
+ },
+ {
+ "id": "365e6c51.6f6434",
+ "type": "set",
+ "name": "set tmp.cidx",
+ "xml": "<set>\n<parameter name='tmp.cidx' value='`$cidx`' />\n",
+ "comments": "",
+ "x": 2589.2618713378906,
+ "y": 714.2246108055115,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "dda8dc98.e31b",
+ "type": "comment",
+ "name": "Delete consumed service consumed-allotted-resources in mdsal",
+ "info": "",
+ "comments": "",
+ "x": 804.0045623779297,
+ "y": 611.0038724095793,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "f55bb2df.f0b",
+ "type": "comment",
+ "name": "This set resource will be deleted in MDSAL by provider code",
+ "info": "",
+ "comments": "",
+ "x": 794.337345123291,
+ "y": 715.781964302063,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "c48ea2e0.f31db",
+ "type": "comment",
+ "name": "Obtain the index of conusumed AR",
+ "info": "",
+ "comments": "",
+ "x": 716.7817535400391,
+ "y": 642.8927326202393,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "b260d54b.5e5f58",
+ "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=\"Resource to be deleted doesn't exist in MDSAL.\" />\n",
+ "comments": "",
+ "x": 1279.00390625,
+ "y": 662.00390625,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "a387ae74.594b6",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2423.003936767578,
+ "y": 714.2539558410645,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "365e6c51.6f6434"
+ ]
+ ]
+ },
+ {
+ "id": "9d4dfb29.6b9ee8",
+ "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=\"resource to be deleted is not available in mdsal\" />\n",
+ "comments": "",
+ "x": 1733.25390625,
+ "y": 771.25390625,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "42d75f79.805d2",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1595.75390625,
+ "y": 771.25390625,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "9d4dfb29.6b9ee8"
+ ]
+ ]
+ },
+ {
+ "id": "51c9f5a5.4315fc",
+ "type": "switchNode",
+ "name": "switch tmp.cidx ",
+ "xml": "<switch test=\"`$tmp.cidx`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1441.75390625,
+ "y": 771.25390625,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "42d75f79.805d2"
+ ]
+ ]
+ },
+ {
+ "id": "7f854ddc.974234",
+ "type": "comment",
+ "name": "Delete provided service provided-allotted-resources in mdsal",
+ "info": "",
+ "comments": "",
+ "x": 790.5039215087891,
+ "y": 807.00390625,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "7505397d.8aabc8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1118.5041770935059,
+ "y": 1121.7540984153748,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "1ad39230.0014ce"
+ ]
+ ]
+ },
+ {
+ "id": "7a0bf533.2fea3c",
+ "type": "other",
+ "name": "outcome Null",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1135.5040969848633,
+ "y": 1033.7539324760437,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "7c243332.a34bdc"
+ ]
+ ]
+ },
+ {
+ "id": "7c243332.a34bdc",
+ "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=\"Resource to be deleted doesn't exist in MDSAL.\" />\n",
+ "comments": "",
+ "x": 1299.3616943359375,
+ "y": 1034.1824774742126,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "eb1cae26.e29d4",
+ "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=\"resource to be deleted is not available in mdsal\" />\n",
+ "comments": "",
+ "x": 1730.7539501190186,
+ "y": 1151.753936290741,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "7690b02b.7872f",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1593.2539501190186,
+ "y": 1151.753936290741,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "eb1cae26.e29d4"
+ ]
+ ]
+ },
+ {
+ "id": "757e6827.467698",
+ "type": "switchNode",
+ "name": "switch tmp.pidx ",
+ "xml": "<switch test=\"`$tmp.pidx`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1439.2539501190186,
+ "y": 1151.753936290741,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "7690b02b.7872f"
+ ]
+ ]
+ },
+ {
+ "id": "f9268a01.5183a8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2303.504367828369,
+ "y": 1071.7540946006775,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "86a5d9a6.a11a58"
+ ]
+ ]
+ },
+ {
+ "id": "b544cb9e.217168",
+ "type": "set",
+ "name": "set tmp.pidx",
+ "xml": "<set>\n<parameter name='tmp.pidx' value='`$pidx`' />\n",
+ "comments": "",
+ "x": 2371.8404846191406,
+ "y": 1206.5101914405823,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "86a5d9a6.a11a58",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2363.582820892334,
+ "y": 1142.539580821991,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "b544cb9e.217168"
+ ]
+ ]
+ },
+ {
+ "id": "3ad79f2e.53c8c",
+ "type": "set",
+ "name": "set provided allotted resources for deletion",
+ "xml": "<set>\n<parameter name=\"service-data.provided-allotted-resources.consumed-allotted-resource[$pidx].\" value=\"\" />\n<parameter name=\"service-data.provided-allotted-resources.consumed-allotted-resource_length\" value='`$service-data.provided-allotted-resources.consumed-allotted-resource_length - 1`' />\n\n",
+ "comments": "",
+ "x": 749.0039978027344,
+ "y": 1137.0039768218994,
+ "z": "5775f861.275e28",
+ "wires": []
+ },
+ {
+ "id": "82dc876b.abfd98",
+ "type": "update",
+ "name": "update AAI allotted-resource",
+ "xml": "<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" resource='allotted-resource' \n\t\tkey=\"customer.global-customer-id = $connection-attachment-topology-operation-input.service-information.global-customer-id AND\n\t\t\tservice-subscription.service-type = $connection-attachment-topology-operation-input.service-information.subscription-service-type AND\n\t\t\tservice-instance.service-instance-id = $connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id AND\n\t\t\tallotted-resource.id = $tmp.ar.allotted-resource-id\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 706.2227554321289,
+ "y": 1291.754346370697,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "9e10ac1a.8f491",
+ "824c305f.f99dc"
+ ]
+ ]
+ },
+ {
+ "id": "12de84a1.b1a80b",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get-resource parent service data",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-psd`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-psd\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 796.3334197998047,
+ "y": 977.333366394043,
+ "z": "5775f861.275e28",
+ "wires": [
+ [
+ "23d329ac.3b7e66",
+ "e13f07b8.3067a8"
+ ]
+ ]
+ },
+ {
+ "id": "55f05cd1.c7cc44",
+ "type": "execute",
+ "name": "get parent-service-data tmp.ar-url-psd",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data\"/>\n <parameter name=\"outputPath\" value=\"tmp.ar-url-psd\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.ar.parent-service-instance-id`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 730.3333587646484,
+ "y": 935.3332056999207,
+ "z": "5775f861.275e28",
+ "wires": [
+ []
+ ]
+ }
+]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-get-saved-ar-param.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-get-saved-ar-param.json
new file mode 100644
index 00000000..1db61c8c
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-get-saved-ar-param.json
@@ -0,0 +1,199 @@
+[
+ {
+ "id": "3dce5aae.d1aee6",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 156,
+ "y": 74,
+ "z": "15a92351.612ddd",
+ "wires": [
+ [
+ "aa9eff05.9e62c"
+ ]
+ ]
+ },
+ {
+ "id": "aa9eff05.9e62c",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>",
+ "outputs": 1,
+ "x": 368.00000381469727,
+ "y": 146.0000171661377,
+ "z": "15a92351.612ddd",
+ "wires": [
+ [
+ "b770609e.14977"
+ ]
+ ]
+ },
+ {
+ "id": "b770609e.14977",
+ "type": "method",
+ "name": "sdwan-get-saved-ar-param",
+ "xml": "<method rpc='sdwan-get-saved-ar-param' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 356.0001220703125,
+ "y": 234,
+ "z": "15a92351.612ddd",
+ "wires": [
+ [
+ "a63eeccf.054de"
+ ]
+ ]
+ },
+ {
+ "id": "a63eeccf.054de",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 363.00001525878906,
+ "y": 320.0000581741333,
+ "z": "15a92351.612ddd",
+ "wires": [
+ [
+ "cef1b9ba.94d2a8"
+ ]
+ ]
+ },
+ {
+ "id": "cef1b9ba.94d2a8",
+ "type": "for",
+ "name": "for each sdwan-get-request-input-param",
+ "xml": "<for index='idx' start='0' end='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 399.6667785644531,
+ "y": 402.666654586792,
+ "z": "15a92351.612ddd",
+ "wires": [
+ [
+ "c63bf491.f9e008"
+ ]
+ ]
+ },
+ {
+ "id": "c63bf491.f9e008",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 664.5002822875977,
+ "y": 312.00004625320435,
+ "z": "15a92351.612ddd",
+ "wires": [
+ [
+ "2cd7df9b.ab1b",
+ "10f6f64f.edbe1a",
+ "95d1c864.f5bfb8"
+ ]
+ ]
+ },
+ {
+ "id": "2cd7df9b.ab1b",
+ "type": "switchNode",
+ "name": "switch sdwanVpnName",
+ "xml": "<switch test=\"`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].name == 'sdwanVpnName'`\">",
+ "comments": "",
+ "outputs": 1,
+ "x": 886.5000534057617,
+ "y": 216.0000514984131,
+ "z": "15a92351.612ddd",
+ "wires": [
+ [
+ "2a8eb492.677abc"
+ ]
+ ]
+ },
+ {
+ "id": "2a8eb492.677abc",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1073.5000534057617,
+ "y": 212.0000514984131,
+ "z": "15a92351.612ddd",
+ "wires": [
+ [
+ "e2c23ccb.74de1"
+ ]
+ ]
+ },
+ {
+ "id": "e2c23ccb.74de1",
+ "type": "set",
+ "name": "set sdwanVpnName",
+ "xml": "<set>\n<parameter name='prop.connection-attachment.sdwanVpnName' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1241.5000534057617,
+ "y": 212.6000576019287,
+ "z": "15a92351.612ddd",
+ "wires": []
+ },
+ {
+ "id": "10f6f64f.edbe1a",
+ "type": "switchNode",
+ "name": "switch role",
+ "xml": "<switch test=\"`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].name == 'role'`\">",
+ "comments": "",
+ "outputs": 1,
+ "x": 849.0105400085449,
+ "y": 280.00007152557373,
+ "z": "15a92351.612ddd",
+ "wires": [
+ [
+ "ab95aeff.fed7f"
+ ]
+ ]
+ },
+ {
+ "id": "ab95aeff.fed7f",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1074.010482788086,
+ "y": 271.0000514984131,
+ "z": "15a92351.612ddd",
+ "wires": [
+ [
+ "73eae7d6.c393c8"
+ ]
+ ]
+ },
+ {
+ "id": "73eae7d6.c393c8",
+ "type": "set",
+ "name": "set role",
+ "xml": "<set>\n<parameter name='prop.connection-attachment.role' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].value`' />\n",
+ "comments": "",
+ "x": 1242.010482788086,
+ "y": 271.6000576019287,
+ "z": "15a92351.612ddd",
+ "wires": []
+ },
+ {
+ "id": "95d1c864.f5bfb8",
+ "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": 863.0002212524414,
+ "y": 344.000036239624,
+ "z": "15a92351.612ddd",
+ "wires": []
+ }
+]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-network-topology-operation-activate.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-network-topology-operation-activate.json
index 9f672c12..7d5dfcaa 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-network-topology-operation-activate.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-network-topology-operation-activate.json
@@ -1,20 +1,20 @@
[
{
- "id": "674547d2.8e25c8",
+ "id": "4ddcb062.8ecdb",
"type": "dgstart",
"name": "DGSTART",
"outputs": 1,
- "x": 102.5039176940918,
- "y": 36.00000238418579,
- "z": "5630a65a.9ec898",
+ "x": 88.03125,
+ "y": 50.03125,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "e5902308.c1c82"
+ "596e35be.20cc4c"
]
]
},
{
- "id": "e5902308.c1c82",
+ "id": "596e35be.20cc4c",
"type": "service-logic",
"name": "GENERIC-RESOURCE-API ${project.version}",
"module": "GENERIC-RESOURCE-API",
@@ -22,711 +22,755 @@
"comments": "",
"xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>",
"outputs": 1,
- "x": 288.50392150878906,
- "y": 108.00001955032349,
- "z": "5630a65a.9ec898",
+ "x": 274.03125381469727,
+ "y": 122.0312671661377,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "790713af.f45e7c"
+ "c01d9d60.83407"
]
]
},
{
- "id": "790713af.f45e7c",
+ "id": "c01d9d60.83407",
"type": "method",
"name": "method sdwan-network-topology-operation-activate",
"xml": "<method rpc='sdwan-network-topology-operation-activate' mode='sync'>\n",
"comments": "",
"outputs": 1,
- "x": 276.5040397644043,
- "y": 196.0000023841858,
- "z": "5630a65a.9ec898",
+ "x": 262.0313720703125,
+ "y": 210.03125,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "e083889a.f74828"
+ "18ab359f.ed0fba"
]
]
},
{
- "id": "e083889a.f74828",
+ "id": "18ab359f.ed0fba",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">\n",
"atomic": "false",
"comments": "",
"outputs": 1,
- "x": 450.50393295288086,
- "y": 304.0000615119934,
- "z": "5630a65a.9ec898",
+ "x": 436.03126525878906,
+ "y": 318.0313091278076,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "6158cb8c.f46db4",
- "81410bf9.e64458",
- "781fc34d.70c51c",
- "7be4b307.5359ec",
- "2905e598.65892a",
- "68901172.3a726",
- "a0fba53c.970e38",
- "944018c7.5a14b8",
- "5e8274ed.a57dbc",
- "f220bde6.61096",
- "1ebcf5b8.ee7c3a",
- "95959ba8.d84698",
- "cf1e1603.5d6118",
- "f18b4542.7d2158",
- "581db18a.df70a"
+ "c561faa1.7d7778",
+ "6dc01778.009fd8",
+ "da487e61.56608",
+ "c6b01240.db33",
+ "3f3b0e5f.2cbb02",
+ "98c44abf.148e28",
+ "21c2ad92.7e1fb2",
+ "2511a75a.f0a8b8",
+ "1ae62a5a.18e726",
+ "fc4fc9d4.5f3178",
+ "3bff9e87.90adb2",
+ "3355eb7a.3cf5b4",
+ "fce8b550.d12f88",
+ "cc83cf92.13ac4",
+ "5ff87b45.2a9d04"
]
]
},
{
- "id": "6158cb8c.f46db4",
+ "id": "c561faa1.7d7778",
"type": "call",
"name": "call GENERIC-RESOURCE-API:validate-sdwan-network-input-parameters",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-sdwan-network-input-parameters' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 908.8928184509277,
- "y": 53.00000238418579,
- "z": "5630a65a.9ec898",
+ "x": 894.4201507568359,
+ "y": 67.03125,
+ "z": "28e3f0b9.24cf2",
"wires": [
[]
]
},
{
- "id": "81410bf9.e64458",
+ "id": "6dc01778.009fd8",
"type": "record",
"name": "record",
"xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/svclogic.log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"sdwan-network-topology-operation-activate\"/>\n<parameter name=\"field3\" value=\"SDWAN-Activate\"/>\n",
"comments": "",
"outputs": 1,
- "x": 709.0595169067383,
- "y": 106.77785539627075,
- "z": "5630a65a.9ec898",
+ "x": 694.5868492126465,
+ "y": 120.80910301208496,
+ "z": "28e3f0b9.24cf2",
"wires": [
[]
]
},
{
- "id": "781fc34d.70c51c",
+ "id": "da487e61.56608",
"type": "set",
"name": "set networkId and network-object-path",
"xml": "<set>\n<parameter name='networkId' value='`$network-topology-operation-input.network-information.network-id`' />\n<parameter name=\"network-object-path\" value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $network-topology-operation-input.service-information.service-instance-id + '/service-data/networks/network/' + $network-topology-operation-input.network-information.network-id + '/network-data/'` \" />",
"comments": "",
- "x": 796.0597953796387,
- "y": 1029.3134715557098,
- "z": "5630a65a.9ec898",
+ "x": 781.5871276855469,
+ "y": 1043.344719171524,
+ "z": "28e3f0b9.24cf2",
"wires": []
},
{
- "id": "7be4b307.5359ec",
+ "id": "c6b01240.db33",
"type": "returnSuccess",
"name": "return success",
"xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
"comments": "",
- "x": 717.8375968933105,
- "y": 1218.8688914775848,
- "z": "5630a65a.9ec898",
+ "x": 703.3649291992188,
+ "y": 1232.900139093399,
+ "z": "28e3f0b9.24cf2",
"wires": []
},
{
- "id": "2905e598.65892a",
+ "id": "3f3b0e5f.2cbb02",
"type": "set",
"name": "set network-level-oper-status",
"xml": "<set>\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status' value='Active' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.last-rpc-action' value='`$network-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.last-action' value='`$network-topology-operation-input.request-information.request-action`' />",
"comments": "",
- "x": 762.9487113952637,
- "y": 1090.53564620018,
- "z": "5630a65a.9ec898",
+ "x": 748.4760437011719,
+ "y": 1104.5668938159943,
+ "z": "28e3f0b9.24cf2",
"wires": []
},
{
- "id": "68901172.3a726",
+ "id": "98c44abf.148e28",
"type": "execute",
"name": "execute Properties",
"xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
"comments": "",
"outputs": 1,
- "x": 741.3616218566895,
- "y": 159.77789163589478,
- "z": "5630a65a.9ec898",
+ "x": 726.8889541625977,
+ "y": 173.80913925170898,
+ "z": "28e3f0b9.24cf2",
"wires": [
[]
]
},
{
- "id": "a0fba53c.970e38",
+ "id": "21c2ad92.7e1fb2",
"type": "update",
"name": "update SDWAN VPN status to AAI",
"xml": "<update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='sdwan-vpn' \n key='sdwan-vpn.id = $network-topology-operation-input.network-information.network-id' >\n<parameter name='id' value='`$network-topology-operation-input.network-information.network-id`' />\n<parameter name='operational-status' value='Active' />\n<parameter name='tenanatId' value='`$prop.tenant-id`' />\n<parameter name='vpn-id' value='`$prop.vpn-id`' />",
"comments": "",
"outputs": 1,
- "x": 780.1674270629883,
- "y": 1153.2388577461243,
- "z": "5630a65a.9ec898",
+ "x": 765.6947593688965,
+ "y": 1167.2701053619385,
+ "z": "28e3f0b9.24cf2",
"wires": [
[]
]
},
{
- "id": "944018c7.5a14b8",
+ "id": "2511a75a.f0a8b8",
"type": "set",
"name": "set network in service-data",
"xml": "<set>\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.service-information.' value='`$network-topology-operation-input.service-information.`' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-information.' value='`$network-topology-operation-input.network-information.`' />",
"comments": "",
- "x": 756.5043258666992,
- "y": 976.0913054943085,
- "z": "5630a65a.9ec898",
+ "x": 742.0316581726074,
+ "y": 990.1225531101227,
+ "z": "28e3f0b9.24cf2",
"wires": []
},
{
- "id": "5e8274ed.a57dbc",
+ "id": "1ae62a5a.18e726",
"type": "for",
"name": "for each network-input-parameters",
"xml": "<for index='idx' start='0' end='`$ctx.network-data.network-request-input.network-input-parameters.param_length`' >\n",
"comments": "",
"outputs": 1,
- "x": 793.5039176940918,
- "y": 230.00390991568565,
- "z": "5630a65a.9ec898",
+ "x": 779.03125,
+ "y": 244.03515753149986,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "aff4cb70.f51d18"
+ "b794657d.4da128"
]
]
},
{
- "id": "aff4cb70.f51d18",
+ "id": "b794657d.4da128",
"type": "block",
"name": "block",
"xml": "<block>\n",
"atomic": "false",
"comments": "",
"outputs": 1,
- "x": 1050.3373489379883,
- "y": 164.33726105093956,
- "z": "5630a65a.9ec898",
+ "x": 1035.8646812438965,
+ "y": 178.36850866675377,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "55124a0e.ecead4",
- "b20e40a7.db9f2"
+ "53501d6c.c520f4",
+ "e1341c8f.56768"
]
]
},
{
- "id": "55124a0e.ecead4",
+ "id": "53501d6c.c520f4",
"type": "switchNode",
"name": "switch name",
"xml": "<switch test=\"`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].name == 'name'`\">\n",
"comments": "",
"outputs": 1,
- "x": 1241.3374099731445,
- "y": 160.33729347586632,
- "z": "5630a65a.9ec898",
+ "x": 1226.8647422790527,
+ "y": 174.36854109168053,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "c7d7c03b.f2fa6"
+ "2cafaedf.cedf32"
]
]
},
{
- "id": "c7d7c03b.f2fa6",
+ "id": "2cafaedf.cedf32",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 1415.3375358581543,
- "y": 160.33729729056358,
- "z": "5630a65a.9ec898",
+ "x": 1400.8648681640625,
+ "y": 174.3685449063778,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "af327670.c19a78"
+ "529c0b0c.8d2074"
]
]
},
{
- "id": "af327670.c19a78",
+ "id": "529c0b0c.8d2074",
"type": "set",
"name": "set name",
"xml": "<set>\n<parameter name='prop.name' value='`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].value`' />\n",
"comments": "",
- "x": 1578.3374214172363,
- "y": 159.9372919499874,
- "z": "5630a65a.9ec898",
+ "x": 1563.8647537231445,
+ "y": 173.96853956580162,
+ "z": "28e3f0b9.24cf2",
"wires": []
},
{
- "id": "f220bde6.61096",
+ "id": "fce8b550.d12f88",
"type": "get-resource",
"name": "get-resource esr-thirdparty-sdnc",
"xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"esr-thirdparty-sdnc\" \n\t\tkey=\"esr-thirdparty-sdnc.thirdparty-sdnc-id = 'SDWAN-Controller' AND \n\t\t depth = '1'\"\n pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\n\n",
"comments": "",
"outputs": 1,
- "x": 787.5039176940918,
- "y": 339.00390991568565,
- "z": "5630a65a.9ec898",
+ "x": 773.03125,
+ "y": 353.03515753149986,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "9390ab8d.339038",
- "422112c5.89ee3c",
- "b2fc220b.c981"
+ "9b25121d.283a4",
+ "385f822e.d7b4ae",
+ "f3914c31.422ce"
]
]
},
{
- "id": "9390ab8d.339038",
+ "id": "9b25121d.283a4",
"type": "success",
"name": "success",
"xml": "<outcome value='success'>\n",
"comments": "",
"outputs": 1,
- "x": 1032.5039176940918,
- "y": 285.00390991568565,
- "z": "5630a65a.9ec898",
+ "x": 1018.03125,
+ "y": 299.03515753149986,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "b9e9d09e.1a521"
+ "f386956a.705be8"
]
]
},
{
- "id": "422112c5.89ee3c",
+ "id": "385f822e.d7b4ae",
"type": "not-found",
"name": "not-found",
"xml": "<outcome value='not-found'>\n",
"comments": "",
"outputs": 1,
- "x": 1035.9948844909668,
- "y": 332.5779455602169,
- "z": "5630a65a.9ec898",
+ "x": 1021.522216796875,
+ "y": 346.6091931760311,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "fc9a3019.525c8"
+ "e34bc405.635f88"
]
]
},
{
- "id": "b2fc220b.c981",
+ "id": "f3914c31.422ce",
"type": "other",
"name": "other",
"xml": "<outcome value='Other'>\n",
"comments": "",
"outputs": 1,
- "x": 1031.3278923034668,
- "y": 373.91125854849815,
- "z": "5630a65a.9ec898",
+ "x": 1016.855224609375,
+ "y": 387.94250616431236,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "9d79278.15d3ed8"
+ "799bf116.3f716"
]
]
},
{
- "id": "b9e9d09e.1a521",
+ "id": "f386956a.705be8",
"type": "set",
"name": "set controller data",
"xml": "<set>\n<parameter name='prop.sdncRestApi.thirdpartySdnc.url' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`\" />\n<parameter name='prop.sdncRestApi.thirdpartySdnc.user' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`\" />\n<parameter name='prop.sdncRestApi.thirdpartySdnc.password' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`\" />\n",
"comments": "",
- "x": 1230.003978729248,
- "y": 273.00390991568565,
- "z": "5630a65a.9ec898",
+ "x": 1215.5313110351562,
+ "y": 287.03515753149986,
+ "z": "28e3f0b9.24cf2",
"wires": []
},
{
- "id": "fc9a3019.525c8",
+ "id": "e34bc405.635f88",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`\" />\n\n",
"comments": "",
- "x": 1212.5662956237793,
- "y": 320.8636816442013,
- "z": "5630a65a.9ec898",
+ "x": 1198.0936279296875,
+ "y": 334.8949292600155,
+ "z": "28e3f0b9.24cf2",
"wires": []
},
{
- "id": "9d79278.15d3ed8",
+ "id": "799bf116.3f716",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`\" />\n\n",
"comments": "",
- "x": 1219.1004486083984,
- "y": 369.3504513204098,
- "z": "5630a65a.9ec898",
+ "x": 1204.6277809143066,
+ "y": 383.381698936224,
+ "z": "28e3f0b9.24cf2",
"wires": []
},
{
- "id": "1ebcf5b8.ee7c3a",
+ "id": "cc83cf92.13ac4",
"type": "execute",
"name": "execute RestApiCallNode Get token",
"xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/actokentemplate.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"token-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>",
"comments": "",
"outputs": 1,
- "x": 795.5039176940918,
- "y": 450.00390991568565,
- "z": "5630a65a.9ec898",
+ "x": 781.03125,
+ "y": 464.03515753149986,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "fd9ecfb8.dcb2c",
- "2aa6377a.1dbc88"
+ "de360ea0.df86c",
+ "8ab64288.ec606"
]
]
},
{
- "id": "fd9ecfb8.dcb2c",
+ "id": "de360ea0.df86c",
"type": "success",
"name": "success",
"xml": "<outcome value='success'>\n",
"comments": "",
"outputs": 1,
- "x": 1030.5039176940918,
- "y": 428.00390991568565,
- "z": "5630a65a.9ec898",
+ "x": 1020.031322479248,
+ "y": 442.03518772125244,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "ff15f3bd.bf298"
+ "d8a5f197.3daff"
]
]
},
{
- "id": "2aa6377a.1dbc88",
+ "id": "8ab64288.ec606",
"type": "failure",
"name": "failure",
"xml": "<outcome value='failure'>\n",
"comments": "",
"outputs": 1,
- "x": 1022.7539176940918,
- "y": 481.6467932164669,
- "z": "5630a65a.9ec898",
+ "x": 1012.281322479248,
+ "y": 495.6780710220337,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "95badc84.277a8"
+ "761741d1.08b81"
]
]
},
{
- "id": "ff15f3bd.bf298",
+ "id": "d8a5f197.3daff",
"type": "set",
"name": "set token-id",
"xml": "<set>\n<parameter name='prop.sdncRestApi.token_id' value='`$token-result.data.token_id`' />\n",
"comments": "",
- "x": 1184.5039176940918,
- "y": 429.00390991568565,
- "z": "5630a65a.9ec898",
+ "x": 1170.03125,
+ "y": 443.03515753149986,
+ "z": "28e3f0b9.24cf2",
"wires": []
},
{
- "id": "95badc84.277a8",
+ "id": "761741d1.08b81",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error executing get token rest api\" />\n",
"comments": "",
- "x": 1175.5039176940918,
- "y": 481.39685425162315,
- "z": "5630a65a.9ec898",
+ "x": 1165.031322479248,
+ "y": 495.42813205718994,
+ "z": "28e3f0b9.24cf2",
"wires": []
},
{
- "id": "b20e40a7.db9f2",
+ "id": "e1341c8f.56768",
"type": "switchNode",
"name": "switch topology",
"xml": "<switch test=\"`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].name == 'topology'`\">\n",
"comments": "",
"outputs": 1,
- "x": 1239.7539176940918,
- "y": 213.00390991568565,
- "z": "5630a65a.9ec898",
+ "x": 1225.28125,
+ "y": 227.03515753149986,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "968633ac.1886b"
+ "abb60c8f.8ac5f"
]
]
},
{
- "id": "968633ac.1886b",
+ "id": "abb60c8f.8ac5f",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 1413.7540435791016,
- "y": 213.00391373038292,
- "z": "5630a65a.9ec898",
+ "x": 1399.2813758850098,
+ "y": 227.03516134619713,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "28e1e286.2c199e"
+ "36b54251.f429ce"
]
]
},
{
- "id": "28e1e286.2c199e",
+ "id": "36b54251.f429ce",
"type": "set",
"name": "set topology",
"xml": "<set>\n<parameter name='prop.topology' value='`$ctx.network-data.network-request-input.network-input-parameters.param[$idx].value`' />\n",
"comments": "",
- "x": 1576.7539291381836,
- "y": 212.60390838980675,
- "z": "5630a65a.9ec898",
+ "x": 1562.2812614440918,
+ "y": 226.63515600562096,
+ "z": "28e3f0b9.24cf2",
"wires": []
},
{
- "id": "95959ba8.d84698",
+ "id": "5ff87b45.2a9d04",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">\n",
"atomic": "false",
"comments": "",
"outputs": 1,
- "x": 722.2539329528809,
- "y": 650.0039599835873,
- "z": "5630a65a.9ec898",
+ "x": 702.7812957763672,
+ "y": 710.0352792739868,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "c37fc252.ca32b"
+ "34512469.61377c"
]
]
},
{
- "id": "c37fc252.ca32b",
+ "id": "34512469.61377c",
"type": "execute",
"name": "execute RestApiCallNode Create network orchestration",
"xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-network-orchestration.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/network-orchestration-resources'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"orchestration-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
"comments": "",
"outputs": 1,
- "x": 1044.7539825439453,
- "y": 653.0040616989136,
- "z": "5630a65a.9ec898",
+ "x": 1023.2814025878906,
+ "y": 699.0353622436523,
+ "z": "28e3f0b9.24cf2",
"wires": [
[]
]
},
{
- "id": "cf1e1603.5d6118",
+ "id": "fc4fc9d4.5f3178",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">\n",
"atomic": "false",
"comments": "",
"outputs": 1,
- "x": 719.7539329528809,
- "y": 758.0039599835873,
- "z": "5630a65a.9ec898",
+ "x": 705.2812652587891,
+ "y": 772.0352075994015,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "e379ec58.8ceb2",
- "3e353248.8e09fe",
- "6943d9d8.2f1f68"
+ "dcf83ef9.92d4e",
+ "6fd086ba.35f488",
+ "ccbce6bf.529778"
]
]
},
{
- "id": "e379ec58.8ceb2",
+ "id": "6fd086ba.35f488",
"type": "execute",
"name": "execute RestApiCallNode Create vpn",
"xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-vpn.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/vpn'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"vpn-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
"comments": "",
"outputs": 1,
- "x": 991.253978729248,
- "y": 748.0040839612484,
- "z": "5630a65a.9ec898",
+ "x": 976.7813110351562,
+ "y": 762.0353315770626,
+ "z": "28e3f0b9.24cf2",
"wires": [
[]
]
},
{
- "id": "3e353248.8e09fe",
+ "id": "dcf83ef9.92d4e",
"type": "set",
"name": "set prop.vpn-id and prop.vpn1Id",
- "xml": "<set>\n<parameter name='prop.vpn-id' value='`$vpn-result.id`' />\n<parameter name='prop.vpn1Id' value='`$vpn-result.id`' />\n",
+ "xml": "<set>\n<!--parameter name='prop.vpn-id' value='`$vpn-result.id`' />\n<parameter name='prop.vpn1Id' value='`$vpn-result.id`' /-->\n\n<parameter name='prop.vpn-id' value='10' />\n<parameter name='prop.vpn1Id' value='10' />\n",
"comments": "",
- "x": 975.2541313171387,
- "y": 800.004145950079,
- "z": "5630a65a.9ec898",
+ "x": 972.7814674377441,
+ "y": 814.0354309082031,
+ "z": "28e3f0b9.24cf2",
"wires": []
},
{
- "id": "6943d9d8.2f1f68",
+ "id": "ccbce6bf.529778",
"type": "execute",
"name": "execute RestApiCallNode Create vpn topology",
"xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-vpn-topology.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/' + $prop.vpn-id + '/topology'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"vpn-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
"comments": "",
"outputs": 1,
- "x": 1018.7539825439453,
- "y": 852.0039582252502,
- "z": "5630a65a.9ec898",
+ "x": 1004.2813148498535,
+ "y": 866.0352058410645,
+ "z": "28e3f0b9.24cf2",
"wires": [
[]
]
},
{
- "id": "f18b4542.7d2158",
+ "id": "3bff9e87.90adb2",
"type": "set",
"name": "set tenant-id and vpn-id to service-data",
"xml": "<set>\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$network-topology-operation-input.network-request-input.network-input-parameters.param_length].name' value='tenant-id' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$network-topology-operation-input.network-request-input.network-input-parameters.param_length].value' value='`$prop.tenant-id`' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$network-topology-operation-input.network-request-input.network-input-parameters.param_length + 1].name' value='vpn-id' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param[$network-topology-operation-input.network-request-input.network-input-parameters.param_length + 1].value' value='`$prop.vpn-id`' />\n<parameter name='service-data.networks.network[$tmp.nidx].network-data.network-request-input.network-input-parameters.param_length' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param_length + 2`' />",
"comments": "",
- "x": 798.7539215087891,
- "y": 921.7539792060852,
- "z": "5630a65a.9ec898",
+ "x": 784.2812538146973,
+ "y": 935.7852268218994,
+ "z": "28e3f0b9.24cf2",
"wires": []
},
{
- "id": "581db18a.df70a",
+ "id": "3355eb7a.3cf5b4",
"type": "get-resource",
"name": "get-resource service-subscription",
- "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"service-subscription\" \n key= 'service-subscription.service-type = $service-data.networks.network[$tmp.nidx].network-data.service-information.subscription-service-type \n AND customer.global-customer-id = $service-data.networks.network[$tmp.nidx].network-data.service-information.global-customer-id'\n force=\"true\" pfx=\"tmp.AnAI-data\">\n\n",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"service-subscription\" \n key= 'service-subscription.service-type = $service-data.networks.network[$tmp.nidx].network-data.service-information.subscription-service-type \n AND customer.global-customer-id = $service-data.networks.network[$tmp.nidx].network-data.service-information.global-customer-id'\n force=\"true\" pfx=\"tmp.AnAI-data\">\n \n",
"comments": "",
"outputs": 1,
- "x": 786.0039520263672,
- "y": 547.2539210319519,
- "z": "5630a65a.9ec898",
+ "x": 758.5313873291016,
+ "y": 613.2851915359497,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "fcef5013.081b8"
+ "edc9287a.cc5518",
+ "5b0f29d9.42a638"
]
]
},
{
- "id": "fcef5013.081b8",
+ "id": "a1fba96c.417d58",
"type": "switchNode",
"name": "switch temp-ub-sub-account-id",
"xml": "<switch test='`$tmp.AnAI-data.temp-ub-sub-account-id`'>\n",
"comments": "",
"outputs": 1,
- "x": 1078.003993988037,
- "y": 539.0039348602295,
- "z": "5630a65a.9ec898",
+ "x": 1170.531478881836,
+ "y": 578.0352725982666,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "a4ce55d.f40f1a8",
- "90c8ccd1.35a13"
+ "e5d2c50b.cba8f8",
+ "21c5a234.6190ae"
]
]
},
{
- "id": "a4ce55d.f40f1a8",
+ "id": "e5d2c50b.cba8f8",
"type": "outcome",
"name": "NULL",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 1299.7182807922363,
- "y": 540.0039367675781,
- "z": "5630a65a.9ec898",
+ "x": 1363.2459297180176,
+ "y": 552.0353136062622,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "d1e6018.8be3d"
+ "f0651115.93559"
]
]
},
{
- "id": "90c8ccd1.35a13",
+ "id": "21c5a234.6190ae",
"type": "other",
"name": "Other",
"xml": "<outcome value='Other'>",
"comments": "",
"outputs": 1,
- "x": 1301.00390625,
- "y": 594.00390625,
- "z": "5630a65a.9ec898",
+ "x": 1363.531494140625,
+ "y": 607.0352764129639,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "3ebb744f.dbc61c"
+ "867c2305.719d4"
]
]
},
{
- "id": "3ebb744f.dbc61c",
+ "id": "867c2305.719d4",
"type": "set",
"name": "set prop.tenant-id",
"xml": "<set>\n<parameter name='prop.tenant-id' value='`$tmp.AnAI-data.temp-ub-sub-account-id`' />\n",
"comments": "",
- "x": 1487.0041427612305,
- "y": 594.0039291381836,
- "z": "5630a65a.9ec898",
+ "x": 1519.5316696166992,
+ "y": 665.0351943969727,
+ "z": "28e3f0b9.24cf2",
"wires": []
},
{
- "id": "d1e6018.8be3d",
+ "id": "f0651115.93559",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">\n",
"atomic": "false",
"comments": "",
"outputs": 1,
- "x": 1515.75390625,
- "y": 539.75390625,
- "z": "5630a65a.9ec898",
+ "x": 1501.2812385559082,
+ "y": 553.7851538658142,
+ "z": "28e3f0b9.24cf2",
"wires": [
[
- "3f91e970.83e3f6",
- "df20c5db.1ec7f8",
- "8a6f7c34.568fe",
- "f54989e1.a4a098",
- "eb872c81.f35e"
+ "369b1850.33da28",
+ "6de36f9a.0a191",
+ "1299a0cc.66391f",
+ "8cc3c364.b95fb",
+ "c1785bc5.472658"
]
]
},
{
- "id": "f54989e1.a4a098",
+ "id": "8cc3c364.b95fb",
"type": "set",
"name": "set prop.customer-id",
"xml": "<set>\n<parameter name='prop.customer-id' value='`$ctx.network-data.service-information.global-customer-id`' />\n",
"comments": "",
- "x": 1728.2540321350098,
- "y": 492.75404182076454,
- "z": "5630a65a.9ec898",
+ "x": 1716.7815170288086,
+ "y": 490.78530991077423,
+ "z": "28e3f0b9.24cf2",
"wires": []
},
{
- "id": "3f91e970.83e3f6",
+ "id": "369b1850.33da28",
"type": "execute",
"name": "execute RestApiCallNode Create tenant",
"xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-tenant.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenanats'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"tenant-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
"comments": "",
"outputs": 1,
- "x": 1789.2539176940918,
- "y": 553.7539159357548,
- "z": "5630a65a.9ec898",
+ "x": 1774.78125,
+ "y": 567.785163551569,
+ "z": "28e3f0b9.24cf2",
"wires": [
[]
]
},
{
- "id": "df20c5db.1ec7f8",
+ "id": "6de36f9a.0a191",
"type": "set",
"name": "set prop.tenant-id",
"xml": "<set>\n<parameter name='prop.tenant-id' value='`$tenant-result.data.tenantId`' />\n",
"comments": "",
- "x": 1722.253963470459,
- "y": 582.7538844645023,
- "z": "5630a65a.9ec898",
+ "x": 1724.7814826965332,
+ "y": 619.785234451294,
+ "z": "28e3f0b9.24cf2",
"wires": []
},
{
- "id": "8a6f7c34.568fe",
+ "id": "1299a0cc.66391f",
"type": "execute",
"name": "execute RestApiCallNode Create tenant auth",
"xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenanats/authorization/' + $prop.tenant-id`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"put\"/>\n<parameter name=\"responsePrefix\" value=\"tenant-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
"comments": "",
"outputs": 1,
- "x": 1803.7538719177246,
- "y": 613.5038854181767,
- "z": "5630a65a.9ec898",
+ "x": 1792.281478881836,
+ "y": 655.535234451294,
+ "z": "28e3f0b9.24cf2",
"wires": [
[]
]
},
{
- "id": "eb872c81.f35e",
+ "id": "c1785bc5.472658",
"type": "get-resource",
"name": "save-resource customer-id in service-subscription",
"xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"service-subscription\" \n key= 'service-subscription.service-type = $service-data.networks.network[$tmp.nidx].network-data.service-information.subscription-service-type \n AND customer.global-customer-id = $service-data.networks.network[$tmp.nidx].network-data.service-information.global-customer-id'>\n<parameter name='temp-ub-sub-account-id' value='`$prop.customer-id`' />\n\n",
"comments": "",
"outputs": 1,
- "x": 1819.253963470459,
- "y": 524.7540208399296,
- "z": "5630a65a.9ec898",
+ "x": 1794.7813568115234,
+ "y": 528.7853126525879,
+ "z": "28e3f0b9.24cf2",
"wires": [
[]
]
+ },
+ {
+ "id": "edc9287a.cc5518",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 969.03125,
+ "y": 586.03125,
+ "z": "28e3f0b9.24cf2",
+ "wires": [
+ [
+ "a1fba96c.417d58"
+ ]
+ ]
+ },
+ {
+ "id": "5b0f29d9.42a638",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 961.28125,
+ "y": 639.6741333007812,
+ "z": "28e3f0b9.24cf2",
+ "wires": [
+ [
+ "406169f1.4046c8"
+ ]
+ ]
+ },
+ {
+ "id": "406169f1.4046c8",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error executing get token rest api\" />\n",
+ "comments": "",
+ "x": 1114.03125,
+ "y": 639.4241943359375,
+ "z": "28e3f0b9.24cf2",
+ "wires": []
}
]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-wanport-vnf-topology-operation-underlay.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-wanport-vnf-topology-operation-underlay.json
new file mode 100644
index 00000000..a0a0fa28
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_sdwan-wanport-vnf-topology-operation-underlay.json
@@ -0,0 +1,3366 @@
+[
+ {
+ "id": "b5ebbde.e59a04",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 109,
+ "y": 43,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "a87f9663.877998"
+ ]
+ ]
+ },
+ {
+ "id": "a87f9663.877998",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>",
+ "outputs": 1,
+ "x": 225.2856903076172,
+ "y": 94.23810768127441,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "8c1b6d3.067719"
+ ]
+ ]
+ },
+ {
+ "id": "8c1b6d3.067719",
+ "type": "method",
+ "name": "method sdwan-wanport-vnf-topology-operation-underlay",
+ "xml": "<method rpc='sdwan-wanport-vnf-topology-operation-underlay' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 228.42861938476562,
+ "y": 179.00003147125244,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "3cd9be6d.873c82"
+ ]
+ ]
+ },
+ {
+ "id": "3cd9be6d.873c82",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 160.66668701171875,
+ "y": 287.66673278808594,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "2d7b33ef.a2d9ac",
+ "383a5f3d.e4cb2",
+ "70ceaafc.e0d3f4",
+ "c880f4e9.6d6098"
+ ]
+ ]
+ },
+ {
+ "id": "2d7b33ef.a2d9ac",
+ "type": "for",
+ "name": "for cidx..service-data.consumed-allotted-resources.consumed-allotted-resource[]",
+ "xml": "<for index='cidx' start='0' end='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 598.0004119873047,
+ "y": 398.66683769226074,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "e9598182.81589"
+ ]
+ ]
+ },
+ {
+ "id": "be430b5e.14a828",
+ "type": "set",
+ "name": "set prop.ar.allotted-resource-id",
+ "xml": "<set>\n<parameter name='prop.ar.allotted-resource-id' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id`' />\n",
+ "comments": "",
+ "x": 1385.0013427734375,
+ "y": 115.96877861022949,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "423b3b97.a50914",
+ "type": "comment",
+ "name": "Query MDSAL for AR",
+ "info": "",
+ "comments": "",
+ "x": 1710.3340148925781,
+ "y": 139.96864795684814,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "dab21607.3703b8",
+ "type": "comment",
+ "name": "Query MDSAL to get parent service based on service instance id from AR",
+ "info": "",
+ "comments": "",
+ "x": 2180.334873199463,
+ "y": 158.96862697601318,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "90cd3398.44586",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1959.66841506958,
+ "y": 194.63526725769043,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "1d70b537.cd409b"
+ ]
+ ]
+ },
+ {
+ "id": "1d70b537.cd409b",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2114.668254852295,
+ "y": 194.13510036468506,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "d282839d.a628"
+ ]
+ ]
+ },
+ {
+ "id": "bce07922.8c4f98",
+ "type": "other",
+ "name": "outcome 1",
+ "xml": "<outcome value='1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2438.3587913513184,
+ "y": 190.75424098968506,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "3b07cad3.619296"
+ ]
+ ]
+ },
+ {
+ "id": "ee52805a.8bd8",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: Connection attachement resource not found\" />\n \n",
+ "comments": "",
+ "x": 2584.1275672912598,
+ "y": 230.20122909545898,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "259f1fc9.28f91",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1952.5201416015625,
+ "y": 241.70127391815186,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "b7b7bf01.123cf"
+ ]
+ ]
+ },
+ {
+ "id": "b7b7bf01.123cf",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2102.5199851989746,
+ "y": 242.36782932281494,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "7cd11e1b.bfaf1"
+ ]
+ ]
+ },
+ {
+ "id": "7c51c058.0306e",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2426.6867446899414,
+ "y": 228.03460121154785,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "ee52805a.8bd8"
+ ]
+ ]
+ },
+ {
+ "id": "d282839d.a628",
+ "type": "switchNode",
+ "name": "switch cr length",
+ "xml": "<switch test='`$mdsal-ar.connection-attachment-allotted-resource_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2278.668430328369,
+ "y": 194.6352834701538,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "bce07922.8c4f98",
+ "7c51c058.0306e"
+ ]
+ ]
+ },
+ {
+ "id": "91cc0551.bc01e8",
+ "type": "set",
+ "name": "set parent-service-instance-id",
+ "xml": "<set>\n<parameter name='prop.parent-service-instance-id' value='`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.parent-service-instance-id`' />\n\n",
+ "comments": "",
+ "x": 2834.0020294189453,
+ "y": 191.63526439666748,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "3b07cad3.619296",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic='true'>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2588.4778213500977,
+ "y": 190.80180072784424,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "91cc0551.bc01e8",
+ "dc60366a.2e9048"
+ ]
+ ]
+ },
+ {
+ "id": "7cd11e1b.bfaf1",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: Connection attachement resource not found\" />\n \n",
+ "comments": "",
+ "x": 2270.001438140869,
+ "y": 240.63520526885986,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "dab3ccab.cce12",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2057.303554534912,
+ "y": 512.7709312438965,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "d5fc5211.c019"
+ ]
+ ]
+ },
+ {
+ "id": "4c1ffccd.7a1ed4",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2049.15535736084,
+ "y": 547.8370161056519,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "4fdb783b.5926a8"
+ ]
+ ]
+ },
+ {
+ "id": "4fdb783b.5926a8",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: SOTN resource not found\" />\n \n",
+ "comments": "",
+ "x": 2195.304130554199,
+ "y": 548.1045122146606,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "d5fc5211.c019",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2177.3038024902344,
+ "y": 512.771014213562,
+ "z": "33eaf422.44290c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c5126628.a1afc8",
+ "type": "for",
+ "name": "for pnidx.. mdsal-psd.networks.network_length[]",
+ "xml": "<for index='pnidx' start='0' end='`$mdsal-psd.service-data.networks.network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1740.6683502197266,
+ "y": 612.3028893470764,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "84a7b7df.1615b8"
+ ]
+ ]
+ },
+ {
+ "id": "c8ac708.b0a709",
+ "type": "switchNode",
+ "name": "switch ActivateSDWANConnectivityInstance",
+ "xml": "<switch test=\"`$mdsal-psd.service-data.networks.network[$pnidx].network-data.request-information.request-action == 'ActivateSDWANConnectivityInstance'`\">\n \n \n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2277.3349990844727,
+ "y": 583.3028283119202,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "af2e2a1f.e9aba8"
+ ]
+ ]
+ },
+ {
+ "id": "af2e2a1f.e9aba8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2522.334518432617,
+ "y": 582.3028283119202,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "64a2447b.58478c"
+ ]
+ ]
+ },
+ {
+ "id": "64a2447b.58478c",
+ "type": "set",
+ "name": "set tmp.pnidx ",
+ "xml": "<set>\n<parameter name='tmp.pnidx' value='`$pnidx`' />\n\n",
+ "comments": "",
+ "x": 2678.3342056274414,
+ "y": 582.3028283119202,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "cf236aa.4478b98",
+ "type": "for",
+ "name": "for loop paramidx - Get topology from servicedata",
+ "xml": "<for index=\"paramidx\" start=\"0\" end=\"`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param_length`\">\n \n \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1746.3349304199219,
+ "y": 662.3024039268494,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "8e2c0789.42db78"
+ ]
+ ]
+ },
+ {
+ "id": "5a69b1be.1055d",
+ "type": "switchNode",
+ "name": "switch topology",
+ "xml": "<switch test=\"`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'topology'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2178.335252761841,
+ "y": 660.3024020195007,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "333e463b.eac74a"
+ ]
+ ]
+ },
+ {
+ "id": "333e463b.eac74a",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2329.3352642059326,
+ "y": 658.3024439811707,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "3622de43.1881c2"
+ ]
+ ]
+ },
+ {
+ "id": "3622de43.1881c2",
+ "type": "set",
+ "name": "set topology",
+ "xml": "<set>\n<parameter name='prop.topology' value='`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />\n",
+ "comments": "",
+ "x": 2470.3349933624268,
+ "y": 657.9023776054382,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "b9ac21ad.456c9",
+ "type": "switchNode",
+ "name": "switch tmp.pnidx ",
+ "xml": "<switch test=\"`$tmp.pnidx`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2184.3346939086914,
+ "y": 622.9690413475037,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "14fa21e1.174cde"
+ ]
+ ]
+ },
+ {
+ "id": "14fa21e1.174cde",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2331.7633361816406,
+ "y": 622.5404515266418,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "aa33b299.d2b4d"
+ ]
+ ]
+ },
+ {
+ "id": "aa33b299.d2b4d",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data\" />\n",
+ "comments": "",
+ "x": 2475.1921920776367,
+ "y": 622.6835255622864,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "f19570ac.55187",
+ "type": "switchNode",
+ "name": "switch topology hub-spoke",
+ "xml": "<switch test=\"`$prop.topology == 'hub-spoke'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1551.3348426818848,
+ "y": 759.3023405075073,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "aa80dabf.aca3c8",
+ "4031750f.9789cc"
+ ]
+ ]
+ },
+ {
+ "id": "aa80dabf.aca3c8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1741.334529876709,
+ "y": 784.3028259277344,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "768ac816.c95648"
+ ]
+ ]
+ },
+ {
+ "id": "4031750f.9789cc",
+ "type": "outcomeTrue",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1742.3353233337402,
+ "y": 712.3024568557739,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "bcb708b4.4756f8"
+ ]
+ ]
+ },
+ {
+ "id": "bcb708b4.4756f8",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1872.3353271484375,
+ "y": 711.3024568557739,
+ "z": "33eaf422.44290c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "768ac816.c95648",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1746.66748046875,
+ "y": 852.3020601272583,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "37a8a2fc.2a711e"
+ ]
+ ]
+ },
+ {
+ "id": "37a8a2fc.2a711e",
+ "type": "for",
+ "name": "for ppidx.. mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[]",
+ "xml": "<for index='ppidx' start='0' end='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2154.000732421875,
+ "y": 852.6356782913208,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "2c05f76b.7d8c98"
+ ]
+ ]
+ },
+ {
+ "id": "27aa5d13.3e58c2",
+ "type": "set",
+ "name": "set prop.ar.provided-allotted-resource-id",
+ "xml": "<set>\n<parameter name='prop.ar.provided-allotted-resource-id' value='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[$ppidx].allotted-resource-id`' />\n\n",
+ "comments": "",
+ "x": 2245.0018463134766,
+ "y": 930.6359763145447,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "2e8e3485.54a23c",
+ "type": "for",
+ "name": "for loop aridx - Get role from allotted resource",
+ "xml": "<for index=\"aridx\" start=\"0\" end=\"`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`\">\n \n \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2263.0025482177734,
+ "y": 1041.302767753601,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "1e03ba47.0fb3f6"
+ ]
+ ]
+ },
+ {
+ "id": "a525e63a.cc2b38",
+ "type": "switchNode",
+ "name": "switch Role",
+ "xml": "<switch test=\"`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].name == 'Role'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2672.002658843994,
+ "y": 1044.3028545379639,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "3f99d6d3.e0611a"
+ ]
+ ]
+ },
+ {
+ "id": "3f99d6d3.e0611a",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2813.0029907226562,
+ "y": 1043.3028535842896,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "7bec0d2f.0381d4"
+ ]
+ ]
+ },
+ {
+ "id": "7bec0d2f.0381d4",
+ "type": "set",
+ "name": "set prop.role",
+ "xml": "<set>\n<parameter name='prop.role' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].value`' />\n",
+ "comments": "",
+ "x": 2954.0030250549316,
+ "y": 1044.9027452468872,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "8fa9655b.7c6ef8",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2749.0020446777344,
+ "y": 947.969269990921,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "788b9cb8.8b37d4"
+ ]
+ ]
+ },
+ {
+ "id": "3a2551b1.4f0ace",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2745.8537673950195,
+ "y": 1002.0353531837463,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "5672e76f.825118"
+ ]
+ ]
+ },
+ {
+ "id": "5672e76f.825118",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: SOTN resource not found\" />\n \n",
+ "comments": "",
+ "x": 2891.002540588379,
+ "y": 999.3028502464294,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "788b9cb8.8b37d4",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2877.0020484924316,
+ "y": 947.9692711830139,
+ "z": "33eaf422.44290c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f102bda6.18929",
+ "type": "switchNode",
+ "name": "switch role hub",
+ "xml": "<switch test=\"`$prop.role == hub`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2129.3351821899414,
+ "y": 1106.6358079910278,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "145fa94e.f27887",
+ "f3be5614.599b68"
+ ]
+ ]
+ },
+ {
+ "id": "da4408c3.f5c0d8",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2445.3345680236816,
+ "y": 1082.6354112625122,
+ "z": "33eaf422.44290c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "77da5adf.834034",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2855.3042030334473,
+ "y": 1178.1045179367065,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "8a4c0c4d.62361"
+ ]
+ ]
+ },
+ {
+ "id": "8429ea0a.844dc8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2857.155773162842,
+ "y": 1238.170599937439,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "e9382022.a0267"
+ ]
+ ]
+ },
+ {
+ "id": "e9382022.a0267",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: SDWAN service-data not found\" />\n \n",
+ "comments": "",
+ "x": 3001.304546356201,
+ "y": 1200.4380140304565,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "8a4c0c4d.62361",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2985.3042221069336,
+ "y": 1167.1046781539917,
+ "z": "33eaf422.44290c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "cf6c45e0.a382b8",
+ "type": "set",
+ "name": "set prop.ar-service-instance-id",
+ "xml": "<set>\n<parameter name='prop.ar-service-instance-id' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.connection-attachment-topology.allotted-resource-identifiers.consuming-service-instance-id`' />\n",
+ "comments": "",
+ "x": 2457.3356018066406,
+ "y": 1166.6360107660294,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "57a73c1e.aeb484",
+ "type": "for",
+ "name": "for arvidx.. mdsal-arsd.service-data.vnfs.vnf_length[]",
+ "xml": "<for index='arvidx' start='0' end='`$mdsal-arsd.service-data.vnfs.vnf_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2501.0020751953125,
+ "y": 1288.6358003616333,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "c345e276.9551d"
+ ]
+ ]
+ },
+ {
+ "id": "c345e276.9551d",
+ "type": "block",
+ "name": "block atmoic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2847.6683959960938,
+ "y": 1278.6357765197754,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "568b8936.7e3108",
+ "39f7ac2d.b359d4",
+ "5ab57864.07d758"
+ ]
+ ]
+ },
+ {
+ "id": "568b8936.7e3108",
+ "type": "switchNode",
+ "name": "switch ActivateSDWANPortInstance",
+ "xml": "<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSDWANPortInstance'`\">\n \n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3105.6684799194336,
+ "y": 1233.636646270752,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "61fa4242.861d3c"
+ ]
+ ]
+ },
+ {
+ "id": "cb874e53.482c8",
+ "type": "switchNode",
+ "name": "switch tmp.portvidx ",
+ "xml": "<switch test=\"`$tmp.portvidx`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2582.668212890625,
+ "y": 1333.3024454116821,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "6aed06ab.403dd8"
+ ]
+ ]
+ },
+ {
+ "id": "815939d8.db2788",
+ "type": "for",
+ "name": "for loop wportidx - Get wan port ID from servicedata",
+ "xml": "<for index=\"wportidx\" start=\"0\" end=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n \n \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2507.6688232421875,
+ "y": 1488.6367044448853,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "233ccbaa.09c2a4"
+ ]
+ ]
+ },
+ {
+ "id": "6aed06ab.403dd8",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2743.0966777801514,
+ "y": 1332.8739652633667,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "ed789211.6aa24"
+ ]
+ ]
+ },
+ {
+ "id": "ed789211.6aa24",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id (port) not found in service-data\" />\n",
+ "comments": "",
+ "x": 2880.525634765625,
+ "y": 1333.0173768997192,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "61fa4242.861d3c",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3333.668167114258,
+ "y": 1231.6366472244263,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "8dcdd808.562708"
+ ]
+ ]
+ },
+ {
+ "id": "233ccbaa.09c2a4",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2850.669807434082,
+ "y": 1491.6369543075562,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "a50a8ecc.70146",
+ "c6553e69.23e06",
+ "a6ca66b6.132b88",
+ "f8ad0824.756498"
+ ]
+ ]
+ },
+ {
+ "id": "a50a8ecc.70146",
+ "type": "switchNode",
+ "name": "switch transportNetworkName",
+ "xml": "<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'transportNetworkName'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3145.670757293701,
+ "y": 1430.6374912261963,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "1b0657c2.3d75f8"
+ ]
+ ]
+ },
+ {
+ "id": "8dcdd808.562708",
+ "type": "set",
+ "name": "set tmp.portvidx ",
+ "xml": "<set>\n<parameter name='tmp.portvidx' value='`$arvidx`' />\n\n",
+ "comments": "",
+ "x": 3488.6678504943848,
+ "y": 1231.636646270752,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "1b0657c2.3d75f8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3338.6707725524902,
+ "y": 1430.63765335083,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "b34f100.12863f"
+ ]
+ ]
+ },
+ {
+ "id": "b34f100.12863f",
+ "type": "set",
+ "name": "set prop.hub.transportNetworkName",
+ "xml": "<set>\n<parameter name='prop.hub.transportNetworkName' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\n",
+ "comments": "",
+ "x": 3556.6707801818848,
+ "y": 1429.23823928833,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "c6553e69.23e06",
+ "type": "switchNode",
+ "name": "switch wanPortId",
+ "xml": "<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'wanPortId'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3107.003490447998,
+ "y": 1464.6371002197266,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "2bec9518.ec7c8a"
+ ]
+ ]
+ },
+ {
+ "id": "2bec9518.ec7c8a",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3268.003818511963,
+ "y": 1465.6371803283691,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "37425798.ff2018"
+ ]
+ ]
+ },
+ {
+ "id": "37425798.ff2018",
+ "type": "set",
+ "name": "set prop.hub.wanPortId",
+ "xml": "<set>\n<parameter name='prop.hub.wanPortId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\n",
+ "comments": "",
+ "x": 3458.004280090332,
+ "y": 1465.2374563217163,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "d298818e.120b",
+ "type": "switchNode",
+ "name": "switch prop.hub.transportNetworkName==prop.spoke.transportNetworkName",
+ "xml": "<switch test=\"`$prop.hub.transportNetworkName == $prop.spoke.transportNetworkName`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2585.004150390625,
+ "y": 1591.304440498352,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "7a56c9bb.004ba8",
+ "6f7c3402.62f4ac"
+ ]
+ ]
+ },
+ {
+ "id": "7a56c9bb.004ba8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2931.0036811828613,
+ "y": 1628.3045144081116,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "3d53e5a5.8f912a"
+ ]
+ ]
+ },
+ {
+ "id": "6f7c3402.62f4ac",
+ "type": "outcomeTrue",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2935.0041694641113,
+ "y": 1563.3041467666626,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "67b638dd.ee4608"
+ ]
+ ]
+ },
+ {
+ "id": "67b638dd.ee4608",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 3075.0040969848633,
+ "y": 1591.304271697998,
+ "z": "33eaf422.44290c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2c05f76b.7d8c98",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1896.0322265625,
+ "y": 961.8333101272583,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "27aa5d13.3e58c2",
+ "2e8e3485.54a23c",
+ "f102bda6.18929",
+ "74cd5045.40831",
+ "447d9e5f.d5a82"
+ ]
+ ]
+ },
+ {
+ "id": "e66f705e.b1887",
+ "type": "switchNode",
+ "name": "switch vpnId",
+ "xml": "<switch test=\"`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'vpnId'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2168.001268386841,
+ "y": 704.6354126930237,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "3f0e1104.f843be"
+ ]
+ ]
+ },
+ {
+ "id": "3f0e1104.f843be",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2312.0012798309326,
+ "y": 704.6354537010193,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "ca8d4515.16e2d8"
+ ]
+ ]
+ },
+ {
+ "id": "ca8d4515.16e2d8",
+ "type": "set",
+ "name": "set prop.vpnId",
+ "xml": "<set>\n<parameter name='prop.vpnId' value='`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />\n",
+ "comments": "",
+ "x": 2470.001001358032,
+ "y": 703.2353882789612,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "49f7ab80.b2f444",
+ "type": "set",
+ "name": "Set prop.hubTnpId",
+ "xml": "<set>\n<parameter name='prop.hubTnpId' value='$prop.hub.wanPortId' />\n\n",
+ "comments": "",
+ "x": 2622.336555480957,
+ "y": 1717.6363048553467,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "e429ce4e.ff4d3",
+ "type": "execute",
+ "name": "execute RestApiCallNode underlay route",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-underlay.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static/action/batch-delete'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"underlayHubResp\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 3483.335531234741,
+ "y": 2176.970527648926,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "ec4a9fe3.5d773",
+ "c11c5434.daa9b8"
+ ]
+ ]
+ },
+ {
+ "id": "c11c5434.daa9b8",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3730.3355026245117,
+ "y": 2161.970682144165,
+ "z": "33eaf422.44290c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ec4a9fe3.5d773",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3728.3351821899414,
+ "y": 2117.970672607422,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "dfdd1a66.f211b8"
+ ]
+ ]
+ },
+ {
+ "id": "dfdd1a66.f211b8",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error executing sdwan hub route underlay rest api\" />\n",
+ "comments": "",
+ "x": 3870.335868835449,
+ "y": 2115.9707555770874,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "f88633ef.4a895",
+ "type": "set",
+ "name": "Add prop.hub.route",
+ "xml": "<set>\n<parameter name='prop.route.id' value='`$prop.hubRouteId`' />\n<parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\n<parameter name='prop.route.siteId' value='`$prop.hub.siteId`' />\n<parameter name='prop.route.deviceId' value='`$prop.hub.deviceId`' />\n<parameter name='prop.route.providerIpAddress' value='`$prop.hub.providerIpAddress`' />\n<parameter name='prop.route.wanportId' value='`$prop.spoke.wanportId`' />\n<parameter name='prop.route.ipAddress' value='`$prop.hub.ipAddress`' />\n\n\n",
+ "comments": "",
+ "x": 3414.669235229492,
+ "y": 2140.6372261047363,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "9c47cd10.cba71",
+ "type": "execute",
+ "name": "execute RestApiCallNode underlay route",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-underlay.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static/action/batch-delete'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"underlayspokeResp\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 3489.669235229492,
+ "y": 2282.637691259384,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "97c364c.1574998",
+ "46a68448.91960c"
+ ]
+ ]
+ },
+ {
+ "id": "46a68448.91960c",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3734.669120788574,
+ "y": 2261.6379222869873,
+ "z": "33eaf422.44290c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "97c364c.1574998",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3732.668800354004,
+ "y": 2217.637912750244,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "32d31d6b.e39f42"
+ ]
+ ]
+ },
+ {
+ "id": "32d31d6b.e39f42",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error executing sdwan spoke route underlay rest api\" />\n",
+ "comments": "",
+ "x": 3874.6694869995117,
+ "y": 2215.6379957199097,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "39f7ac2d.b359d4",
+ "type": "switchNode",
+ "name": "switch ActivateSDWANDeviceInstance",
+ "xml": "<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSDWANDeviceInstance'`\">\n \n \n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3116.5320568084717,
+ "y": 1266.833604812622,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "f872eafd.ca0638"
+ ]
+ ]
+ },
+ {
+ "id": "50e86192.f47ba",
+ "type": "switchNode",
+ "name": "switch tmp.devicevidx ",
+ "xml": "<switch test=\"`$tmp.devicevidx`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2588.5316314697266,
+ "y": 1375.4999265670776,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "e276c36a.0c845"
+ ]
+ ]
+ },
+ {
+ "id": "e276c36a.0c845",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2754.9600677490234,
+ "y": 1375.0714597702026,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "58c8206f.bb829"
+ ]
+ ]
+ },
+ {
+ "id": "58c8206f.bb829",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id (device) not found in service-data\" />\n",
+ "comments": "",
+ "x": 2895.388999938965,
+ "y": 1377.2144346237183,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "f872eafd.ca0638",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3344.531744003296,
+ "y": 1264.8336057662964,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "9b7f11e8.f156f"
+ ]
+ ]
+ },
+ {
+ "id": "9b7f11e8.f156f",
+ "type": "set",
+ "name": "set tmp.devicevidx ",
+ "xml": "<set>\n<parameter name='tmp.devicevidx' value='`$arvidx`' />\n\n",
+ "comments": "",
+ "x": 3499.531427383423,
+ "y": 1264.833604812622,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "5ab57864.07d758",
+ "type": "switchNode",
+ "name": "switch ActivateSiteInstance",
+ "xml": "<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSiteInstance'`\">\n \n \n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3079.532127380371,
+ "y": 1300.8336687088013,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "c3a08b58.d519a8"
+ ]
+ ]
+ },
+ {
+ "id": "971c87ae.5fde98",
+ "type": "switchNode",
+ "name": "switch tmp.sitevidx ",
+ "xml": "<switch test=\"`$tmp.sitevidx`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2587.5315017700195,
+ "y": 1413.4998044967651,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "9fcf4fcb.f5c0f"
+ ]
+ ]
+ },
+ {
+ "id": "9fcf4fcb.f5c0f",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2747.959966659546,
+ "y": 1413.0713243484497,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "2e7d1637.59ed7a"
+ ]
+ ]
+ },
+ {
+ "id": "2e7d1637.59ed7a",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id (site) not found in service-data\" />\n",
+ "comments": "",
+ "x": 2896.388921737671,
+ "y": 1415.2143306732178,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "c3a08b58.d519a8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3267.531692504883,
+ "y": 1300.8338346481323,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "90c635f1.794b58"
+ ]
+ ]
+ },
+ {
+ "id": "90c635f1.794b58",
+ "type": "set",
+ "name": "set tmp.sitevidx ",
+ "xml": "<set>\n<parameter name='tmp.sitevidx' value='`$arvidx`' />\n\n",
+ "comments": "",
+ "x": 3422.5313758850098,
+ "y": 1300.833833694458,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "d7805819.9cd108",
+ "type": "for",
+ "name": "for loop deviceidx - Get wan port ID from servicedata",
+ "xml": "<for index=\"deviceidx\" start=\"0\" end=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.devicevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n \n \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2719.5331497192383,
+ "y": 1753.834059715271,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "82cf7632.68ed28"
+ ]
+ ]
+ },
+ {
+ "id": "2060fdef.b0b7d2",
+ "type": "switchNode",
+ "name": "switch deviceId",
+ "xml": "<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.devicevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$deviceidx].name == 'deviceId'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3180.5345039367676,
+ "y": 1667.834927558899,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "2cf983c4.8e5dac"
+ ]
+ ]
+ },
+ {
+ "id": "2cf983c4.8e5dac",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3331.5348777770996,
+ "y": 1664.835171699524,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "234f9431.3dcaac"
+ ]
+ ]
+ },
+ {
+ "id": "234f9431.3dcaac",
+ "type": "set",
+ "name": "set prop.hub.deviceId",
+ "xml": "<set>\n<parameter name='prop.hub.deviceId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.devicevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$deviceidx].value`' />\n",
+ "comments": "",
+ "x": 3506.535125732422,
+ "y": 1664.4356966018677,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "4ed5eacf.f6a1c4",
+ "type": "for",
+ "name": "for loop siteidx - Get site ID from servicedata",
+ "xml": "<for index=\"siteidx\" start=\"0\" end=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n \n \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2694.0330352783203,
+ "y": 1810.83407497406,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "c6190b7b.0c6f78"
+ ]
+ ]
+ },
+ {
+ "id": "c9e1f848.8aa118",
+ "type": "switchNode",
+ "name": "switch spokeRouteId",
+ "xml": "<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'spokeRouteId'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3160.034511566162,
+ "y": 1822.8348779678345,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "480353b6.36bf3c"
+ ]
+ ]
+ },
+ {
+ "id": "480353b6.36bf3c",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3323.035057067871,
+ "y": 1820.8351745605469,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "7e8ff406.9f32cc"
+ ]
+ ]
+ },
+ {
+ "id": "7e8ff406.9f32cc",
+ "type": "set",
+ "name": "set prop.spokeRouteId",
+ "xml": "<set>\n<parameter name='prop.spokeRouteId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />\n",
+ "comments": "",
+ "x": 3492.0350646972656,
+ "y": 1820.4357604980469,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "4f4875cc.67999c",
+ "type": "comment",
+ "name": "Add route src->dst, dst->src",
+ "info": "",
+ "comments": "",
+ "x": 2910.6687927246094,
+ "y": 1858.6359510421753,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "2f1d0b59.a2f164",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2132.334228515625,
+ "y": 1238.968747138977,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "57a73c1e.aeb484",
+ "815939d8.db2788",
+ "d298818e.120b",
+ "bc0801cd.444e3",
+ "cf6c45e0.a382b8",
+ "380e9d46.aac952",
+ "150f28bb.9cebb7"
+ ]
+ ]
+ },
+ {
+ "id": "bc0801cd.444e3",
+ "type": "block",
+ "name": "block atmoic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2387.333984375,
+ "y": 1375.3021211624146,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "cb874e53.482c8",
+ "50e86192.f47ba",
+ "971c87ae.5fde98"
+ ]
+ ]
+ },
+ {
+ "id": "3d53e5a5.8f912a",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2381.3349609375,
+ "y": 1747.6356172561646,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "49f7ab80.b2f444",
+ "d7805819.9cd108",
+ "4ed5eacf.f6a1c4",
+ "927db1a6.0967b",
+ "9c607856.359088"
+ ]
+ ]
+ },
+ {
+ "id": "a6ca66b6.132b88",
+ "type": "switchNode",
+ "name": "switch providerIpAddress",
+ "xml": "<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'providerIpAddress'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3128.5319747924805,
+ "y": 1501.8334050178528,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "22164d6f.99a622"
+ ]
+ ]
+ },
+ {
+ "id": "22164d6f.99a622",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3304.532958984375,
+ "y": 1501.8335275650024,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "46635360.d5dd9c"
+ ]
+ ]
+ },
+ {
+ "id": "46635360.d5dd9c",
+ "type": "set",
+ "name": "set prop.hub.providerIpAddress",
+ "xml": "<set>\n<parameter name='prop.hub.providerIpAddress' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\n",
+ "comments": "",
+ "x": 3506.5329971313477,
+ "y": 1502.4334478378296,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "f8ad0824.756498",
+ "type": "switchNode",
+ "name": "switch ipAddress",
+ "xml": "<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'ipAddress'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3101.0320568084717,
+ "y": 1539.333490371704,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "ae5c5a08.535ae8"
+ ]
+ ]
+ },
+ {
+ "id": "ae5c5a08.535ae8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3305.0329971313477,
+ "y": 1539.3334422111511,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "a2ccd569.27b3a8"
+ ]
+ ]
+ },
+ {
+ "id": "a2ccd569.27b3a8",
+ "type": "set",
+ "name": "set prop.hub.ipAddress",
+ "xml": "<set>\n<parameter name='prop.hub.ipAddress' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\n",
+ "comments": "",
+ "x": 3500.033000946045,
+ "y": 1538.9334177970886,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "7ec8de50.abc7a",
+ "type": "set",
+ "name": "Add prop.spoke.route",
+ "xml": "<set>\n<parameter name='prop.route.id' value='`$prop.spokeRouteId`' />\n<parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\n<parameter name='prop.route.siteId' value='`$prop.spoke.siteId`' />\n<parameter name='prop.route.deviceId' value='`$prop.spoke.deviceId`' />\n<parameter name='prop.route.providerIpAddress' value='`$prop.spoke.providerIpAddress`' />\n<parameter name='prop.route.wanportId' value='`$prop.hub.wanportId`' />\n<parameter name='prop.route.ipAddress' value='`$prop.spoke.ipAddress`' />\n\n\n\n\n",
+ "comments": "",
+ "x": 3424.533250808716,
+ "y": 2251.334452390671,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "383a5f3d.e4cb2",
+ "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": 357.3343048095703,
+ "y": 1113.3343391418457,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "66dd18ab.e48f08",
+ "type": "execute",
+ "name": "generate connection attachment AR url ",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.connection-attachment-allottedresource`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ar-url-connection\"/>\n <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n <parameter name=\"replacement\" value=\"`$prop.ar.allotted-resource-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1406.6672058105469,
+ "y": 175.30183696746826,
+ "z": "33eaf422.44290c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "8e4434c9.93e608",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get-resource connection-attachment-allotted-resource",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-ar\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1533.667236328125,
+ "y": 223.3018274307251,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "90cd3398.44586",
+ "259f1fc9.28f91"
+ ]
+ ]
+ },
+ {
+ "id": "b50f711c.f7671",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get parent service data",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-parent-connection`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-psd\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1759.0013122558594,
+ "y": 537.3021445274353,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "dab3ccab.cce12",
+ "4c1ffccd.7a1ed4"
+ ]
+ ]
+ },
+ {
+ "id": "4176c827.c206f8",
+ "type": "execute",
+ "name": "generate connection attachment parent url ",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data\"/>\n <parameter name=\"outputPath\" value=\"tmp.ar-url-parent-connection\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$prop.parent-service-instance-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1735.0010375976562,
+ "y": 503.30206871032715,
+ "z": "33eaf422.44290c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "38bc1f98.0d705",
+ "type": "comment",
+ "name": "full mesh do nothing",
+ "info": "",
+ "comments": "",
+ "x": 1569.667839050293,
+ "y": 714.3021068572998,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "d2bafee.be2ed",
+ "type": "comment",
+ "name": "hub-spoke",
+ "info": "",
+ "comments": "",
+ "x": 2570.6672401428223,
+ "y": 811.3019967079163,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "74cd5045.40831",
+ "type": "execute",
+ "name": "generate connection attachment AR url ",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.connection-attachment-allottedresource`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ar-url-connection\"/>\n <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n <parameter name=\"replacement\" value=\"`$prop.ar.provided-allotted-resource-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2243.0003929138184,
+ "y": 962.3019919395447,
+ "z": "33eaf422.44290c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "447d9e5f.d5a82",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get-resource connection-attachment-allotted-resource",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-providedAr\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2374.000473022461,
+ "y": 1001.9686217308044,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "8fa9655b.7c6ef8",
+ "3a2551b1.4f0ace"
+ ]
+ ]
+ },
+ {
+ "id": "380e9d46.aac952",
+ "type": "execute",
+ "name": "generate service data url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data\"/>\n <parameter name=\"outputPath\" value=\"tmp.ar-url-connection\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$prop.ar-service-instance-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2424.504367828369,
+ "y": 1203.3058919906616,
+ "z": "33eaf422.44290c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "150f28bb.9cebb7",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get service data of allotted resource",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-arsd\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2540.5045013427734,
+ "y": 1240.3057832717896,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "77da5adf.834034",
+ "8429ea0a.844dc8"
+ ]
+ ]
+ },
+ {
+ "id": "f3be5614.599b68",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2304.5000648498535,
+ "y": 1125.8018560409546,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "2f1d0b59.a2f164"
+ ]
+ ]
+ },
+ {
+ "id": "145fa94e.f27887",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2310.500312805176,
+ "y": 1082.801947593689,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "da4408c3.f5c0d8"
+ ]
+ ]
+ },
+ {
+ "id": "dc60366a.2e9048",
+ "type": "for",
+ "name": "for loop roleidx - Get role from allotted resource",
+ "xml": "<for index=\"roleidx\" start=\"0\" end=\"`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`\">\n \n \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2885.5008697509766,
+ "y": 230.30177307128906,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "b2e56fad.1ec69"
+ ]
+ ]
+ },
+ {
+ "id": "b2e56fad.1ec69",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 3144.5011825561523,
+ "y": 229.3020887374878,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "694d9509.75a9ec"
+ ]
+ ]
+ },
+ {
+ "id": "694d9509.75a9ec",
+ "type": "switchNode",
+ "name": "switch Role",
+ "xml": "<switch test=\"`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$roleidx].name == 'role'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3293.501194000244,
+ "y": 230.3019256591797,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "7d090fc5.01ae4"
+ ]
+ ]
+ },
+ {
+ "id": "c3f6a3e4.765a9",
+ "type": "set",
+ "name": "set prop.spoke.role",
+ "xml": "<set>\n<parameter name='prop.spoke.role' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$roleidx].value`' />\n",
+ "comments": "",
+ "x": 3598.501754760742,
+ "y": 227.90183353424072,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "7d090fc5.01ae4",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3429.00101852417,
+ "y": 227.30176544189453,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "c3f6a3e4.765a9"
+ ]
+ ]
+ },
+ {
+ "id": "64901ca2.c8fd44",
+ "type": "switchNode",
+ "name": "switch spoke",
+ "xml": "<switch test=\"`$prop.spoke.role == 'spoke'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1321.000373840332,
+ "y": 374.301700592041,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "3df0d9b2.5cda06"
+ ]
+ ]
+ },
+ {
+ "id": "3df0d9b2.5cda06",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1462.000129699707,
+ "y": 375.30173778533936,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "e7d060c2.d5397"
+ ]
+ ]
+ },
+ {
+ "id": "51f4030a.ed3f5c",
+ "type": "for",
+ "name": "for i.. service-data.vnfs.vnf_length[]",
+ "xml": "<for index='i' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1734.5006561279297,
+ "y": 429.3017330169678,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "62a2db1c.5168f4"
+ ]
+ ]
+ },
+ {
+ "id": "62a2db1c.5168f4",
+ "type": "block",
+ "name": "block atmoic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2068.166847229004,
+ "y": 373.3016633987427,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "5123e57d.8bae0c",
+ "23b51d10.325942",
+ "e569fce4.0fcf9"
+ ]
+ ]
+ },
+ {
+ "id": "5123e57d.8bae0c",
+ "type": "switchNode",
+ "name": "switch ActivateSDWANPortInstance",
+ "xml": "<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSDWANPortInstance'`\">\n \n \n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2339.1668853759766,
+ "y": 319.3025498390198,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "6db9ff05.77666"
+ ]
+ ]
+ },
+ {
+ "id": "6db9ff05.77666",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2552.166648864746,
+ "y": 320.3025527000427,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "277a3bfe.22cd04"
+ ]
+ ]
+ },
+ {
+ "id": "277a3bfe.22cd04",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2701.0003929138184,
+ "y": 322.3017420768738,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "342216f2.a96c5a"
+ ]
+ ]
+ },
+ {
+ "id": "342216f2.a96c5a",
+ "type": "for",
+ "name": "for loop widx - Get wan port ID from servicedata",
+ "xml": "<for index=\"widx\" start=\"0\" end=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n \n \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2974.000343322754,
+ "y": 320.6689600944519,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "bd426655.141608"
+ ]
+ ]
+ },
+ {
+ "id": "bd426655.141608",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 3243.0012702941895,
+ "y": 319.66920614242554,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "d3ada690.01d678",
+ "daf81956.349368",
+ "5bef4443.c838fc",
+ "a4bd0e48.6d82f"
+ ]
+ ]
+ },
+ {
+ "id": "d3ada690.01d678",
+ "type": "switchNode",
+ "name": "switch transportNetworkName",
+ "xml": "<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'transportNetworkName'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3486.0023040771484,
+ "y": 274.6697793006897,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "894b8be3.a2d3b8"
+ ]
+ ]
+ },
+ {
+ "id": "894b8be3.a2d3b8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3686.0020790100098,
+ "y": 274.6699414253235,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "4cf3ccb2.4c44b4"
+ ]
+ ]
+ },
+ {
+ "id": "4cf3ccb2.4c44b4",
+ "type": "set",
+ "name": "set prop.spoke.transportNetworkName",
+ "xml": "<set>\n<parameter name='prop.spoke.transportNetworkName' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\n",
+ "comments": "",
+ "x": 3913.002815246582,
+ "y": 276.2705235481262,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "e7d060c2.d5397",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1214.9694213867188,
+ "y": 685.2706489562988,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "51f4030a.ed3f5c",
+ "4176c827.c206f8",
+ "b50f711c.f7671",
+ "c5126628.a1afc8",
+ "cf236aa.4478b98",
+ "f19570ac.55187"
+ ]
+ ]
+ },
+ {
+ "id": "23b51d10.325942",
+ "type": "switchNode",
+ "name": "switch ActivateSDWANDeviceInstance",
+ "xml": "<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSDWANDeviceInstance'`\">\n \n \n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2331.5003204345703,
+ "y": 393.3017544746399,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "14d0bfc7.55b7a"
+ ]
+ ]
+ },
+ {
+ "id": "14d0bfc7.55b7a",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2550.5000705718994,
+ "y": 394.30173921585083,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "da1c13db.62f86"
+ ]
+ ]
+ },
+ {
+ "id": "da1c13db.62f86",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2701.3340606689453,
+ "y": 400.3009305000305,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "e71b7f46.84637"
+ ]
+ ]
+ },
+ {
+ "id": "e71b7f46.84637",
+ "type": "for",
+ "name": "for loop didx - Get device ID from servicedata",
+ "xml": "<for index=\"didx\" start=\"0\" end=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n \n \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2960.334312438965,
+ "y": 402.66822576522827,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "ae18d850.3d05e8"
+ ]
+ ]
+ },
+ {
+ "id": "ae18d850.3d05e8",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 3246.334819793701,
+ "y": 435.66841077804565,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "1383d6a4.a044c9"
+ ]
+ ]
+ },
+ {
+ "id": "1383d6a4.a044c9",
+ "type": "switchNode",
+ "name": "switch deviceId",
+ "xml": "<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$didx].name == 'deviceId'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3429.3357315063477,
+ "y": 435.66902112960815,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "cbbd7b54.04add8"
+ ]
+ ]
+ },
+ {
+ "id": "cbbd7b54.04add8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3629.335506439209,
+ "y": 435.66918325424194,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "2002292c.f851e6"
+ ]
+ ]
+ },
+ {
+ "id": "2002292c.f851e6",
+ "type": "set",
+ "name": "set prop.spoke.deviceId",
+ "xml": "<set>\n<parameter name='prop.spoke.deviceId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$didx].value`' />\n",
+ "comments": "",
+ "x": 3824.3361892700195,
+ "y": 432.26976442337036,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "e569fce4.0fcf9",
+ "type": "switchNode",
+ "name": "switch ActivateSiteInstance",
+ "xml": "<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSiteInstance'`\">\n \n \n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2310.5004348754883,
+ "y": 454.30178594589233,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "2c51cabd.1c1bf6"
+ ]
+ ]
+ },
+ {
+ "id": "2c51cabd.1c1bf6",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2544.500072479248,
+ "y": 455.3017258644104,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "4b1a4a05.7589d4"
+ ]
+ ]
+ },
+ {
+ "id": "4b1a4a05.7589d4",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2696.3340606689453,
+ "y": 477.30096197128296,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "bfdd7dbc.be644"
+ ]
+ ]
+ },
+ {
+ "id": "bfdd7dbc.be644",
+ "type": "for",
+ "name": "for loop widx - Get wan site ID from servicedata",
+ "xml": "<for index=\"sidx\" start=\"0\" end=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n \n \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2977.3338928222656,
+ "y": 476.668164730072,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "86ec8da.eb7757"
+ ]
+ ]
+ },
+ {
+ "id": "86ec8da.eb7757",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 3246.334819793701,
+ "y": 475.66841077804565,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "ea6a5ab7.abd8e8",
+ "b2aac804.e6f348"
+ ]
+ ]
+ },
+ {
+ "id": "ea6a5ab7.abd8e8",
+ "type": "switchNode",
+ "name": "switch name",
+ "xml": "<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'siteId'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3435.335723876953,
+ "y": 513.6690349578857,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "46e734ca.67fa0c"
+ ]
+ ]
+ },
+ {
+ "id": "46e734ca.67fa0c",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3635.3354988098145,
+ "y": 513.6691970825195,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "f2397edb.062c5"
+ ]
+ ]
+ },
+ {
+ "id": "f2397edb.062c5",
+ "type": "set",
+ "name": "set prop.spoke.siteId",
+ "xml": "<set>\n<parameter name='prop.spoke.siteId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />\n",
+ "comments": "",
+ "x": 3823.3363037109375,
+ "y": 512.2698106765747,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "daf81956.349368",
+ "type": "switchNode",
+ "name": "switch wanPortId",
+ "xml": "<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'wanPortId'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3459.5,
+ "y": 311.3018355369568,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "34972355.9c297c"
+ ]
+ ]
+ },
+ {
+ "id": "34972355.9c297c",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3689.5000038146973,
+ "y": 311.3019471168518,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "6f9ff7e2.2957f8"
+ ]
+ ]
+ },
+ {
+ "id": "6f9ff7e2.2957f8",
+ "type": "set",
+ "name": "set prop.spoke.wanPortId",
+ "xml": "<set>\n<parameter name='prop.spoke.wanPortId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\n",
+ "comments": "",
+ "x": 3916.5007400512695,
+ "y": 312.90252923965454,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "5bef4443.c838fc",
+ "type": "switchNode",
+ "name": "switch providerIpAddress",
+ "xml": "<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'providerIpAddress'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3477.500160217285,
+ "y": 355.30178594589233,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "9220a2ce.263ec"
+ ]
+ ]
+ },
+ {
+ "id": "9220a2ce.263ec",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3677.4999351501465,
+ "y": 355.3019480705261,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "95bab342.b39b3"
+ ]
+ ]
+ },
+ {
+ "id": "95bab342.b39b3",
+ "type": "set",
+ "name": "set prop.spoke.providerIpAddress",
+ "xml": "<set>\n<parameter name='prop.spoke.providerIpAddress' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\n",
+ "comments": "",
+ "x": 3904.5006713867188,
+ "y": 356.90253019332886,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "a4bd0e48.6d82f",
+ "type": "switchNode",
+ "name": "switch ipAddress",
+ "xml": "<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'ipAddress'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3457.499988555908,
+ "y": 394.30182218551636,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "511d5688.773858"
+ ]
+ ]
+ },
+ {
+ "id": "511d5688.773858",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3681.4998168945312,
+ "y": 394.3019394874573,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "fc2e69a1.2d4298"
+ ]
+ ]
+ },
+ {
+ "id": "fc2e69a1.2d4298",
+ "type": "set",
+ "name": "set prop.spoke.ipAddress",
+ "xml": "<set>\n<parameter name='prop.spoke.ipAddress' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\n",
+ "comments": "",
+ "x": 3908.5005531311035,
+ "y": 395.90252161026,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "e9598182.81589",
+ "type": "block",
+ "name": "block: atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1024.999900817871,
+ "y": 253.50004196166992,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "be430b5e.14a828",
+ "66dd18ab.e48f08",
+ "8e4434c9.93e608",
+ "64901ca2.c8fd44"
+ ]
+ ]
+ },
+ {
+ "id": "813e415f.e07c",
+ "type": "comment",
+ "name": "get spoke device,site,wanport info",
+ "info": "",
+ "comments": "",
+ "x": 1781.96875,
+ "y": 376.96874713897705,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "2db9ead7.c2b4b6",
+ "type": "comment",
+ "name": "Add routes only on activation of spoke Attach site",
+ "info": "",
+ "comments": "",
+ "x": 1418.4998245239258,
+ "y": 336.0000162124634,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "2dcb0ef7.828042",
+ "type": "comment",
+ "name": "Loop for all the hub allotted resources, get respective service data and get vnfs info",
+ "info": "",
+ "comments": "",
+ "x": 2198.5,
+ "y": 815.500057220459,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "c6190b7b.0c6f78",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2954.4997177124023,
+ "y": 1796.9999589920044,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "c9e1f848.8aa118",
+ "f616545c.e692d8",
+ "dcfe4dc9.3d83d",
+ "edcfc449.815b98"
+ ]
+ ]
+ },
+ {
+ "id": "82cf7632.68ed28",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 3004.4997749328613,
+ "y": 1669.999843597412,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "2060fdef.b0b7d2"
+ ]
+ ]
+ },
+ {
+ "id": "dcfe4dc9.3d83d",
+ "type": "switchNode",
+ "name": "switch hubRouteId",
+ "xml": "<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'hubRouteId'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3159.4996376037598,
+ "y": 1784.9998378753662,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "4b1456a4.ed61c8"
+ ]
+ ]
+ },
+ {
+ "id": "4b1456a4.ed61c8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3322.5000228881836,
+ "y": 1784.000150680542,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "71be6aaa.93fe04"
+ ]
+ ]
+ },
+ {
+ "id": "71be6aaa.93fe04",
+ "type": "set",
+ "name": "set prop.hubRouteId",
+ "xml": "<set>\n<parameter name='prop.hubRouteId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />\n",
+ "comments": "",
+ "x": 3482.500015258789,
+ "y": 1781.6005897521973,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "f616545c.e692d8",
+ "type": "switchNode",
+ "name": "switch siteId",
+ "xml": "<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'siteId'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3141.4996185302734,
+ "y": 1749.9998207092285,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "3ef84487.f4b53c"
+ ]
+ ]
+ },
+ {
+ "id": "3ef84487.f4b53c",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3292.499988555908,
+ "y": 1749.0000038146973,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "97d8673.5139598"
+ ]
+ ]
+ },
+ {
+ "id": "97d8673.5139598",
+ "type": "set",
+ "name": "set prop.hub.siteId",
+ "xml": "<set>\n<parameter name='prop.hub.siteId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />\n",
+ "comments": "",
+ "x": 3464.4999961853027,
+ "y": 1746.6005725860596,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "927db1a6.0967b",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2619.9996948242188,
+ "y": 2002.0004615783691,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "1a118523.efe04b",
+ "3baee628.49c52a"
+ ]
+ ]
+ },
+ {
+ "id": "1a118523.efe04b",
+ "type": "outcome",
+ "name": "ActivateSDWANAttachmentInstance",
+ "xml": "<outcome value='ActivateSDWANAttachmentInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2886.0271530151367,
+ "y": 1971.0314779281616,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "78365f62.f88ae"
+ ]
+ ]
+ },
+ {
+ "id": "d881cca6.da522",
+ "type": "execute",
+ "name": "execute RestApiCallNode underlay route",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-underlay.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"underlayHubResp\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 3480.4997940063477,
+ "y": 1892.000228881836,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "e1ec68ab.cefaf8",
+ "62d40a0d.8230b4"
+ ]
+ ]
+ },
+ {
+ "id": "62d40a0d.8230b4",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3721.499927520752,
+ "y": 1879.0002145767212,
+ "z": "33eaf422.44290c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "e1ec68ab.cefaf8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3719.4996070861816,
+ "y": 1835.000205039978,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "93f8ad33.2f9f3"
+ ]
+ ]
+ },
+ {
+ "id": "93f8ad33.2f9f3",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error executing sdwan hub route underlay rest api\" />\n",
+ "comments": "",
+ "x": 3861.5002937316895,
+ "y": 1833.0002880096436,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "2cb0acf9.dc8014",
+ "type": "set",
+ "name": "Add prop.hub.route",
+ "xml": "<set>\n<parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\n<parameter name='prop.route.siteId' value='`$prop.hub.siteId`' />\n<parameter name='prop.route.deviceId' value='`$prop.hub.deviceId`' />\n<parameter name='prop.route.providerIpAddress' value='`$prop.hub.providerIpAddress`' />\n<parameter name='prop.route.wanportId' value='`$prop.spoke.wanportId`' />\n<parameter name='prop.route.ipAddress' value='`$prop.hub.ipAddress`' />\n\n\n",
+ "comments": "",
+ "x": 3411.8334980010986,
+ "y": 1855.6669273376465,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "a3cb5620.778698",
+ "type": "execute",
+ "name": "execute RestApiCallNode underlay route",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-underlay.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"underlayspokeResp\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 3486.8334980010986,
+ "y": 1997.6673924922943,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "da8f9dd5.0d7f2",
+ "54a9a5c9.a84bec"
+ ]
+ ]
+ },
+ {
+ "id": "54a9a5c9.a84bec",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3732.833745956421,
+ "y": 1991.6674008369446,
+ "z": "33eaf422.44290c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "da8f9dd5.0d7f2",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3730.8334255218506,
+ "y": 1947.6673913002014,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "405d037f.766c0c"
+ ]
+ ]
+ },
+ {
+ "id": "405d037f.766c0c",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error executing sdwan spoke route underlay rest api\" />\n",
+ "comments": "",
+ "x": 3872.8341121673584,
+ "y": 1945.667474269867,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "cf64a525.59cc78",
+ "type": "set",
+ "name": "Add prop.spoke.route",
+ "xml": "<set>\n<parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\n<parameter name='prop.route.siteId' value='`$prop.spoke.siteId`' />\n<parameter name='prop.route.deviceId' value='`$prop.spoke.deviceId`' />\n<parameter name='prop.route.providerIpAddress' value='`$prop.spoke.providerIpAddress`' />\n<parameter name='prop.route.wanportId' value='`$prop.hub.wanportId`' />\n<parameter name='prop.route.ipAddress' value='`$prop.spoke.ipAddress`' />\n\n\n",
+ "comments": "",
+ "x": 3421.6975135803223,
+ "y": 1966.364153623581,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "986185e9.8eec08",
+ "type": "set",
+ "name": "set route Id's in site parameters",
+ "xml": "<set>\n<parameter name='mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].name' value='hubRouteId' />\n<parameter name='mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].value' value='`$underlayHubResp[0].id`' />\n<parameter name='mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 1].name' value='spokeRouteId' />\n<parameter name='mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 1].value' value='`$underlayspokeResp[0].id`' />\n<parameter name='mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 2`' />\n\n\n\n\n",
+ "comments": "",
+ "x": 3446.6644744873047,
+ "y": 2054.0307354927063,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "78365f62.f88ae",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 3121.999671936035,
+ "y": 1968.4999113082886,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "2cb0acf9.dc8014",
+ "cf64a525.59cc78",
+ "986185e9.8eec08",
+ "a3cb5620.778698",
+ "d881cca6.da522"
+ ]
+ ]
+ },
+ {
+ "id": "105d9963.f193b7",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 3142.999668121338,
+ "y": 2046.5001020431519,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "f88633ef.4a895",
+ "7ec8de50.abc7a",
+ "e429ce4e.ff4d3",
+ "9c47cd10.cba71"
+ ]
+ ]
+ },
+ {
+ "id": "3baee628.49c52a",
+ "type": "outcome",
+ "name": "DeactivateSDWANAttachmentInstance",
+ "xml": "<outcome value='DeactivateSDWANAttachmentInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2891.499725341797,
+ "y": 2040.4999132156372,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "105d9963.f193b7"
+ ]
+ ]
+ },
+ {
+ "id": "9c607856.359088",
+ "type": "set",
+ "name": "Add sites to list and update length",
+ "xml": "<set>\n<parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].hubSiteName' value='`$prop.hub.siteName`' />\n<parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].hubSiteId' value='`$prop.hub.siteId`' />\n<parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].spokeSiteName' value='`$prop.spoke.siteName`' />\n<parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].spokeSiteId' value='`$prop.spoke.siteId`' />\n<parameter name='prop.provision.siteIds_length' value='`$prop.provision.siteIds_length + 1`' />\n\n\n\n\n\n\n\n\n\n\n\n\n",
+ "comments": "",
+ "x": 2636.030891418457,
+ "y": 2295.031482696533,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "5323bc16.bbf554",
+ "type": "comment",
+ "name": "save hubsiteIds and spoke siteIds for provision",
+ "info": "",
+ "comments": "",
+ "x": 2668.031265258789,
+ "y": 2251.0313568115234,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "b2aac804.e6f348",
+ "type": "switchNode",
+ "name": "switch name",
+ "xml": "<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'name'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3436.031005859375,
+ "y": 475.03125,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "2e9ab920.c2df16"
+ ]
+ ]
+ },
+ {
+ "id": "2e9ab920.c2df16",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3636.0307807922363,
+ "y": 475.0314121246338,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "3bc80b86.299434"
+ ]
+ ]
+ },
+ {
+ "id": "3bc80b86.299434",
+ "type": "set",
+ "name": "set prop.spoke.siteName",
+ "xml": "<set>\n<parameter name='prop.spoke.siteName' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />\n",
+ "comments": "",
+ "x": 3824.0315856933594,
+ "y": 473.63202571868896,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "edcfc449.815b98",
+ "type": "switchNode",
+ "name": "switch name",
+ "xml": "<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'name'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3140.031005859375,
+ "y": 1716.5311279296875,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "47785d0f.321164"
+ ]
+ ]
+ },
+ {
+ "id": "47785d0f.321164",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3291.0313758850098,
+ "y": 1715.5313110351562,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "36650635.dab3aa"
+ ]
+ ]
+ },
+ {
+ "id": "36650635.dab3aa",
+ "type": "set",
+ "name": "set prop.hub.siteName",
+ "xml": "<set>\n<parameter name='prop.hub.siteName' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />\n",
+ "comments": "",
+ "x": 3463.0313835144043,
+ "y": 1713.1318798065186,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "70ceaafc.e0d3f4",
+ "type": "set",
+ "name": "set prop.provision.siteIds_length=0",
+ "xml": "<set>\n<parameter name='prop.provision.siteIds_length' value='0' />\n\n\n\n",
+ "comments": "",
+ "x": 461.03126525878906,
+ "y": 361.0312547683716,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "2ebcd1d4.0c3f8e",
+ "type": "execute",
+ "name": "execute RestApiCallNode site provision urls",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-site-provision.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/sites/provision-urls'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"provisionUrlRsp\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 813.0312957763672,
+ "y": 793.0314712524414,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "ad0b5373.47c4b",
+ "2423f336.bee55c"
+ ]
+ ]
+ },
+ {
+ "id": "2423f336.bee55c",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1077.0315551757812,
+ "y": 815.0315160751343,
+ "z": "33eaf422.44290c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ad0b5373.47c4b",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1078.0313415527344,
+ "y": 772.0314540863037,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "21440771.f9b178"
+ ]
+ ]
+ },
+ {
+ "id": "21440771.f9b178",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error executing provision url rest api\" />\n",
+ "comments": "",
+ "x": 1257.0318984985352,
+ "y": 770.0315053462982,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "c880f4e9.6d6098",
+ "type": "for",
+ "name": "for providx..prop.provision.siteIds[]",
+ "xml": "<for index='providx' start='0' end='`$prop.provision.siteIds_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 454.0312957763672,
+ "y": 565.0312948226929,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "6ab9e97f.2340e8"
+ ]
+ ]
+ },
+ {
+ "id": "6ab9e97f.2340e8",
+ "type": "block",
+ "name": "block atmoic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 478.0313377380371,
+ "y": 775.031268119812,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "5392610f.9b85f",
+ "2ebcd1d4.0c3f8e",
+ "e83cbadb.6b3148"
+ ]
+ ]
+ },
+ {
+ "id": "5392610f.9b85f",
+ "type": "set",
+ "name": "set prop.spoke.hubSiteId, spokeSiteId",
+ "xml": "<set>\n<parameter name='prop.provision.hubSitename' value='`$prop.provision.siteIds[$providx].hubSiteName`' />\n<parameter name='prop.provision.spokeSitename' value='`$prop.provision.siteIds[$providx].spokeSiteName`' />\n<parameter name='prop.provision.hubspokesite[0]' value='`$prop.provision.siteIds[$providx].hubSiteId`' />\n<parameter name='prop.provision.hubspokesite[1]' value='`$prop.provision.siteIds[$providx].spokeSiteId`' />\n<parameter name='prop.provision.hubspokesite_length' value='2' />\n",
+ "comments": "",
+ "x": 789.0339965820312,
+ "y": 651.6329832077026,
+ "z": "33eaf422.44290c",
+ "wires": []
+ },
+ {
+ "id": "e83cbadb.6b3148",
+ "type": "record",
+ "name": "record provision url response to the file",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"`'/opt/opendaylight/current/data/log/' + 'HUB-' + $prop.provision.hubSitename + '-SPOKE-' + $prop.provision.spokeSitename + '-provisionUrl'`\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value='`$provisionUrlRsp`'/>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 785.0313720703125,
+ "y": 887.0313358306885,
+ "z": "33eaf422.44290c",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1e03ba47.0fb3f6",
+ "type": "block",
+ "name": "block atmoic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2527.031482696533,
+ "y": 1042.0313262939453,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "a525e63a.cc2b38"
+ ]
+ ]
+ },
+ {
+ "id": "84a7b7df.1615b8",
+ "type": "block",
+ "name": "block atmoic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2007.0311584472656,
+ "y": 605.0313091278076,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "c8ac708.b0a709",
+ "b9ac21ad.456c9"
+ ]
+ ]
+ },
+ {
+ "id": "8e2c0789.42db78",
+ "type": "block",
+ "name": "block atmoic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2014.0312194824219,
+ "y": 680.0311765670776,
+ "z": "33eaf422.44290c",
+ "wires": [
+ [
+ "5a69b1be.1055d",
+ "e66f705e.b1887"
+ ]
+ ]
+ }
+]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-connection-attachment-input.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-connection-attachment-input.json
index 4f6b2fd5..bd49cd7f 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-connection-attachment-input.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-connection-attachment-input.json
@@ -1,20 +1,20 @@
[
{
- "id": "d55e5da1.6e0d9",
+ "id": "42b2c3b5.1de40c",
"type": "dgstart",
"name": "DGSTART",
"outputs": 1,
- "x": 120.00390625,
- "y": 81.00390625,
- "z": "2bd9a7ae.9f12a8",
+ "x": 164,
+ "y": 153.7469038963318,
+ "z": "d21b8423.410b48",
"wires": [
[
- "30ea7403.a4dabc"
+ "26ae5f8e.852bd"
]
]
},
{
- "id": "30ea7403.a4dabc",
+ "id": "26ae5f8e.852bd",
"type": "service-logic",
"name": "GENERIC-RESOURCE-API ${project.version}",
"module": "GENERIC-RESOURCE-API",
@@ -22,942 +22,1203 @@
"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": 249.2896270751953,
- "y": 176.24197959899902,
- "z": "2bd9a7ae.9f12a8",
+ "x": 293.2857208251953,
+ "y": 248.9849772453308,
+ "z": "d21b8423.410b48",
"wires": [
[
- "8e089853.9ab118"
+ "9c9331e1.ef348"
]
]
},
{
- "id": "8e089853.9ab118",
+ "id": "9c9331e1.ef348",
"type": "method",
"name": "method validate-connection-attachment-input",
"xml": "<method rpc='validate-connection-attachment-input' mode='sync'>\n",
"comments": "",
"outputs": 1,
- "x": 245.92059326171875,
- "y": 272.25693464279175,
- "z": "2bd9a7ae.9f12a8",
+ "x": 289.91668701171875,
+ "y": 344.99993228912354,
+ "z": "d21b8423.410b48",
"wires": [
[
- "592d05ce.3188dc"
+ "e30434d.72586c8"
]
]
},
{
- "id": "592d05ce.3188dc",
+ "id": "e30434d.72586c8",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 252.92064666748047,
- "y": 390.25694274902344,
- "z": "2bd9a7ae.9f12a8",
+ "x": 637.9167785644531,
+ "y": 344,
+ "z": "d21b8423.410b48",
"wires": [
[
- "53e1d116.7a486",
- "e5f15950.d2b488",
- "f3bdd2ba.fa4b4",
- "19ed1ade.774285"
+ "a24e3968.f0f898",
+ "213180a5.dcdf2",
+ "6da46309.e8b25c",
+ "97be0dfc.a49b"
]
]
},
{
- "id": "53e1d116.7a486",
+ "id": "a24e3968.f0f898",
"type": "switchNode",
"name": "switch svc-action",
"xml": "<switch test='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 680.9205856323242,
- "y": 138.25693607330322,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1011.9167556762695,
+ "y": 93.99999618530273,
+ "z": "d21b8423.410b48",
"wires": [
[
- "e201ddb1.b905"
+ "1a960cf7.459883"
]
]
},
{
- "id": "e201ddb1.b905",
+ "id": "1a960cf7.459883",
"type": "outcome",
"name": "NULL",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 890.6349487304688,
- "y": 137.25694751739502,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1221.631118774414,
+ "y": 93.00000762939453,
+ "z": "d21b8423.410b48",
"wires": [
[
- "2d1ab943.03f3d6"
+ "87e1fc25.19dd7"
]
]
},
{
- "id": "2d1ab943.03f3d6",
+ "id": "87e1fc25.19dd7",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-request-id is a required input\" />\n",
"comments": "",
- "x": 1065.0634994506836,
- "y": 136.2569398880005,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1396.059669494629,
+ "y": 92,
+ "z": "d21b8423.410b48",
"wires": []
},
{
- "id": "e5f15950.d2b488",
+ "id": "213180a5.dcdf2",
"type": "switchNode",
"name": "switch svc-action",
"xml": "<switch test='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 464.92047119140625,
- "y": 389.2569742202759,
- "z": "2bd9a7ae.9f12a8",
+ "x": 816.9165649414062,
+ "y": 625.9999570846558,
+ "z": "d21b8423.410b48",
"wires": [
[
- "4fc16b2d.fa1904",
- "2374157d.59a87a",
- "1cb25e54.ccc152",
- "8cd348c0.4aba88",
- "7e69dc53.dacb04"
+ "2a3d4b0.69b81b6",
+ "38a5e948.46f696",
+ "249ed1d3.9ca2fe",
+ "7a022b30.b2a354",
+ "675a28ba.66ea98"
]
]
},
{
- "id": "4fc16b2d.fa1904",
+ "id": "2a3d4b0.69b81b6",
"type": "outcome",
"name": "create",
"xml": "<outcome value='create'>\n",
"comments": "",
"outputs": 1,
- "x": 646.4206275939941,
- "y": 300.25702476501465,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1054.416690826416,
+ "y": 374.99999380111694,
+ "z": "d21b8423.410b48",
"wires": [
[
- "62f2f74b.222b28"
+ "eb01319b.f11ab"
]
]
},
{
- "id": "2374157d.59a87a",
+ "id": "38a5e948.46f696",
"type": "outcome",
"name": "delete",
"xml": "<outcome value='delete'>\n",
"comments": "",
"outputs": 1,
- "x": 651.4328269958496,
- "y": 582.1471920013428,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1059.428897857666,
+ "y": 923.890193939209,
+ "z": "d21b8423.410b48",
"wires": [
[
- "bf7c4189.d4114"
+ "ae84fe26.14305"
]
]
},
{
- "id": "1cb25e54.ccc152",
+ "id": "249ed1d3.9ca2fe",
"type": "other",
"name": "other",
"xml": "<outcome value='Other'>\n",
"comments": "",
"outputs": 1,
- "x": 648.1945915222168,
- "y": 654.5756464004517,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1056.1906623840332,
+ "y": 996.3186483383179,
+ "z": "d21b8423.410b48",
"wires": [
[
- "14bee845.382418"
+ "a59dcb2c.5f74a8"
]
]
},
{
- "id": "14bee845.382418",
+ "id": "a59dcb2c.5f74a8",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`$network-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`\" />\n",
"comments": "",
- "x": 831.7661247253418,
- "y": 655.1947870254517,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1239.7621955871582,
+ "y": 996.9377889633179,
+ "z": "d21b8423.410b48",
"wires": []
},
{
- "id": "bf7c4189.d4114",
+ "id": "ae84fe26.14305",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 833.5756530761719,
- "y": 582.813642501831,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1241.5717239379883,
+ "y": 924.5566444396973,
+ "z": "d21b8423.410b48",
"wires": [
[
- "93839262.d70fa"
+ "c8402cf9.c3498"
]
]
},
{
- "id": "11d0fd2e.8d1473",
+ "id": "e9d0bfa.0872f4",
"type": "other",
"name": "DeleteSOTNAttachmentInstance",
"xml": "<outcome value='DeleteSOTNAttachmentInstance'>",
"comments": "",
"outputs": 1,
- "x": 1298.2901344299316,
- "y": 551.8136596679688,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1706.286205291748,
+ "y": 893.556661605835,
+ "z": "d21b8423.410b48",
"wires": [
[
- "bede7ad6.c52858"
+ "c007bb78.bad198"
]
]
},
{
- "id": "25e7d254.79a53e",
+ "id": "a0c47385.decaa",
"type": "other",
"name": "Other",
"xml": "<outcome value='Other'>",
"comments": "",
"outputs": 1,
- "x": 1220.2902450561523,
- "y": 601.8138084411621,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1629.2864608764648,
+ "y": 974.5568246841431,
+ "z": "d21b8423.410b48",
"wires": [
[
- "58f1ca81.4b3774"
+ "e6af92d5.15652"
]
]
},
{
- "id": "58f1ca81.4b3774",
+ "id": "e6af92d5.15652",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"request-information.request-action is required to be DeleteNetworkInstance for svc-action=delete\" />\n",
"comments": "",
- "x": 1407.2902450561523,
- "y": 602.8138084411621,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1816.2864608764648,
+ "y": 975.5568246841431,
+ "z": "d21b8423.410b48",
"wires": []
},
{
- "id": "bede7ad6.c52858",
+ "id": "c007bb78.bad198",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 1561.2900390625,
- "y": 440.8136692047119,
- "z": "2bd9a7ae.9f12a8",
+ "x": 2097.2862243652344,
+ "y": 716.5566501617432,
+ "z": "d21b8423.410b48",
"wires": [
[
- "9003dc0.c133528",
- "eba16a4b.e63458"
+ "52c40ba.0b16af4",
+ "eaa23038.207b"
]
]
},
{
- "id": "9003dc0.c133528",
+ "id": "52c40ba.0b16af4",
"type": "switchNode",
"name": "switch allotted-resource-id",
"xml": "<switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>\n",
"comments": "",
"outputs": 1,
- "x": 1784.2896137237549,
- "y": 439.8135929107666,
- "z": "2bd9a7ae.9f12a8",
+ "x": 2320.2857990264893,
+ "y": 715.5565738677979,
+ "z": "d21b8423.410b48",
"wires": [
[
- "ce15a307.ea6db"
+ "5a95e1d3.c70c9"
]
]
},
{
- "id": "ce15a307.ea6db",
+ "id": "5a95e1d3.c70c9",
"type": "outcome",
"name": "NULL",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 1964.2896766662598,
- "y": 438.81360816955566,
- "z": "2bd9a7ae.9f12a8",
+ "x": 2500.285861968994,
+ "y": 714.5565891265869,
+ "z": "d21b8423.410b48",
"wires": [
[
- "d45df1e5.8c102"
+ "21b4438a.8ae7ac"
]
]
},
{
- "id": "d45df1e5.8c102",
+ "id": "21b4438a.8ae7ac",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"network-request-input.network-input-parameters.name is a required input\" />\n",
"comments": "",
- "x": 1996.7183303833008,
- "y": 494.81362438201904,
- "z": "2bd9a7ae.9f12a8",
+ "x": 2532.714515686035,
+ "y": 770.5566053390503,
+ "z": "d21b8423.410b48",
"wires": []
},
{
- "id": "eba16a4b.e63458",
+ "id": "eaa23038.207b",
"type": "execute",
"name": "execute requiredParameter",
"xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >\n<parameter name=\"connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id\" value=\"$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id\"/>\n\n",
"comments": "",
"outputs": 1,
- "x": 1788.004093170166,
- "y": 401.9564437866211,
- "z": "2bd9a7ae.9f12a8",
+ "x": 2324.0002784729004,
+ "y": 677.6994247436523,
+ "z": "d21b8423.410b48",
"wires": [
[]
]
},
{
- "id": "f3bdd2ba.fa4b4",
+ "id": "6da46309.e8b25c",
"type": "switchNode",
"name": "switch service-instance-id",
"xml": "<switch test='`$connection-attachment-topology-operation-input.service-information.service-instance-id`'>\n",
"comments": "",
"outputs": 1,
- "x": 704.0039215087891,
- "y": 180.96665382385254,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1035.0000915527344,
+ "y": 136.70971393585205,
+ "z": "d21b8423.410b48",
"wires": [
[
- "840d370d.dae7a8"
+ "9eae7e15.c32b3"
]
]
},
{
- "id": "840d370d.dae7a8",
+ "id": "9eae7e15.c32b3",
"type": "other",
"name": "NULL",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 920.4325103759766,
- "y": 181.96665382385254,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1251.4286804199219,
+ "y": 137.70971393585205,
+ "z": "d21b8423.410b48",
"wires": [
[
- "78d3f021.91704"
+ "1cff38a0.3251b7"
]
]
},
{
- "id": "78d3f021.91704",
+ "id": "1cff38a0.3251b7",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"service-information.service-instance-id is a required input\" />\n",
"comments": "",
- "x": 1078.8610382080078,
- "y": 180.96665382385254,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1409.8572082519531,
+ "y": 136.70971393585205,
+ "z": "d21b8423.410b48",
"wires": []
},
{
- "id": "62f2f74b.222b28",
+ "id": "eb01319b.f11ab",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 811.2262687683105,
- "y": 297.966703414917,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1219.2223320007324,
+ "y": 372.7096724510193,
+ "z": "d21b8423.410b48",
"wires": [
[
- "b9263adf.a79a98"
+ "2a814298.4379ee"
]
]
},
{
- "id": "b9263adf.a79a98",
+ "id": "2a814298.4379ee",
"type": "switchNode",
"name": "switch request-action",
"xml": "<switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 1001.4617919921875,
- "y": 299.4719018936157,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1409.4578552246094,
+ "y": 374.214870929718,
+ "z": "d21b8423.410b48",
"wires": [
[
- "daaeed0a.68f55",
- "32fc1c5a.a1c7a4"
+ "9a24d7c1.7f41b8",
+ "31edce78.f55fe2",
+ "76132be7.8874c4"
]
]
},
{
- "id": "daaeed0a.68f55",
+ "id": "9a24d7c1.7f41b8",
"type": "outcome",
"name": "CreateSOTNAttachmentInstance",
"xml": "<outcome value='CreateSOTNAttachmentInstance'>",
"comments": "",
"outputs": 1,
- "x": 1282.7950744628906,
- "y": 278.47163105010986,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1690.7911376953125,
+ "y": 353.21460008621216,
+ "z": "d21b8423.410b48",
"wires": [
[
- "1d50a6f4.652229"
+ "ddc52a14.b68028"
]
]
},
{
- "id": "32fc1c5a.a1c7a4",
+ "id": "31edce78.f55fe2",
"type": "outcome",
"name": "other",
"xml": "<outcome value='other'>",
"comments": "",
"outputs": 1,
- "x": 1201.7950973510742,
- "y": 326.1383662223816,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1609.7912330627441,
+ "y": 442.88133573532104,
+ "z": "d21b8423.410b48",
"wires": [
[
- "ab38e26c.3455"
+ "a1422df.b222fd"
]
]
},
{
- "id": "ab38e26c.3455",
+ "id": "a1422df.b222fd",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.request-action is invalid\" />\n",
"comments": "",
- "x": 1400.3509330749512,
- "y": 325.58302307128906,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1808.347068786621,
+ "y": 442.3259925842285,
+ "z": "d21b8423.410b48",
"wires": []
},
{
- "id": "1d50a6f4.652229",
+ "id": "ddc52a14.b68028",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 1514.6704368591309,
- "y": 280.85553073883057,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1922.6665000915527,
+ "y": 355.59849977493286,
+ "z": "d21b8423.410b48",
"wires": [
[
- "15baa2b8.a5423d"
+ "4d02f123.5c1cd"
]
]
},
{
- "id": "15baa2b8.a5423d",
+ "id": "4d02f123.5c1cd",
"type": "for",
"name": "for loop i - Sotn input param",
"xml": "<for index=\"i\" start=\"0\" end=\"`$connection-attachment-topology-operation-input.connection-attachment-request-input.param_length`\">\n",
"comments": "",
"outputs": 1,
- "x": 1720.3014526367188,
- "y": 276.15617847442627,
- "z": "2bd9a7ae.9f12a8",
+ "x": 2145.297737121582,
+ "y": 259.89916610717773,
+ "z": "d21b8423.410b48",
"wires": [
[
- "1411c83d.30f948"
+ "3c0f8442.38d8dc"
]
]
},
{
- "id": "1411c83d.30f948",
+ "id": "3c0f8442.38d8dc",
"type": "block",
"name": "block",
"xml": "<block>\n",
"atomic": "false",
"comments": "",
"outputs": 1,
- "x": 1882.384853363037,
- "y": 233.90312957763672,
- "z": "2bd9a7ae.9f12a8",
+ "x": 2336.3809661865234,
+ "y": 258.6460943222046,
+ "z": "d21b8423.410b48",
"wires": [
[
- "8cd60ce0.f328b",
- "7c6899b1.f878f8",
- "a0ef1495.11fa68"
+ "d39cca26.839578",
+ "16b1f4f7.435bcb",
+ "1d34c439.601edc"
]
]
},
{
- "id": "8cd60ce0.f328b",
+ "id": "d39cca26.839578",
"type": "set",
"name": "clear tmp-data",
"xml": "<set>\n<parameter name='tmp.name' value='' />\n<parameter name='tmp.value' value='' />\n",
"comments": "",
- "x": 2041.3849601745605,
- "y": 188.14123916625977,
- "z": "2bd9a7ae.9f12a8",
+ "x": 2495.381072998047,
+ "y": 212.88420391082764,
+ "z": "d21b8423.410b48",
"wires": []
},
{
- "id": "7c6899b1.f878f8",
+ "id": "16b1f4f7.435bcb",
"type": "set",
"name": "set tmp-data",
"xml": "<set>\n<parameter name='tmp.name' value=\"`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].name`\"/>\n<parameter name='tmp.value' value=\"`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].value`\"/>\n",
"comments": "",
- "x": 2039.3848342895508,
- "y": 220.14124202728271,
- "z": "2bd9a7ae.9f12a8",
+ "x": 2493.380947113037,
+ "y": 244.8842067718506,
+ "z": "d21b8423.410b48",
"wires": []
},
{
- "id": "a0ef1495.11fa68",
+ "id": "1d34c439.601edc",
"type": "switchNode",
"name": "switch name",
"xml": "<switch test=\"`$tmp.name`\">\n",
"comments": "",
"outputs": 1,
- "x": 2036.3849563598633,
- "y": 260.1412477493286,
- "z": "2bd9a7ae.9f12a8",
+ "x": 2490.3810691833496,
+ "y": 284.8842124938965,
+ "z": "d21b8423.410b48",
"wires": [
[
- "58732708.c19e68",
- "2b1a4a1c.736d86",
- "ac680bd3.a5c298",
- "38c84211.606bbe",
- "668e89b6.3edf98",
- "eee3ac82.081b3",
- "232cba3c.20f5a6",
- "553b7c39.9758e4"
+ "a88c8435.38b638",
+ "3bbf5338.a951ec",
+ "1635afc2.b6de7",
+ "cff6db4f.b87538",
+ "9335d38b.7ca52",
+ "f2781f65.360cc",
+ "6bb67fb6.e8d0c",
+ "497eac21.19f344"
]
]
},
{
- "id": "58732708.c19e68",
+ "id": "a88c8435.38b638",
"type": "outcome",
"name": "NULL",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 2243.449363708496,
- "y": 397.96692180633545,
- "z": "2bd9a7ae.9f12a8",
+ "x": 2697.4454765319824,
+ "y": 422.7098865509033,
+ "z": "d21b8423.410b48",
"wires": [
[
- "9929f9d1.8bdb78"
+ "f001e245.7813a"
]
]
},
{
- "id": "9929f9d1.8bdb78",
+ "id": "f001e245.7813a",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'network-topology-operation-input.network-request-input.network-input-parameters.param[' + $i + ']' + '.name is a required input'`\" />\n",
"comments": "",
- "x": 2395.4495735168457,
- "y": 392.9669542312622,
- "z": "2bd9a7ae.9f12a8",
+ "x": 2849.445686340332,
+ "y": 417.7099189758301,
+ "z": "d21b8423.410b48",
"wires": []
},
{
- "id": "93839262.d70fa",
+ "id": "c8402cf9.c3498",
"type": "switchNode",
"name": "switch request-action",
"xml": "<switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 1031.6709442138672,
- "y": 584.966794013977,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1439.6670150756836,
+ "y": 926.7097959518433,
+ "z": "d21b8423.410b48",
"wires": [
[
- "11d0fd2e.8d1473",
- "25e7d254.79a53e"
+ "e9d0bfa.0872f4",
+ "a0c47385.decaa",
+ "9e1c0985.ac54a8"
]
]
},
{
- "id": "2b1a4a1c.736d86",
+ "id": "3bbf5338.a951ec",
"type": "other",
"name": "sotnVpnName",
"xml": "<outcome value='sotnVpnName'>",
"comments": "",
"outputs": 1,
- "x": 2263.44863986969,
- "y": 142.1666374206543,
- "z": "2bd9a7ae.9f12a8",
+ "x": 2717.4447526931763,
+ "y": 166.90960216522217,
+ "z": "d21b8423.410b48",
"wires": [
[
- "938831fe.ccb6b"
+ "524ca1b7.a929c"
]
]
},
{
- "id": "938831fe.ccb6b",
+ "id": "524ca1b7.a929c",
"type": "switchNode",
"name": "switch value",
"xml": "<switch test=\"`$tmp.value`\">\n",
"comments": "",
"outputs": 1,
- "x": 2526.3655128479004,
- "y": 257.18157863616943,
- "z": "2bd9a7ae.9f12a8",
+ "x": 2980.3616256713867,
+ "y": 281.9245433807373,
+ "z": "d21b8423.410b48",
"wires": [
[
- "bbabb9a8.e7fa88"
+ "76a5bf3b.12c31"
]
]
},
{
- "id": "bbabb9a8.e7fa88",
+ "id": "76a5bf3b.12c31",
"type": "outcome",
"name": "NULL",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 2664.3654823303223,
- "y": 252.18159866333008,
- "z": "2bd9a7ae.9f12a8",
+ "x": 3118.3615951538086,
+ "y": 276.92456340789795,
+ "z": "d21b8423.410b48",
"wires": [
[
- "7d365ba9.43c364"
+ "6d73498b.516f18"
]
]
},
{
- "id": "7d365ba9.43c364",
+ "id": "6d73498b.516f18",
"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=\"`'$tmp.name +' is a required input'`\" />\n",
"comments": "",
- "x": 2786.7941932678223,
- "y": 289.1815767288208,
- "z": "2bd9a7ae.9f12a8",
+ "x": 3240.7903060913086,
+ "y": 313.9245414733887,
+ "z": "d21b8423.410b48",
"wires": []
},
{
- "id": "ac680bd3.a5c298",
+ "id": "1635afc2.b6de7",
"type": "other",
"name": "clientSignal",
"xml": "<outcome value='clientSignal'>",
"comments": "",
"outputs": 1,
- "x": 2256.4488105773926,
- "y": 179.16665935516357,
- "z": "2bd9a7ae.9f12a8",
+ "x": 2710.444923400879,
+ "y": 203.90962409973145,
+ "z": "d21b8423.410b48",
"wires": [
[
- "938831fe.ccb6b"
+ "524ca1b7.a929c"
]
]
},
{
- "id": "38c84211.606bbe",
+ "id": "cff6db4f.b87538",
"type": "other",
"name": "access-provider-id",
"xml": "<outcome value='access-provider-id'>",
"comments": "",
"outputs": 1,
- "x": 2276.3377571105957,
- "y": 215.16660690307617,
- "z": "2bd9a7ae.9f12a8",
+ "x": 2730.333869934082,
+ "y": 239.90957164764404,
+ "z": "d21b8423.410b48",
"wires": [
[
- "938831fe.ccb6b"
+ "524ca1b7.a929c"
]
]
},
{
- "id": "668e89b6.3edf98",
+ "id": "9335d38b.7ca52",
"type": "other",
"name": "access-client-id",
"xml": "<outcome value='access-client-id'>",
"comments": "",
"outputs": 1,
- "x": 2265.337661743164,
- "y": 254.16663455963135,
- "z": "2bd9a7ae.9f12a8",
+ "x": 2719.3337745666504,
+ "y": 278.9095993041992,
+ "z": "d21b8423.410b48",
"wires": [
[
- "938831fe.ccb6b"
+ "524ca1b7.a929c"
]
]
},
{
- "id": "eee3ac82.081b3",
+ "id": "f2781f65.360cc",
"type": "other",
"name": "access-topology-id",
"xml": "<outcome value='access-topology-id'>",
"comments": "",
"outputs": 1,
- "x": 2274.3377532958984,
- "y": 289.16660594940186,
- "z": "2bd9a7ae.9f12a8",
+ "x": 2728.3338661193848,
+ "y": 313.9095706939697,
+ "z": "d21b8423.410b48",
"wires": [
[]
]
},
{
- "id": "232cba3c.20f5a6",
+ "id": "6bb67fb6.e8d0c",
"type": "other",
"name": "access-node-id",
"xml": "<outcome value='access-node-id'>",
"comments": "",
"outputs": 1,
- "x": 2265.3377571105957,
- "y": 325.1666440963745,
- "z": "2bd9a7ae.9f12a8",
+ "x": 2719.333869934082,
+ "y": 349.9096088409424,
+ "z": "d21b8423.410b48",
"wires": [
[
- "938831fe.ccb6b"
+ "524ca1b7.a929c"
]
]
},
{
- "id": "553b7c39.9758e4",
+ "id": "497eac21.19f344",
"type": "other",
"name": "cVLAN",
"xml": "<outcome value='cVLAN'>",
"comments": "",
"outputs": 1,
- "x": 2240.338275909424,
- "y": 360.72238540649414,
- "z": "2bd9a7ae.9f12a8",
+ "x": 2694.33438873291,
+ "y": 385.465350151062,
+ "z": "d21b8423.410b48",
"wires": [
[
- "938831fe.ccb6b"
+ "524ca1b7.a929c"
]
]
},
{
- "id": "8cd348c0.4aba88",
+ "id": "7a022b30.b2a354",
"type": "outcome",
"name": "activate",
"xml": "<outcome value='activate'>\n",
"comments": "",
"outputs": 1,
- "x": 646.5038909912109,
- "y": 387.5039529800415,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1058.4999771118164,
+ "y": 563.2469110488892,
+ "z": "d21b8423.410b48",
"wires": [
[
- "55079242.de61dc"
+ "69f0bb77.157344"
]
]
},
{
- "id": "55079242.de61dc",
+ "id": "69f0bb77.157344",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 827.3095626831055,
- "y": 388.2136697769165,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1239.305648803711,
+ "y": 563.9566278457642,
+ "z": "d21b8423.410b48",
"wires": [
[
- "4e961c0d.873094"
+ "18ee795e.66d7e7"
]
]
},
{
- "id": "4e961c0d.873094",
+ "id": "18ee795e.66d7e7",
"type": "switchNode",
"name": "switch request-action",
"xml": "<switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 1015.5450439453125,
- "y": 389.7188367843628,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1427.541130065918,
+ "y": 565.4617948532104,
+ "z": "d21b8423.410b48",
"wires": [
[
- "5f2b72b3.993c4c",
- "80608f20.06ea9"
+ "e08a9821.e97b18",
+ "ee585f2d.5f4db",
+ "e7496e1a.f100e"
]
]
},
{
- "id": "5f2b72b3.993c4c",
+ "id": "e08a9821.e97b18",
"type": "outcome",
"name": "ActivateSOTNAttachmentInstance",
"xml": "<outcome value='ActivateSOTNAttachmentInstance'>",
"comments": "",
"outputs": 1,
- "x": 1284.8783226013184,
- "y": 363.71854877471924,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1696.8744087219238,
+ "y": 539.4615068435669,
+ "z": "d21b8423.410b48",
"wires": [
[
- "bede7ad6.c52858"
+ "c007bb78.bad198"
]
]
},
{
- "id": "80608f20.06ea9",
+ "id": "ee585f2d.5f4db",
"type": "outcome",
"name": "other",
"xml": "<outcome value='other'>",
"comments": "",
"outputs": 1,
- "x": 1200.8781394958496,
- "y": 413.3853511810303,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1612.874210357666,
+ "y": 620.1283292770386,
+ "z": "d21b8423.410b48",
"wires": [
[
- "cc018098.4c869"
+ "f1ebc9ca.bda2a8"
]
]
},
{
- "id": "cc018098.4c869",
+ "id": "f1ebc9ca.bda2a8",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.request-action is invalid\" />\n",
"comments": "",
- "x": 1340.434097290039,
- "y": 416.8300075531006,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1752.4301681518555,
+ "y": 623.5729856491089,
+ "z": "d21b8423.410b48",
"wires": []
},
{
- "id": "7e69dc53.dacb04",
+ "id": "675a28ba.66ea98",
"type": "outcome",
"name": "deactivate",
"xml": "<outcome value='deactivate'>\n",
"comments": "",
"outputs": 1,
- "x": 659.5039253234863,
- "y": 487.5039005279541,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1074.5,
+ "y": 734.2469053268433,
+ "z": "d21b8423.410b48",
"wires": [
[
- "5e98d5e.da18e2c"
+ "fd017ad9.8950a8"
]
]
},
{
- "id": "5e98d5e.da18e2c",
+ "id": "fd017ad9.8950a8",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 841.6467514038086,
- "y": 488.1703510284424,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1256.6428260803223,
+ "y": 734.9133558273315,
+ "z": "d21b8423.410b48",
"wires": [
[
- "e876eace.fbc408"
+ "6e494400.e2627c"
]
]
},
{
- "id": "674c6e42.5758f",
+ "id": "4445cab3.35a8c4",
"type": "other",
- "name": "DeactivateSOTNAttachmentInstance",
- "xml": "<outcome value='DeactivateSOTNAttachmentInstance'>",
+ "name": "DeactivateSDWANAttachmentInstance",
+ "xml": "<outcome value='DeactivateSDWANAttachmentInstance'>",
"comments": "",
"outputs": 1,
- "x": 1303.3611869812012,
- "y": 459.1703567504883,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1718.3572616577148,
+ "y": 705.9133615493774,
+ "z": "d21b8423.410b48",
"wires": [
[
- "bede7ad6.c52858"
+ "c007bb78.bad198"
]
]
},
{
- "id": "3d6789d5.968686",
+ "id": "6c144aae.b65964",
"type": "other",
"name": "Other",
"xml": "<outcome value='Other'>",
"comments": "",
"outputs": 1,
- "x": 1207.3614921569824,
- "y": 508.17051124572754,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1621.357566833496,
+ "y": 781.9135341644287,
+ "z": "d21b8423.410b48",
"wires": [
[
- "7dd7d50b.2e0d4c"
+ "d4bf5522.da0cd8"
]
]
},
{
- "id": "7dd7d50b.2e0d4c",
+ "id": "d4bf5522.da0cd8",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"request-information.request-action is required to be DeleteNetworkInstance for svc-action=delete\" />\n",
"comments": "",
- "x": 1394.3614921569824,
- "y": 509.17051124572754,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1779.3575057983398,
+ "y": 784.9135570526123,
+ "z": "d21b8423.410b48",
"wires": []
},
{
- "id": "e876eace.fbc408",
+ "id": "6e494400.e2627c",
"type": "switchNode",
"name": "switch request-action",
"xml": "<switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 1028.7420654296875,
- "y": 487.3234739303589,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1443.7381401062012,
+ "y": 734.066478729248,
+ "z": "d21b8423.410b48",
"wires": [
[
- "674c6e42.5758f",
- "3d6789d5.968686"
+ "4445cab3.35a8c4",
+ "6c144aae.b65964",
+ "adb5b0a4.b36d9"
]
]
},
{
- "id": "19ed1ade.774285",
+ "id": "97be0dfc.a49b",
"type": "switchNode",
"name": "switch parent-service-instance-id",
"xml": "<switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id`'>\n",
"comments": "",
"outputs": 1,
- "x": 719.9830474853516,
- "y": 226.9830780029297,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1050.9792175292969,
+ "y": 182.7261381149292,
+ "z": "d21b8423.410b48",
"wires": [
[
- "6bc4dd76.e36a44"
+ "97c55ba1.1ffe98"
]
]
},
{
- "id": "6bc4dd76.e36a44",
+ "id": "97c55ba1.1ffe98",
"type": "other",
"name": "NULL",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 926.4116134643555,
- "y": 230.98307037353516,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1257.4077835083008,
+ "y": 186.72613048553467,
+ "z": "d21b8423.410b48",
"wires": [
[
- "a93ef8b3.222ac8"
+ "18a36e30.d0c222"
]
]
},
{
- "id": "a93ef8b3.222ac8",
+ "id": "18a36e30.d0c222",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"service-information.parent-service-instance-id is a required input\" />\n",
"comments": "",
- "x": 1084.8401412963867,
- "y": 229.98307037353516,
- "z": "2bd9a7ae.9f12a8",
+ "x": 1415.836311340332,
+ "y": 185.72613048553467,
+ "z": "d21b8423.410b48",
+ "wires": []
+ },
+ {
+ "id": "76132be7.8874c4",
+ "type": "outcome",
+ "name": "CreateSDWANAttachmentInstance",
+ "xml": "<outcome value='CreateSDWANAttachmentInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1700.4999694824219,
+ "y": 400.75078296661377,
+ "z": "d21b8423.410b48",
+ "wires": [
+ [
+ "9256a59d.20fae8"
+ ]
+ ]
+ },
+ {
+ "id": "9256a59d.20fae8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1932.375331878662,
+ "y": 403.1346826553345,
+ "z": "d21b8423.410b48",
+ "wires": [
+ [
+ "6c1d4efc.ef28b"
+ ]
+ ]
+ },
+ {
+ "id": "e7496e1a.f100e",
+ "type": "outcome",
+ "name": "ActivateSDWANAttachmentInstance",
+ "xml": "<outcome value='ActivateSDWANAttachmentInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1696.4999694824219,
+ "y": 579.7507829666138,
+ "z": "d21b8423.410b48",
+ "wires": [
+ [
+ "c007bb78.bad198"
+ ]
+ ]
+ },
+ {
+ "id": "adb5b0a4.b36d9",
+ "type": "other",
+ "name": "DeactivateSOTNAttachmentInstance",
+ "xml": "<outcome value='DeactivateSOTNAttachmentInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1719.4999694824219,
+ "y": 743.7507829666138,
+ "z": "d21b8423.410b48",
+ "wires": [
+ [
+ "c007bb78.bad198"
+ ]
+ ]
+ },
+ {
+ "id": "9e1c0985.ac54a8",
+ "type": "other",
+ "name": "DeleteSDWANAttachmentInstance",
+ "xml": "<outcome value='DeleteSDWANAttachmentInstance'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1714.4999694824219,
+ "y": 937.7507829666138,
+ "z": "d21b8423.410b48",
+ "wires": [
+ [
+ "c007bb78.bad198"
+ ]
+ ]
+ },
+ {
+ "id": "6c1d4efc.ef28b",
+ "type": "for",
+ "name": "for loop i - sdwan input param",
+ "xml": "<for index=\"i\" start=\"0\" end=\"`$connection-attachment-topology-operation-input.connection-attachment-request-input.param_length`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2126.250068664551,
+ "y": 496.75078296661377,
+ "z": "d21b8423.410b48",
+ "wires": [
+ [
+ "71678c48.443894"
+ ]
+ ]
+ },
+ {
+ "id": "71678c48.443894",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2324.333263397217,
+ "y": 496.497745513916,
+ "z": "d21b8423.410b48",
+ "wires": [
+ [
+ "e79077b3.099788",
+ "a4baf31b.1b5de",
+ "210d76b8.7beafa"
+ ]
+ ]
+ },
+ {
+ "id": "e79077b3.099788",
+ "type": "set",
+ "name": "clear tmp-data",
+ "xml": "<set>\n<parameter name='tmp.name' value='' />\n<parameter name='tmp.value' value='' />\n",
+ "comments": "",
+ "x": 2493.333393096924,
+ "y": 473.7358207702637,
+ "z": "d21b8423.410b48",
"wires": []
+ },
+ {
+ "id": "a4baf31b.1b5de",
+ "type": "set",
+ "name": "set tmp-data",
+ "xml": "<set>\n<parameter name='tmp.name' value=\"`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].name`\"/>\n<parameter name='tmp.value' value=\"`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].value`\"/>\n",
+ "comments": "",
+ "x": 2491.333267211914,
+ "y": 505.7358236312866,
+ "z": "d21b8423.410b48",
+ "wires": []
+ },
+ {
+ "id": "210d76b8.7beafa",
+ "type": "switchNode",
+ "name": "switch name",
+ "xml": "<switch test=\"`$tmp.name`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2488.3333892822266,
+ "y": 545.7358293533325,
+ "z": "d21b8423.410b48",
+ "wires": [
+ [
+ "abd03293.cd18",
+ "7be5406a.1ccb4",
+ "47286f93.87dbf"
+ ]
+ ]
+ },
+ {
+ "id": "abd03293.cd18",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2722.3977546691895,
+ "y": 559.5615439414978,
+ "z": "d21b8423.410b48",
+ "wires": [
+ [
+ "968ac01f.99f6c"
+ ]
+ ]
+ },
+ {
+ "id": "968ac01f.99f6c",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'network-topology-operation-input.network-request-input.network-input-parameters.param[' + $i + ']' + '.name is a required input'`\" />\n",
+ "comments": "",
+ "x": 2887.3979988098145,
+ "y": 722.5615291595459,
+ "z": "d21b8423.410b48",
+ "wires": []
+ },
+ {
+ "id": "7be5406a.1ccb4",
+ "type": "other",
+ "name": "sdwanVpnName",
+ "xml": "<outcome value='sdwanVpnName'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2755.3970651626587,
+ "y": 471.761212348938,
+ "z": "d21b8423.410b48",
+ "wires": [
+ [
+ "a3e64284.5a573"
+ ]
+ ]
+ },
+ {
+ "id": "a3e64284.5a573",
+ "type": "switchNode",
+ "name": "switch value",
+ "xml": "<switch test=\"`$tmp.value`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2933.3140869140625,
+ "y": 502.77617168426514,
+ "z": "d21b8423.410b48",
+ "wires": [
+ [
+ "fe0135a8.011198"
+ ]
+ ]
+ },
+ {
+ "id": "fe0135a8.011198",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 3085.3139991760254,
+ "y": 502.77619457244873,
+ "z": "d21b8423.410b48",
+ "wires": [
+ [
+ "f390d6c6.2ff848"
+ ]
+ ]
+ },
+ {
+ "id": "f390d6c6.2ff848",
+ "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=\"`'$tmp.name +' is a required input'`\" />\n",
+ "comments": "",
+ "x": 3229.7427139282227,
+ "y": 501.7762041091919,
+ "z": "d21b8423.410b48",
+ "wires": []
+ },
+ {
+ "id": "47286f93.87dbf",
+ "type": "other",
+ "name": "role",
+ "xml": "<outcome value='role'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2725.397331237793,
+ "y": 511.7612247467041,
+ "z": "d21b8423.410b48",
+ "wires": [
+ [
+ "a3e64284.5a573"
+ ]
+ ]
}
-] \ No newline at end of file
+]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation.json
index d0ccec91..1502a4db 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation.json
@@ -1,20 +1,20 @@
[
{
- "id": "41d1eb7e.d42df4",
+ "id": "7bde6af5.3548a4",
"type": "dgstart",
"name": "DGSTART",
"outputs": 1,
- "x": 132,
- "y": 174.4136562347412,
- "z": "4375a986.58da58",
+ "x": 101.71429443359375,
+ "y": 102.41365432739258,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "b80f4569.cfd668"
+ "e157b5ae.b89b18"
]
]
},
{
- "id": "b80f4569.cfd668",
+ "id": "e157b5ae.b89b18",
"type": "service-logic",
"name": "GENERIC-RESOURCE-API ${project.version}",
"module": "GENERIC-RESOURCE-API",
@@ -22,876 +22,876 @@
"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": 207.28570556640625,
- "y": 214.6517677307129,
- "z": "4375a986.58da58",
+ "x": 177,
+ "y": 142.65176582336426,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "ce452a31.2d7d48"
+ "48440c73.4b21e4"
]
]
},
{
- "id": "ce452a31.2d7d48",
+ "id": "48440c73.4b21e4",
"type": "method",
"name": "method vnf-topology-operation",
"xml": "<method rpc='vnf-topology-operation' mode='sync'>\n",
"comments": "",
"outputs": 1,
- "x": 200.42862701416016,
- "y": 254.4136505126953,
- "z": "4375a986.58da58",
+ "x": 170.1429214477539,
+ "y": 182.41364860534668,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "fddedb90.e69728"
+ "22b966ec.08b71a"
]
]
},
{
- "id": "8ff57105.db631",
+ "id": "ddc89afc.a79548",
"type": "comment",
"name": "vnf-topology-operation",
"info": "",
"comments": "",
- "x": 526.344856262207,
- "y": 122,
- "z": "4375a986.58da58",
+ "x": 496.0591506958008,
+ "y": 49.99999809265137,
+ "z": "d01dd033.8ac4a",
"wires": []
},
{
- "id": "fddedb90.e69728",
+ "id": "22b966ec.08b71a",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 216.16676330566406,
- "y": 441.10718727111816,
- "z": "4375a986.58da58",
+ "x": 185.8810577392578,
+ "y": 369.10718536376953,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "ac9bf788.c56fa8",
- "88cf203d.250b4",
- "2346097e.a3b566"
+ "c63a8d0b.7cd2d",
+ "9a9f4c36.42c6e",
+ "63014890.7d3f18"
]
]
},
{
- "id": "ac9bf788.c56fa8",
+ "id": "c63a8d0b.7cd2d",
"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": 508.6667175292969,
- "y": 591.2712202072144,
- "z": "4375a986.58da58",
+ "x": 478.3810119628906,
+ "y": 519.2712182998657,
+ "z": "d01dd033.8ac4a",
"wires": []
},
{
- "id": "88cf203d.250b4",
+ "id": "9a9f4c36.42c6e",
"type": "switchNode",
"name": "switch svc-action",
"xml": "<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 511.5714340209961,
- "y": 439.31843090057373,
- "z": "4375a986.58da58",
+ "x": 481.28572845458984,
+ "y": 367.3184289932251,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "b29425ac.0e6b88",
- "efa0b97f.2c8418",
- "a699d525.8a5fb8",
- "4c0d9e23.ae0fa",
- "7e03d2fb.a3855c",
- "c854e634.dbefd8",
- "97cbf81.e321b08"
+ "7166573d.f3e208",
+ "91d66056.0ca95",
+ "37b3898c.305b16",
+ "e44be482.faad98",
+ "746a31a7.54817",
+ "43b3d6b0.c09de8",
+ "7acd2ca5.9b68c4"
]
]
},
{
- "id": "b29425ac.0e6b88",
+ "id": "7166573d.f3e208",
"type": "outcome",
"name": "assign",
"xml": "<outcome value='assign'>\n",
"comments": "",
"outputs": 1,
- "x": 923.3809661865234,
- "y": 149.93756771087646,
- "z": "4375a986.58da58",
+ "x": 893.0952606201172,
+ "y": 77.93756580352783,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "ecd39eee.bd2f6"
+ "16b2d01e.2203e"
]
]
},
{
- "id": "efa0b97f.2c8418",
+ "id": "91d66056.0ca95",
"type": "outcome",
"name": "unassign",
"xml": "<outcome value='unassign'>\n",
"comments": "",
"outputs": 1,
- "x": 940.4287643432617,
- "y": 711.1283483505249,
- "z": "4375a986.58da58",
+ "x": 910.1430587768555,
+ "y": 639.1283464431763,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "91a6f5ca.5e21e8"
+ "18d76be8.6f0684"
]
]
},
{
- "id": "4c0d9e23.ae0fa",
+ "id": "e44be482.faad98",
"type": "other",
"name": "other",
"xml": "<outcome value='Other'>\n",
"comments": "",
"outputs": 1,
- "x": 929.1430358886719,
- "y": 1303.3186073303223,
- "z": "4375a986.58da58",
+ "x": 898.8573303222656,
+ "y": 1231.3186054229736,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "b067ec27.e84b4"
+ "7c46c4a8.c5114c"
]
]
},
{
- "id": "b067ec27.e84b4",
+ "id": "7c46c4a8.c5114c",
"type": "returnFailure",
"name": "return failure",
"xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`$vnf-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`\" />\n",
"comments": "",
- "x": 1162.3334655761719,
- "y": 1303.3186683654785,
- "z": "4375a986.58da58",
+ "x": 1132.0477600097656,
+ "y": 1231.3186664581299,
+ "z": "d01dd033.8ac4a",
"wires": []
},
{
- "id": "2346097e.a3b566",
+ "id": "63014890.7d3f18",
"type": "call",
"name": "call GENERIC-RESOURCE-API:validate-vnf-input",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-vnf-input' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 617.4166870117188,
- "y": 330.79471588134766,
- "z": "4375a986.58da58",
+ "x": 587.1309814453125,
+ "y": 258.794713973999,
+ "z": "d01dd033.8ac4a",
"wires": [
[]
]
},
{
- "id": "ecd39eee.bd2f6",
+ "id": "16b2d01e.2203e",
"type": "call",
"name": "call GENERIC-RESOURCE-API:vnf-topology-operation-assign",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1265.5238189697266,
- "y": 149.50902843475342,
- "z": "4375a986.58da58",
+ "x": 1235.2381134033203,
+ "y": 77.50902652740479,
+ "z": "d01dd033.8ac4a",
"wires": [
[]
]
},
{
- "id": "960e9019.0d07b",
+ "id": "20a6f0ca.ebd98",
"type": "call",
"name": "call GENERIC-RESOURCE-API:vnf-topology-operation-deactivate",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-deactivate' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1740.8572721481323,
- "y": 655.8424282073975,
- "z": "4375a986.58da58",
+ "x": 1710.571566581726,
+ "y": 583.8424263000488,
+ "z": "d01dd033.8ac4a",
"wires": [
[]
]
},
{
- "id": "91a6f5ca.5e21e8",
+ "id": "18d76be8.6f0684",
"type": "call",
"name": "call GENERIC-RESOURCE-API:vnf-topology-operation-unassign",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-unassign' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1304.5238952636719,
- "y": 715.8424291610718,
- "z": "4375a986.58da58",
+ "x": 1274.2381896972656,
+ "y": 643.8424272537231,
+ "z": "d01dd033.8ac4a",
"wires": [
[]
]
},
{
- "id": "a699d525.8a5fb8",
+ "id": "37b3898c.305b16",
"type": "outcome",
"name": "deactivate",
"xml": "<outcome value='deactivate'>\n",
"comments": "",
"outputs": 1,
- "x": 930.5238723754883,
- "y": 519.5090370178223,
- "z": "4375a986.58da58",
+ "x": 900.238166809082,
+ "y": 447.50903511047363,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "65d7cc2b.f72464"
+ "3399642f.f8978c"
]
]
},
{
- "id": "a260cf56.f0217",
+ "id": "7bd14237.45986c",
"type": "call",
"name": "call GENERIC-RESOURCE-API:vnf-topology-operation-activate",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-activate' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1754.666904449463,
- "y": 375.41370582580566,
- "z": "4375a986.58da58",
+ "x": 1724.3811988830566,
+ "y": 303.41370391845703,
+ "z": "d01dd033.8ac4a",
"wires": [
[]
]
},
{
- "id": "7e03d2fb.a3855c",
+ "id": "746a31a7.54817",
"type": "outcome",
"name": "activate",
"xml": "<outcome value='activate'>\n",
"comments": "",
"outputs": 1,
- "x": 926.3333053588867,
- "y": 241.08033561706543,
- "z": "4375a986.58da58",
+ "x": 896.0475997924805,
+ "y": 169.0803337097168,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "cb9db39e.3efd"
+ "82bdf0ff.efdf4"
]
]
},
{
- "id": "c854e634.dbefd8",
+ "id": "43b3d6b0.c09de8",
"type": "outcome",
"name": "create",
"xml": "<outcome value='create'>\n",
"comments": "",
"outputs": 1,
- "x": 942.0001945495605,
- "y": 843.5000152587891,
- "z": "4375a986.58da58",
+ "x": 911.7144889831543,
+ "y": 771.5000133514404,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "32894e90.6b0c32"
+ "45a0dc92.069df4"
]
]
},
{
- "id": "97cbf81.e321b08",
+ "id": "7acd2ca5.9b68c4",
"type": "outcome",
"name": "delete",
"xml": "<outcome value='delete'>\n",
"comments": "",
"outputs": 1,
- "x": 940.0002288818359,
- "y": 1058.5000567436218,
- "z": "4375a986.58da58",
+ "x": 909.7145233154297,
+ "y": 986.5000548362732,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "6dc15b04.91f744"
+ "15d3bdce.a379d2"
]
]
},
{
- "id": "7bb307b0.304958",
+ "id": "d48650ef.7c891",
"type": "switchNode",
"name": "switch request-action",
"xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 1168.0000762939453,
- "y": 291.5000123977661,
- "z": "4375a986.58da58",
+ "x": 1137.714370727539,
+ "y": 219.50001049041748,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "c9e81f54.ac68b",
- "d05da9c5.f500d8",
- "798897d0.7131b8",
- "ca8cee25.05298"
+ "d11685a9.f62eb8",
+ "d06a8d19.4d6d1",
+ "4d5727ac.a53ee8",
+ "a770a856.f607b8"
]
]
},
{
- "id": "d05da9c5.f500d8",
+ "id": "d06a8d19.4d6d1",
"type": "outcome",
"name": "ActivateSiteInstance",
"xml": "<outcome value='ActivateSiteInstance'>",
"comments": "",
"outputs": 1,
- "x": 1417.476333618164,
- "y": 240.97925567626953,
- "z": "4375a986.58da58",
+ "x": 1387.1906280517578,
+ "y": 168.9792537689209,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "4a2d9e9d.93099"
+ "f4ae7362.f5fcf"
]
]
},
{
- "id": "c9e81f54.ac68b",
+ "id": "d11685a9.f62eb8",
"type": "other",
"name": "other",
"xml": "<outcome value='Other'>\n",
"comments": "",
"outputs": 1,
- "x": 1376.381145477295,
- "y": 376.3572578430176,
- "z": "4375a986.58da58",
+ "x": 1346.0954399108887,
+ "y": 304.35725593566895,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "a260cf56.f0217"
+ "7bd14237.45986c"
]
]
},
{
- "id": "cb9db39e.3efd",
+ "id": "82bdf0ff.efdf4",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 1107.0000762939453,
- "y": 236.5000123977661,
- "z": "4375a986.58da58",
+ "x": 1076.714370727539,
+ "y": 164.50001049041748,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "7bb307b0.304958"
+ "d48650ef.7c891"
]
]
},
{
- "id": "4a2d9e9d.93099",
+ "id": "f4ae7362.f5fcf",
"type": "call",
"name": "call GENERIC-RESOURCE-API:site-vnf-topology-operation-activate",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-activate' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1791.0001373291016,
- "y": 239.50003814697266,
- "z": "4375a986.58da58",
+ "x": 1760.7144317626953,
+ "y": 167.50003623962402,
+ "z": "d01dd033.8ac4a",
"wires": [
[]
]
},
{
- "id": "fef45f01.3fce6",
+ "id": "fd14ed12.5d0ad",
"type": "switchNode",
"name": "switch request-action",
"xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 1193.0001907348633,
- "y": 552.5000038146973,
- "z": "4375a986.58da58",
+ "x": 1162.714485168457,
+ "y": 480.50000190734863,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "f6ce8f15.087c8",
- "6a7a4689.125ee8",
- "6e2dfa7d.37fff4",
- "391009ec.e35256"
+ "58b64587.59c5ec",
+ "212999d2.74fa56",
+ "dac41099.6c197",
+ "eb0736e3.b5ac48"
]
]
},
{
- "id": "6a7a4689.125ee8",
+ "id": "212999d2.74fa56",
"type": "outcome",
"name": "DeactivateSiteInstance",
"xml": "<outcome value='DeactivateSiteInstance'>",
"comments": "",
"outputs": 1,
- "x": 1436.4763870239258,
- "y": 503.9792523384094,
- "z": "4375a986.58da58",
+ "x": 1406.1906814575195,
+ "y": 431.9792504310608,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "b4232a97.fef598"
+ "cbe77765.242be8"
]
]
},
{
- "id": "f6ce8f15.087c8",
+ "id": "58b64587.59c5ec",
"type": "other",
"name": "other",
"xml": "<outcome value='Other'>\n",
"comments": "",
"outputs": 1,
- "x": 1385.3811445236206,
- "y": 654.3572940826416,
- "z": "4375a986.58da58",
+ "x": 1355.0954389572144,
+ "y": 582.357292175293,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "960e9019.0d07b"
+ "20a6f0ca.ebd98"
]
]
},
{
- "id": "65d7cc2b.f72464",
+ "id": "3399642f.f8978c",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 1132.0001907348633,
- "y": 497.50000381469727,
- "z": "4375a986.58da58",
+ "x": 1101.714485168457,
+ "y": 425.50000190734863,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "fef45f01.3fce6"
+ "fd14ed12.5d0ad"
]
]
},
{
- "id": "b4232a97.fef598",
+ "id": "cbe77765.242be8",
"type": "call",
"name": "call GENERIC-RESOURCE-API:site-vnf-topology-operation-deactivate",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-deactivate' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1806.0001907348633,
- "y": 501.50003480911255,
- "z": "4375a986.58da58",
+ "x": 1775.714485168457,
+ "y": 429.5000329017639,
+ "z": "d01dd033.8ac4a",
"wires": [
[]
]
},
{
- "id": "49a6d604.e73918",
+ "id": "c2f6d68e.0458f8",
"type": "switchNode",
"name": "switch request-action",
"xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 1185.3336791992188,
- "y": 896.0863828659058,
- "z": "4375a986.58da58",
+ "x": 1155.0479736328125,
+ "y": 824.0863809585571,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "92af337f.f9091",
- "2260291f.e97ce6",
- "7dd9dcbc.7f2444",
- "4129d032.78404"
+ "a9b7bffc.aa2b4",
+ "6b318116.5323d",
+ "42a23b75.158384",
+ "9c7e9e79.a7d92"
]
]
},
{
- "id": "2260291f.e97ce6",
+ "id": "6b318116.5323d",
"type": "outcome",
"name": "CreateSiteInstance",
"xml": "<outcome value='CreateSiteInstance'>",
"comments": "",
"outputs": 1,
- "x": 1395.8100814819336,
- "y": 782.5656590461731,
- "z": "4375a986.58da58",
+ "x": 1365.5243759155273,
+ "y": 710.5656571388245,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "a7e96e7.da3759"
+ "55240075.eb5d6"
]
]
},
{
- "id": "92af337f.f9091",
+ "id": "a9b7bffc.aa2b4",
"type": "other",
"name": "other",
"xml": "<outcome value='Other'>\n",
"comments": "",
"outputs": 1,
- "x": 1367.7146072387695,
- "y": 918.9435949325562,
- "z": "4375a986.58da58",
+ "x": 1337.4289016723633,
+ "y": 846.9435930252075,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "7a7968b7.86bdd8"
+ "298a6339.0b800c"
]
]
},
{
- "id": "32894e90.6b0c32",
+ "id": "45a0dc92.069df4",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 1124.3336791992188,
- "y": 841.0863828659058,
- "z": "4375a986.58da58",
+ "x": 1094.0479736328125,
+ "y": 769.0863809585571,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "49a6d604.e73918"
+ "c2f6d68e.0458f8"
]
]
},
{
- "id": "a7e96e7.da3759",
+ "id": "55240075.eb5d6",
"type": "call",
"name": "call GENERIC-RESOURCE-API:site-vnf-topology-operation-create",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-create' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1772.3337860107422,
- "y": 781.0864176750183,
- "z": "4375a986.58da58",
+ "x": 1742.048080444336,
+ "y": 709.0864157676697,
+ "z": "d01dd033.8ac4a",
"wires": [
[]
]
},
{
- "id": "7a7968b7.86bdd8",
+ "id": "298a6339.0b800c",
"type": "block",
"name": "block",
"xml": "<block>\n",
"atomic": "false",
"comments": "",
"outputs": 1,
- "x": 1508.0001831054688,
- "y": 920.000018119812,
- "z": "4375a986.58da58",
+ "x": 1477.7144775390625,
+ "y": 848.0000162124634,
+ "z": "d01dd033.8ac4a",
"wires": [
[]
]
},
{
- "id": "20f9ae9c.019342",
+ "id": "7fc78d60.cae204",
"type": "switchNode",
"name": "switch request-action",
"xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
"comments": "",
"outputs": 1,
- "x": 1186.000228881836,
- "y": 1111.0000567436218,
- "z": "4375a986.58da58",
+ "x": 1155.7145233154297,
+ "y": 1039.0000548362732,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "91de147a.222508",
- "74446a5b.f474e4",
- "99ea96e4.0df2a8",
- "1a0e74cb.e3576b"
+ "598afaf3.9ab664",
+ "ad4f414f.86f22",
+ "80e244cd.d3b9b8",
+ "36b48dbf.e8f152"
]
]
},
{
- "id": "74446a5b.f474e4",
+ "id": "ad4f414f.86f22",
"type": "outcome",
"name": "DeleteSiteInstance",
"xml": "<outcome value='DeleteSiteInstance'>",
"comments": "",
"outputs": 1,
- "x": 1399.4764251708984,
- "y": 1042.4792742729187,
- "z": "4375a986.58da58",
+ "x": 1369.1907196044922,
+ "y": 970.4792723655701,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "553676c.1a72488"
+ "5ac9f6c1.9461d8"
]
]
},
{
- "id": "91de147a.222508",
+ "id": "598afaf3.9ab664",
"type": "other",
"name": "other",
"xml": "<outcome value='Other'>\n",
"comments": "",
"outputs": 1,
- "x": 1394.3811988830566,
- "y": 1230.857343196869,
- "z": "4375a986.58da58",
+ "x": 1364.0954933166504,
+ "y": 1158.8573412895203,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "55eb587b.78c2a8"
+ "7e90d46d.dd6c8c"
]
]
},
{
- "id": "6dc15b04.91f744",
+ "id": "15d3bdce.a379d2",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">",
"atomic": "true",
"outputs": 1,
- "x": 1125.000228881836,
- "y": 1056.0000567436218,
- "z": "4375a986.58da58",
+ "x": 1094.7145233154297,
+ "y": 984.0000548362732,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "20f9ae9c.019342"
+ "7fc78d60.cae204"
]
]
},
{
- "id": "553676c.1a72488",
+ "id": "5ac9f6c1.9461d8",
"type": "call",
"name": "call GENERIC-RESOURCE-API:site-vnf-topology-operation-delete",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-delete' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1773.000228881836,
- "y": 1041.0000567436218,
- "z": "4375a986.58da58",
+ "x": 1742.7145233154297,
+ "y": 969.0000548362732,
+ "z": "d01dd033.8ac4a",
"wires": [
[]
]
},
{
- "id": "55eb587b.78c2a8",
+ "id": "7e90d46d.dd6c8c",
"type": "block",
"name": "block",
"xml": "<block>\n",
"atomic": "false",
"comments": "",
"outputs": 1,
- "x": 1534.6667747497559,
- "y": 1231.9137663841248,
- "z": "4375a986.58da58",
+ "x": 1504.3810691833496,
+ "y": 1159.9137644767761,
+ "z": "d01dd033.8ac4a",
"wires": [
[]
]
},
{
- "id": "798897d0.7131b8",
+ "id": "4d5727ac.a53ee8",
"type": "outcome",
"name": "ActivateSDWANDeviceInstance",
"xml": "<outcome value='ActivateSDWANDeviceInstance'>",
"comments": "",
"outputs": 1,
- "x": 1445.6667938232422,
- "y": 290.0000777244568,
- "z": "4375a986.58da58",
+ "x": 1415.381088256836,
+ "y": 218.00007581710815,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "a45f59ac.5e3398"
+ "707c6b49.988594"
]
]
},
{
- "id": "a45f59ac.5e3398",
+ "id": "707c6b49.988594",
"type": "call",
"name": "call GENERIC-RESOURCE-API:sdwan-vnf-topology-operation-device-activate",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-device-activate' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1881.1904907226562,
- "y": 289.5208501815796,
- "z": "4375a986.58da58",
+ "x": 1850.90478515625,
+ "y": 217.52084827423096,
+ "z": "d01dd033.8ac4a",
"wires": [
[]
]
},
{
- "id": "6e2dfa7d.37fff4",
+ "id": "dac41099.6c197",
"type": "outcome",
"name": "DeactivateSDWANDeviceInstance",
"xml": "<outcome value='DeactivateSDWANDeviceInstance'>",
"comments": "",
"outputs": 1,
- "x": 1477.6666259765625,
- "y": 552.0000309944153,
- "z": "4375a986.58da58",
+ "x": 1447.3809204101562,
+ "y": 480.00002908706665,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "c84c03f8.9cd4"
+ "ac8efd87.9dc06"
]
]
},
{
- "id": "c84c03f8.9cd4",
+ "id": "ac8efd87.9dc06",
"type": "call",
"name": "call GENERIC-RESOURCE-API:sdwan-vnf-topology-operation-device-deactivate",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-device-deactivate' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1934.1903228759766,
- "y": 551.520866394043,
- "z": "4375a986.58da58",
+ "x": 1903.9046173095703,
+ "y": 479.52086448669434,
+ "z": "d01dd033.8ac4a",
"wires": [
[]
]
},
{
- "id": "57576319.5a9afc",
+ "id": "2da816b6.4e7c0a",
"type": "call",
"name": "call GENERIC-RESOURCE-API:sdwan-vnf-topology-operation-wanport-activate",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-activate' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1885.6666259765625,
- "y": 335,
- "z": "4375a986.58da58",
+ "x": 1855.3809204101562,
+ "y": 262.99999809265137,
+ "z": "d01dd033.8ac4a",
"wires": [
[]
]
},
{
- "id": "ca8cee25.05298",
+ "id": "a770a856.f607b8",
"type": "outcome",
"name": "ActivateSDWANPortInstance",
"xml": "<outcome value='ActivateSDWANPortInstance'>",
"comments": "",
"outputs": 1,
- "x": 1450.1429290771484,
- "y": 335.4792275428772,
- "z": "4375a986.58da58",
+ "x": 1419.8572235107422,
+ "y": 263.47922563552856,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "57576319.5a9afc"
+ "2da816b6.4e7c0a"
]
]
},
{
- "id": "391009ec.e35256",
+ "id": "eb0736e3.b5ac48",
"type": "outcome",
"name": "DeactivateSDWANPortInstance",
"xml": "<outcome value='DeactivateSDWANPortInstance'>",
"comments": "",
"outputs": 1,
- "x": 1487.6666259765625,
- "y": 607.3333129882812,
- "z": "4375a986.58da58",
+ "x": 1439.3809661865234,
+ "y": 518.3333444595337,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "f3661d98.5a432"
+ "f22af468.5fba28"
]
]
},
{
- "id": "f3661d98.5a432",
+ "id": "f22af468.5fba28",
"type": "call",
"name": "call GENERIC-RESOURCE-API:sdwan-vnf-topology-operation-wanport-deactivate",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-deactivate' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1944.1903228759766,
- "y": 606.8541483879089,
- "z": "4375a986.58da58",
+ "x": 1913.9046173095703,
+ "y": 534.8541464805603,
+ "z": "d01dd033.8ac4a",
"wires": [
[]
]
},
{
- "id": "7dd9dcbc.7f2444",
+ "id": "42a23b75.158384",
"type": "outcome",
"name": "CreateSDWANPortInstance",
"xml": "<outcome value='CreateSDWANPortInstance'>",
"comments": "",
"outputs": 1,
- "x": 1445.666976928711,
- "y": 871.3334934711456,
- "z": "4375a986.58da58",
+ "x": 1415.3812713623047,
+ "y": 799.333491563797,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "68414049.ea046"
+ "589ef7ee.6f2508"
]
]
},
{
- "id": "68414049.ea046",
+ "id": "589ef7ee.6f2508",
"type": "call",
"name": "call GENERIC-RESOURCE-API:sdwan-vnf-topology-operation-wanport-create",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-create' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1902.1905975341797,
- "y": 875.8542728424072,
- "z": "4375a986.58da58",
+ "x": 1871.9048919677734,
+ "y": 803.8542709350586,
+ "z": "d01dd033.8ac4a",
"wires": [
[]
]
},
{
- "id": "99ea96e4.0df2a8",
+ "id": "80e244cd.d3b9b8",
"type": "outcome",
"name": "DeleteSDWANPortInstance",
"xml": "<outcome value='DeleteSDWANPortInstance'>",
"comments": "",
"outputs": 1,
- "x": 1462.3334655761719,
- "y": 1167.333445072174,
- "z": "4375a986.58da58",
+ "x": 1432.0477600097656,
+ "y": 1095.3334431648254,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "a5fe3bb.97135c8"
+ "9255592d.86eb88"
]
]
},
{
- "id": "a5fe3bb.97135c8",
+ "id": "9255592d.86eb88",
"type": "call",
"name": "call GENERIC-RESOURCE-API:sdwan-vnf-topology-operation-wanport-delete",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-delete' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1918.857162475586,
- "y": 1166.8542804718018,
- "z": "4375a986.58da58",
+ "x": 1888.5714569091797,
+ "y": 1094.8542785644531,
+ "z": "d01dd033.8ac4a",
"wires": [
[]
]
},
{
- "id": "1a0e74cb.e3576b",
+ "id": "36b48dbf.e8f152",
"type": "outcome",
"name": "DeleteSDWANDeviceInstance",
"xml": "<outcome value='DeleteSDWANDeviceInstance'>",
"comments": "",
"outputs": 1,
- "x": 1471.0316162109375,
- "y": 1107.5313515663147,
- "z": "4375a986.58da58",
+ "x": 1440.7459106445312,
+ "y": 1035.531349658966,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "b4d0ce64.19ec1"
+ "fa87fad4.5037b8"
]
]
},
{
- "id": "b4d0ce64.19ec1",
+ "id": "fa87fad4.5037b8",
"type": "call",
"name": "call GENERIC-RESOURCE-API:sdwan-vnf-topology-operation-device-delete",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-device-delete' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1903.5552215576172,
- "y": 1107.0520648956299,
- "z": "4375a986.58da58",
+ "x": 1873.269515991211,
+ "y": 1035.0520629882812,
+ "z": "d01dd033.8ac4a",
"wires": [
[]
]
},
{
- "id": "4129d032.78404",
+ "id": "9c7e9e79.a7d92",
"type": "outcome",
"name": "CreateSDWANDeviceInstance",
"xml": "<outcome value='CreateSDWANDeviceInstance'>",
"comments": "",
"outputs": 1,
- "x": 1461.0313262939453,
- "y": 827.5314569473267,
- "z": "4375a986.58da58",
+ "x": 1430.745620727539,
+ "y": 755.531455039978,
+ "z": "d01dd033.8ac4a",
"wires": [
[
- "9003a9fa.c60f08"
+ "42e2eb47.a51c74"
]
]
},
{
- "id": "9003a9fa.c60f08",
+ "id": "42e2eb47.a51c74",
"type": "call",
"name": "call GENERIC-RESOURCE-API:sdwan-vnf-topology-operation-device-create",
"xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-device-create' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1917.5549926757812,
- "y": 826.0522708892822,
- "z": "4375a986.58da58",
+ "x": 1887.269287109375,
+ "y": 754.0522689819336,
+ "z": "d01dd033.8ac4a",
"wires": [
[]
]
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_connection-attachment-topology-operation.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_connection-attachment-topology-operation.xml
index ff587ce8..7376942a 100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_connection-attachment-topology-operation.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_connection-attachment-topology-operation.xml
@@ -1,82 +1,94 @@
-<service-logic
- xmlns='http://www.onap.org/sdnc/svclogic'
- xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
- <method rpc='connection-attachment-topology-operation' mode='sync'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='validate-connection-attachment-input' mode='sync' ></call>
- <switch test='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`'>
- <outcome value='create'>
- <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
- <outcome value='CreateSOTNAttachmentInstance'>
- <call module='GENERIC-RESOURCE-API' rpc='sotn-attachment-topology-operation-create' mode='sync' ></call>
- </outcome>
- <outcome value='other'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Provided request-action=' + $connection-attachment-topology-operation-input.request-information.request-action + ' is not supported.'`" />
- </return>
- </outcome>
- </switch>
- </outcome>
- <outcome value='activate'>
- <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
- <outcome value='ActivateSOTNAttachmentInstance'>
- <call module='GENERIC-RESOURCE-API' rpc='sotn-attachment-topology-operation-activate' mode='sync' ></call>
- </outcome>
- <outcome value='other'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Provided request-action=' + $connection-attachment-topology-operation-input.request-information.request-action + ' is not supported.'`" />
- </return>
- </outcome>
- </switch>
- </outcome>
- <outcome value='deactivate'>
- <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
- <outcome value='DeactivateSOTNAttachmentInstance'>
- <call module='GENERIC-RESOURCE-API' rpc='sotn-attachment-topology-operation-deactivate' mode='sync' ></call>
- </outcome>
- <outcome value='other'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Provided request-action=' + $connection-attachment-topology-operation-input.request-information.request-action + ' is not supported.'`" />
- </return>
- </outcome>
- </switch>
- </outcome>
- <outcome value='delete'>
- <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
- <outcome value='DeleteSOTNAttachmentInstance'>
- <call module='GENERIC-RESOURCE-API' rpc='sotn-attachment-topology-operation-delete' mode='sync' ></call>
- </outcome>
- <outcome value='other'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Provided request-action=' + $connection-attachment-topology-operation-input.request-information.request-action + ' is not supported.'`" />
- </return>
- </outcome>
- </switch>
- </outcome>
- <outcome value='Other'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="sdnc-request-header.svc-action is invalid" />
- </return>
- </outcome>
- </switch>
- <set>
- <parameter name="ack-final" value="Y"/>
- </set>
- <return status='success'>
- <parameter name="ack-final-indicator" value="Y" />
- <parameter name="error-code" value="200" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </method>
-</service-logic> \ No newline at end of file
+<service-logic
+ xmlns='http://www.onap.org/sdnc/svclogic'
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+ <method rpc='connection-attachment-topology-operation' mode='sync'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='validate-connection-attachment-input' mode='sync' ></call>
+ <switch test='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`'>
+ <outcome value='create'>
+ <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
+ <outcome value='CreateSOTNAttachmentInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sotn-attachment-topology-operation-create' mode='sync' ></call>
+ </outcome>
+ <outcome value='CreateSDWANAttachmentInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sdwan-attachment-topology-operation-create' mode='sync' ></call>
+ </outcome>
+ <outcome value='other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Provided request-action=' + $connection-attachment-topology-operation-input.request-information.request-action + ' is not supported.'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='activate'>
+ <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
+ <outcome value='ActivateSOTNAttachmentInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sotn-attachment-topology-operation-activate' mode='sync' ></call>
+ </outcome>
+ <outcome value='ActivateSDWANAttachmentInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sdwan-attachment-topology-operation-activate' mode='sync' ></call>
+ </outcome>
+ <outcome value='other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Provided request-action=' + $connection-attachment-topology-operation-input.request-information.request-action + ' is not supported.'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='deactivate'>
+ <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
+ <outcome value='DeactivateSOTNAttachmentInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sotn-attachment-topology-operation-deactivate' mode='sync' ></call>
+ </outcome>
+ <outcome value='DeactivateSDWANAttachmentInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sdwan-attachment-topology-operation-deactivate' mode='sync' ></call>
+ </outcome>
+ <outcome value='other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Provided request-action=' + $connection-attachment-topology-operation-input.request-information.request-action + ' is not supported.'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='delete'>
+ <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
+ <outcome value='DeleteSOTNAttachmentInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sotn-attachment-topology-operation-delete' mode='sync' ></call>
+ </outcome>
+ <outcome value='DeleteSDWANAttachmentInstance'>
+ <call module='GENERIC-RESOURCE-API' rpc='sdwan-attachment-topology-operation-delete' mode='sync' ></call>
+ </outcome>
+ <outcome value='other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Provided request-action=' + $connection-attachment-topology-operation-input.request-information.request-action + ' is not supported.'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="sdnc-request-header.svc-action is invalid" />
+ </return>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name="ack-final" value="Y"/>
+ </set>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </method>
+</service-logic>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-activate.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-activate.xml
new file mode 100644
index 00000000..585c8b8a
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-activate.xml
@@ -0,0 +1,434 @@
+<service-logic
+ xmlns='http://www.onap.org/sdnc/svclogic'
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+ <method rpc='sdwan-attachment-topology-operation-activate' mode='sync'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.ar.allotted-resource-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`' />
+ <parameter name='tmp.ar.parent-service-instance-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />
+ </set>
+ <set>
+ <parameter name='tmp.ar.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/'
+ + $tmp.ar.allotted-resource-id
+ + '/allotted-resource-data/connection-attachment-topology/'` " />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.connection-attachment-allottedresource`"/>
+ <parameter name="outputPath" value="tmp.ar-url"/>
+ <parameter name="target" value="{allotted-resource-id}"/>
+ <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-ar" />
+ <outcome value='success'>
+ <block atomic="true">
+ <switch test='`$mdsal-ar.connection-attachment-allotted-resource_length`'>
+ <outcome value='1'>
+ <block atomic='true'>
+ <set>
+ <parameter name='connection-attachment-ar.' value='$mdsal-ar.connection-attachment-allotted-resource[0].' />
+ </set>
+ <switch test='`$connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status`'>
+ <outcome value='Created'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message"
+ value="`'Existing connection-attachment-allotted-resource with order status of ' + $connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status + '.'`" />
+ </return>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.request-action`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$connection-attachment-ar.allotted-resource-status.rpc-action`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.svc-request-id`' />
+ </set>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: Connection attachment resource not exist" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: Connection attachment resource not exist" />
+ </return>
+ </block>
+ </outcome>
+ </execute>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='sdwan-get-saved-ar-param' mode='sync' ></call>
+ </block>
+ <set>
+ <parameter name='tmp.ar.parent-service-instance-id' value="`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id` " />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data"/>
+ <parameter name="outputPath" value="tmp.ar-url-psd"/>
+ <parameter name="target" value="{service-instance-id}"/>
+ <parameter name="replacement" value="`$tmp.ar.parent-service-instance-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-psd`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-psd" />
+ <outcome value='success'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: Parent service data not available" />
+ </return>
+ </outcome>
+ </execute>
+ <set>
+ <parameter name='prop.siteAttachements_length' value='0' />
+ <parameter name='prop.siteIds_length' value='0' />
+ </set>
+ <for index='pidx' start='0' end='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='prop.ar.provided-allotted-resource-id' value='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[$pidx].allotted-resource-id`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.connection-attachment-allottedresource`"/>
+ <parameter name="outputPath" value="tmp.ar-url-connection"/>
+ <parameter name="target" value="{allotted-resource-id}"/>
+ <parameter name="replacement" value="`$prop.ar.provided-allotted-resource-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-providedAr" />
+ <outcome value='Other'>
+ <block></block>
+ </outcome>
+ <outcome value='success'>
+ <block atomic="true">
+ <for index="aridx" start="0" end="`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`">
+ <block atomic="true">
+ <switch test="`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].name == 'role'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.role' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].name == 'sdwanVpnName'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.name' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <set>
+ <parameter name='prop.ar-parent-service-instance-id' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.parent-service-instance-id`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data"/>
+ <parameter name="outputPath" value="tmp.ar-url-connection"/>
+ <parameter name="target" value="{service-instance-id}"/>
+ <parameter name="replacement" value="`$prop.ar-parent-service-instance-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-parentsd" />
+ <outcome value='Other'>
+ <block></block>
+ </outcome>
+ <outcome value='success'>
+ <block atomic="true">
+ <for index='pnidx' start='0' end='`$mdsal-parentsd.service-data.networks.network_length`' >
+ <block atomic="true">
+ <switch test="`$mdsal-parentsd.service-data.networks.network[$pnidx].network-data.request-information.request-action == ActivateSDWANConnectivityInstance`">
+ <outcome value='true'>
+ <block atomic="true">
+ <for index="paramidx" start="0" end="`$mdsal-parentsd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param_length`">
+ <block atomic="true">
+ <switch test="`$mdsal-psd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'topology'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.topology' value='`$mdsal-psd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$mdsal-psd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'vpn-id'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.vpn1Id' value='`$mdsal-parentsd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <set>
+ <parameter name='prop.ar-service-instance-id' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.service-information.service-instance-id`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data"/>
+ <parameter name="outputPath" value="tmp.ar-url-connection"/>
+ <parameter name="target" value="{service-instance-id}"/>
+ <parameter name="replacement" value="`$prop.ar-service-instance-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-sd" />
+ <outcome value='Other'>
+ <block></block>
+ </outcome>
+ <outcome value='success'>
+ <block atomic="true">
+ <for index='arvidx' start='0' end='`$mdsal-sd.service-data.vnfs.vnf_length`' >
+ <block atomic="true">
+ <switch test="`$mdsal-parentsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSiteInstance'`">
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.sitevidx' value='`$arvidx`' />
+ </set>
+ <for index="siteidx" start="0" end="`$mdsal-parentsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`">
+ <block atomic="true">
+ <switch test="`$mdsal-parentsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'siteId'`">
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='prop.attach.siteId' value='`$mdsal-parentsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />
+ </set>
+ <set>
+ <parameter name='prop.siteIds[$prop.siteIds_length]' value='`$prop.attach.siteId`' />
+ <parameter name='prop.siteIds_length' value='`$prop.siteIds_length + 1`' />
+ <parameter name='prop.siteAttachements[$prop.siteAttachements_length].siteId' value='`$prop.attach.siteId`' />
+ <parameter name='prop.siteAttachements[$prop.siteAttachements_length].roles[0]' value='`$prop.role`' />
+ <parameter name='prop.siteAttachements[$prop.siteAttachements_length].roles_length' value='1' />
+ <parameter name='prop.siteAttachements_length' value='`$prop.siteAttachements_length + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </for>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="esr-thirdparty-sdnc"
+ key="esr-thirdparty-sdnc.thirdparty-sdnc-id = SDWAN-Controller AND
+ depth = '1'"
+ pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >
+ <outcome value='success'>
+ <set>
+ <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`" />
+ <parameter name='prop.sdncRestApi.thirdpartySdnc.user' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`" />
+ <parameter name='prop.sdncRestApi.thirdpartySdnc.password' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />
+ </return>
+ </outcome>
+ </get-resource>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-vpn.json'`" />
+ <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/vpn-services'`" />
+ <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
+ <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
+ <parameter name="format" value="json"/>
+ <parameter name="httpMethod" value="put"/>
+ <parameter name="responsePrefix" value="vpn-result"/>
+ <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
+ <parameter name="trustStorePassword" value="adminadmin"/>
+ <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
+ <parameter name="keyStorePassword" value="adminadmin"/>
+ <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error executing Create vpn failed" />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <block atomic="true"></block>
+ </outcome>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-vpn-topology.json'`" />
+ <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/' + $prop.vpn1Id + '/topology'`" />
+ <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
+ <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
+ <parameter name="format" value="json"/>
+ <parameter name="httpMethod" value="put"/>
+ <parameter name="responsePrefix" value="vpn-result"/>
+ <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
+ <parameter name="trustStorePassword" value="adminadmin"/>
+ <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
+ <parameter name="keyStorePassword" value="adminadmin"/>
+ <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error executing Create vpn topology failed" />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <block atomic="true"></block>
+ </outcome>
+ </execute>
+ <call module='GENERIC-RESOURCE-API' rpc='sdwan-wanport-vnf-topology-operation-underlay' mode='sync' ></call>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-status.action' value="`$connection-attachment-topology-operation-input.request-information.request-action` " />
+ <parameter name='connection-attachment-ar.allotted-resource-status.rpc-name' value="connection-attachment-topology-operation" />
+ <parameter name='connection-attachment-ar.allotted-resource-status.rpc-action' value="`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value="`$connection-attachment-topology-operation-input.request-information.` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value="`$connection-attachment-topology-operation-input.sdnc-request-header.` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value="`$connection-attachment-topology-operation-input.service-information.` " />
+ </set>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-data.connection-attachment-topology.onap-model-information.' value="`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.` " />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >
+ <parameter name="outputPath" value="tmp.current-time" />
+ </execute>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='Active' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$connection-attachment-topology-operation-input.request-information.request-action`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-request-id`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.sdwan-attachment.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='PUT' />
+ <parameter name="responsePrefix" value="mdsal-ar" />
+ <outcome value='success'>
+ <block></block>
+ </outcome>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating md-sal for connection-attachment-allotted-resource" />
+ </return>
+ </outcome>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating md-sal for connection-attachment-allotted-resource" />
+ </return>
+ </outcome>
+ </execute>
+ <set>
+ <parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />
+ <parameter name='connection-attachment-object-path' value="`$tmp.ar.self-link`"/>
+ <parameter name='service-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $connection-attachment-topology-operation-input.service-information.service-instance-id
+ + '/service-data/service-topology/'`"/>
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="allotted-resource"
+ key="customer.global-customer-id = $connection-attachment-topology-operation-input.service-information.global-customer-id AND
+ service-subscription.service-type = $connection-attachment-topology-operation-input.service-information.subscription-service-type AND
+ service-instance.service-instance-id = $connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id AND
+ allotted-resource.id = $tmp.ar.allotted-resource-id"
+ pfx='pfx' local-only='false' force='false'>
+ <parameter name="description" value="`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type`" />
+ <parameter name="selflink" value="`$tmp.ar.self-link`" />
+ <parameter name="model-invariant-id" value="`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.model-invariant-uuid`" />
+ <parameter name="model-version-id" value="`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.model-uuid`" />
+ <parameter name="operational-status" value="Active" />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="AAI failed" />
+ </return>
+ </outcome>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="AAI failed" />
+ </return>
+ </outcome>
+ </update>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </method>
+</service-logic>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-create.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-create.xml
new file mode 100644
index 00000000..1fa64965
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-create.xml
@@ -0,0 +1,246 @@
+<service-logic
+ xmlns='http://www.onap.org/sdnc/svclogic'
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+ <method rpc='sdwan-attachment-topology-operation-create' mode='sync'>
+ <block atomic="true">
+ <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
+ <outcome value=''>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >
+ <parameter name="ctx-destination" value="tmp.ar.allotted-resource-id"/>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='error-code' value='' />
+ <parameter name='error-message' value="An error occured while generation allotted resource ID" />
+ </return>
+ </outcome>
+ </execute>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.ar.allotted-resource-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.ar.allotted-resource-type' value="SDWANAttachmentInstance" />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.ar.allotted-resource-type' value='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type`' />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.ar.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/'
+ + $tmp.ar.allotted-resource-id
+ + '/allotted-resource-data/connection-attachment-topology/'` " />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.connection-attachment-allottedresource`"/>
+ <parameter name="outputPath" value="tmp.ar-url"/>
+ <parameter name="target" value="{allotted-resource-id}"/>
+ <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-ar" />
+ <outcome value='failure'>
+ <block></block>
+ </outcome>
+ <outcome value='success'>
+ <block atomic="true">
+ <switch test='`$mdsal-ar.connection-attachment-allotted-resource_length`'>
+ <outcome value='1'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error: Existing connection attachment allotted resource" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </execute>
+ <switch test='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.cidx' value="`0`" />
+ <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value="1" />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.found-cidx' value="`false`" />
+ </set>
+ <for index='cidx' start='0' end='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' >
+ <switch test="`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id == $tmp.ar.allotted-resource-id`">
+ <outcome value='true'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating md-sal for connection-attachment-allotted-resource as cosumed allotted resource already exists." />
+ </return>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$tmp.found-cidx`'>
+ <outcome value='false'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.cidx' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-id' value="`$tmp.ar.allotted-resource-id` " />
+ <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-type' value="`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type` " />
+ <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-pointer' value="`$tmp.ar.self-link` " />
+ <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value='`$tmp.cidx + 1`' />
+ </set>
+ <set>
+ <parameter name='tmp.ar.parent-service-instance-id' value="`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id` " />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.parent-provided-resource`"/>
+ <parameter name="outputPath" value="tmp.parent-ar-url"/>
+ <parameter name="target" value="{service-instance-id}"/>
+ <parameter name="replacement" value="`$tmp.ar.parent-service-instance-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.parent-ar-url`"/>
+ <parameter name="outputPath" value="tmp.parent-ar-url"/>
+ <parameter name="target" value="{allotted-resource-id}"/>
+ <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.parentsvc.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.parent-ar-url`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='PUT' />
+ <parameter name="responsePrefix" value="parent" />
+ <outcome value='success'>
+ <block></block>
+ </outcome>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating md-sal for connection-attachment-allotted-resource" />
+ </return>
+ </outcome>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating md-sal for connection-attachment-allotted-resource" />
+ </return>
+ </outcome>
+ </execute>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-id' value="`$tmp.ar.allotted-resource-id` " />
+ <parameter name='connection-attachment-ar.allotted-resource-status.action' value="`$connection-attachment-topology-operation-input.request-information.request-action` " />
+ <parameter name='connection-attachment-ar.allotted-resource-status.rpc-name' value="connection-attachment-topology-operation" />
+ <parameter name='connection-attachment-ar.allotted-resource-status.rpc-action' value="`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value="`$connection-attachment-topology-operation-input.request-information.` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value="`$connection-attachment-topology-operation-input.sdnc-request-header.` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value="`$connection-attachment-topology-operation-input.service-information.` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.' value="`$connection-attachment-topology-operation-input.allotted-resource-information.` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.' value="`$connection-attachment-topology-operation-input.connection-attachment-request-input.` " />
+ </set>
+ <set>
+ <parameter name='connection-attachment-ar-identifiers.consuming-service-instance-id' value="`$connection-attachment-topology-operation-input.service-information.service-instance-id` " />
+ <parameter name='connection-attachment-ar-identifiers.parent-service-instance-id' value="`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id` " />
+ <parameter name='connection-attachment-ar-identifiers.allotted-resource-type' value="`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-type` " />
+ <parameter name='connection-attachment-ar-identifiers.allotted-resource-id' value="`$tmp.ar.allotted-resource-id` " />
+ </set>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-data.connection-attachment-topology.allotted-resource-identifiers.'
+value="`$connection-attachment-ar-identifiers.`" />
+ </set>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-data.connection-attachment-topology.onap-model-information.' value="`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.` " />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >
+ <parameter name="outputPath" value="tmp.current-time" />
+ </execute>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='Created' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$connection-attachment-topology-operation-input.request-information.request-action`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-request-id`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />
+ </set>
+ <block atomic="true">
+ <for index='i' start='0' end='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`' >
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >
+ <parameter name="original_string" value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$i].name`'/>
+ <parameter name="regex" value="_"/>
+ <parameter name="ctx_memory_result_key" value="param-prefix"/>
+ </execute>
+ <set>
+ <parameter name="`connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$i].name`" value='`$param-prefix[$param-prefix_length -1]`'/>
+ </set>
+ </block>
+ </for>
+ <call module='GENERIC-RESOURCE-API' rpc='sdwan-get-saved-ar-param' mode='sync' ></call>
+ </block>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.sdwan-attachment.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='PUT' />
+ <parameter name="responsePrefix" value="mdsal-ar" />
+ <outcome value='success'>
+ <block></block>
+ </outcome>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating md-sal for connection-attachment-allotted-resource" />
+ </return>
+ </outcome>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating md-sal for connection-attachment-allotted-resource" />
+ </return>
+ </outcome>
+ </execute>
+ <set>
+ <parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />
+ <parameter name='connection-attachment-object-path' value="`$tmp.ar.self-link`"/>
+ <parameter name='service-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $connection-attachment-topology-operation-input.service-information.service-instance-id
+ + '/service-data/service-topology/'`"/>
+ </set>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </method>
+</service-logic>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-deactivate.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-deactivate.xml
new file mode 100644
index 00000000..5f65774f
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-deactivate.xml
@@ -0,0 +1,413 @@
+<service-logic
+ xmlns='http://www.onap.org/sdnc/svclogic'
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+ <method rpc='sdwan-attachment-topology-operation-deactivate' mode='sync'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.ar.allotted-resource-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`' />
+ <parameter name='tmp.ar.parent-service-instance-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />
+ </set>
+ <set>
+ <parameter name='tmp.ar.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/'
+ + $tmp.ar.allotted-resource-id
+ + '/allotted-resource-data/connection-attachment-topology/'` " />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.connection-attachment-allottedresource`"/>
+ <parameter name="outputPath" value="tmp.ar-url"/>
+ <parameter name="target" value="{allotted-resource-id}"/>
+ <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-ar" />
+ <outcome value='success'>
+ <block atomic="true">
+ <switch test='`$mdsal-ar.connection-attachment-allotted-resource_length`'>
+ <outcome value='1'>
+ <block atomic='true'>
+ <set>
+ <parameter name='connection-attachment-ar.' value='$mdsal-ar.connection-attachment-allotted-resource[0].' />
+ </set>
+ <switch test='`$connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status`'>
+ <outcome value='Active'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message"
+ value="`'Existing connection-attachment-allotted-resource with order status of ' + $connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status + '.'`" />
+ </return>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.request-action`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$connection-attachment-ar.allotted-resource-status.rpc-action`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.svc-request-id`' />
+ </set>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: SOTN resource not found" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: SOTN resource not found" />
+ </return>
+ </block>
+ </outcome>
+ </execute>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='sdwan-get-saved-ar-param' mode='sync' ></call>
+ </block>
+ <set>
+ <parameter name='tmp.ar.parent-service-instance-id' value="`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id` " />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data"/>
+ <parameter name="outputPath" value="tmp.ar-url-psd"/>
+ <parameter name="target" value="{service-instance-id}"/>
+ <parameter name="replacement" value="`$tmp.ar.parent-service-instance-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-psd`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-psd" />
+ <outcome value='success'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: SOTN resource not found" />
+ </return>
+ </outcome>
+ </execute>
+ <set>
+ <parameter name='prop.siteAttachements_length' value='0' />
+ <parameter name='prop.siteIds_length' value='0' />
+ </set>
+ <for index='pidx' start='0' end='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource_length`' >
+ <block atomic="true">
+ <switch test="`$prop.ar.provided-allotted-resource-id == $tmp.ar.allotted-resource-id`">
+ <outcome value='false'>
+ <block atomic="true">
+ <set>
+ <parameter name='prop.ar.provided-allotted-resource-id' value='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[$pidx].allotted-resource-id`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.connection-attachment-allottedresource`"/>
+ <parameter name="outputPath" value="tmp.ar-url-connection"/>
+ <parameter name="target" value="{allotted-resource-id}"/>
+ <parameter name="replacement" value="`$prop.ar.provided-allotted-resource-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-providedAr" />
+ <outcome value='Other'>
+ <block></block>
+ </outcome>
+ <outcome value='success'>
+ <block atomic="true">
+ <for index="aridx" start="0" end="`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`">
+ <block>
+ <switch test="`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].name == 'Role'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.role' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].name == 'sdwanVpnName'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.name' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <set>
+ <parameter name='prop.ar-parent-service-instance-id' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.parent-service-instance-id`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data"/>
+ <parameter name="outputPath" value="tmp.ar-url-connection"/>
+ <parameter name="target" value="{service-instance-id}"/>
+ <parameter name="replacement" value="`$prop.ar-parent-service-instance-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-parentsd" />
+ <outcome value='Other'>
+ <block></block>
+ </outcome>
+ <outcome value='success'>
+ <block atomic="true">
+ <for index='pnidx' start='0' end='`$mdsal-parentsd.service-data.networks.network_length`' >
+ <block>
+ <switch test="`$mdsal-parentsd.service-data.networks.network[$pnidx].network-data.request-information.request-action == 'ActivateSDWANConnectivityInstance'`">
+ <outcome value='true'>
+ <block atomic="true">
+ <for index="paramidx" start="0" end="`$mdsal-parentsd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param_length`">
+ <block>
+ <switch test="`$mdsal-psd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'topology'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.topology' value='`$mdsal-psd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$mdsal-psd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'vpnId'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.vpn1Id' value='`$mdsal-parentsd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <set>
+ <parameter name='prop.ar-service-instance-id' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.service-information.service-instance-id`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data"/>
+ <parameter name="outputPath" value="tmp.ar-url-connection"/>
+ <parameter name="target" value="{service-instance-id}"/>
+ <parameter name="replacement" value="`$prop.ar-service-instance-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-sd" />
+ <outcome value='Other'>
+ <block></block>
+ </outcome>
+ <outcome value='success'>
+ <block atomic="true">
+ <for index='arvidx' start='0' end='`$mdsal-sd.service-data.vnfs.vnf_length`' >
+ <block atomic="true">
+ <switch test="`$mdsal-parentsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == ActivateSiteInstance`">
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.sitevidx' value='`$arvidx`' />
+ </set>
+ <for index="siteidx" start="0" end="`$mdsal-parentsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`">
+ <block atomic="true">
+ <switch test="`$mdsal-parentsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'siteId'`">
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='prop.attach.siteId' value='`$mdsal-parentsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />
+ </set>
+ <set>
+ <parameter name='prop.siteIds[$prop.siteIds_length]' value='`$prop.attach.siteId`' />
+ <parameter name='prop.siteIds_length' value='`$prop.siteIds_length + 1`' />
+ <parameter name='prop.siteAttachements[$prop.siteAttachements_length].siteId' value='`$prop.attach.siteId`' />
+ <parameter name='prop.siteAttachements[$prop.siteAttachements_length].roles[0]' value='`$prop.role`' />
+ <parameter name='prop.siteAttachements[$prop.siteAttachements_length].roles_length' value='1' />
+ <parameter name='prop.siteAttachements_length' value='`$prop.siteAttachements_length + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="esr-thirdparty-sdnc"
+ key="esr-thirdparty-sdnc.thirdparty-sdnc-id = SDWAN-Controller AND
+ depth = '1'"
+ pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >
+ <outcome value='success'>
+ <set>
+ <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`" />
+ <parameter name='prop.sdncRestApi.thirdpartySdnc.user' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`" />
+ <parameter name='prop.sdncRestApi.thirdpartySdnc.password' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />
+ </return>
+ </outcome>
+ </get-resource>
+ <call module='GENERIC-RESOURCE-API' rpc='sdwan-wanport-vnf-topology-operation-underlay' mode='sync' ></call>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-vpn-tolopogy.json'`" />
+ <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/' + $prop.vpn1Id + '/topology'`" />
+ <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
+ <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
+ <parameter name="format" value="json"/>
+ <parameter name="httpMethod" value="put"/>
+ <parameter name="responsePrefix" value="vpn-result"/>
+ <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
+ <parameter name="trustStorePassword" value="adminadmin"/>
+ <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
+ <parameter name="keyStorePassword" value="adminadmin"/>
+ <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error executing Create vpn rest api" />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <block atomic="true"></block>
+ </outcome>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-vpn.json'`" />
+ <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/vpn'`" />
+ <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
+ <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
+ <parameter name="format" value="json"/>
+ <parameter name="httpMethod" value="put"/>
+ <parameter name="responsePrefix" value="vpn-result"/>
+ <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
+ <parameter name="trustStorePassword" value="adminadmin"/>
+ <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
+ <parameter name="keyStorePassword" value="adminadmin"/>
+ <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error executing Create vpn rest api" />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <block atomic="true"></block>
+ </outcome>
+ </execute>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-status.action' value="`$connection-attachment-topology-operation-input.request-information.request-action` " />
+ <parameter name='connection-attachment-ar.allotted-resource-status.rpc-name' value="connection-attachment-topology-operation" />
+ <parameter name='connection-attachment-ar.allotted-resource-status.rpc-action' value="`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value="`$connection-attachment-topology-operation-input.request-information.` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value="`$connection-attachment-topology-operation-input.sdnc-request-header.` " />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value="`$connection-attachment-topology-operation-input.service-information.` " />
+ </set>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-data.connection-attachment-topology.onap-model-information.' value="`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.` " />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >
+ <parameter name="outputPath" value="tmp.current-time" />
+ </execute>
+ <set>
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='PendingDelete' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$connection-attachment-topology-operation-input.request-information.request-action`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-request-id`' />
+ <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.sdwan-attachment.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='PUT' />
+ <parameter name="responsePrefix" value="mdsal-ar" />
+ <outcome value='success'>
+ <block></block>
+ </outcome>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating md-sal for connection-attachment-allotted-resource" />
+ </return>
+ </outcome>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating md-sal for connection-attachment-allotted-resource" />
+ </return>
+ </outcome>
+ </execute>
+ <set>
+ <parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />
+ <parameter name='connection-attachment-object-path' value="`$tmp.ar.self-link`"/>
+ <parameter name='service-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $connection-attachment-topology-operation-input.service-information.service-instance-id
+ + '/service-data/service-topology/'`"/>
+ </set>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </method>
+</service-logic>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-delete.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-delete.xml
new file mode 100644
index 00000000..29e1a5e6
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-delete.xml
@@ -0,0 +1,185 @@
+<service-logic
+ xmlns='http://www.onap.org/sdnc/svclogic'
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+ <method rpc='sdwan-attachment-topology-operation-delete' mode='sync'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.ar.allotted-resource-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`' />
+ <parameter name='tmp.ar.parent-service-instance-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />
+ </set>
+ <set>
+ <parameter name='tmp.ar.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/'
+ + $tmp.ar.allotted-resource-id
+ + '/allotted-resource-data/connection-attachment-topology/'` " />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.connection-attachment-allottedresource`"/>
+ <parameter name="outputPath" value="tmp.ar-url"/>
+ <parameter name="target" value="{allotted-resource-id}"/>
+ <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='Delete' />
+ <parameter name="responsePrefix" value="mdsal-ar" />
+ <outcome value='success'>
+ <block></block>
+ </outcome>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating md-sal for connection-attachment-allotted-resource" />
+ </return>
+ </outcome>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating md-sal for connection-attachment-allotted-resource" />
+ </return>
+ </outcome>
+ </execute>
+ <switch test='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Resource to be deleted doesn't exist in MDSAL." />
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <for index='cidx' start='0' end='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' >
+ <switch test="`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id == $tmp.ar.allotted-resource-id`">
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.cidx' value='`$cidx`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test="`$tmp.cidx`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="resource to be deleted is not available in mdsal" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name="service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx]." value="" />
+ <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length - 1`' />
+ </set>
+ <set>
+ <parameter name='tmp.ar.parent-service-instance-id' value="`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id` " />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data"/>
+ <parameter name="outputPath" value="tmp.ar-url-psd"/>
+ <parameter name="target" value="{service-instance-id}"/>
+ <parameter name="replacement" value="`$tmp.ar.parent-service-instance-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-psd`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-psd" />
+ <outcome value='success'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: SOTN resource not found" />
+ </return>
+ </outcome>
+ </execute>
+ <switch test='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource_length`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Resource to be deleted doesn't exist in MDSAL." />
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <for index='pidx' start='0' end='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource_length`' >
+ <switch test="`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[$pidx].allotted-resource-id == $tmp.ar.allotted-resource-id`">
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.pidx' value='`$pidx`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test="`$tmp.pidx`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="resource to be deleted is not available in mdsal" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name="service-data.provided-allotted-resources.consumed-allotted-resource[$pidx]." value="" />
+ <parameter name="service-data.provided-allotted-resources.consumed-allotted-resource_length" value='`$service-data.provided-allotted-resources.consumed-allotted-resource_length - 1`' />
+ </set>
+ <set>
+ <parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />
+ <parameter name='connection-attachment-object-path' value="`$tmp.ar.self-link`"/>
+ <parameter name='service-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $connection-attachment-topology-operation-input.service-information.service-instance-id
+ + '/service-data/service-topology/'`"/>
+ </set>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource='allotted-resource'
+ key="customer.global-customer-id = $connection-attachment-topology-operation-input.service-information.global-customer-id AND
+ service-subscription.service-type = $connection-attachment-topology-operation-input.service-information.subscription-service-type AND
+ service-instance.service-instance-id = $connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id AND
+ allotted-resource.id = $tmp.ar.allotted-resource-id">
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="AAI failed" />
+ </return>
+ </outcome>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="AAI failed" />
+ </return>
+ </outcome>
+ </delete>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </method>
+</service-logic>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-get-saved-ar-param.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-get-saved-ar-param.xml
new file mode 100644
index 00000000..d9bce9b6
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-get-saved-ar-param.xml
@@ -0,0 +1,31 @@
+<service-logic
+ xmlns='http://www.onap.org/sdnc/svclogic'
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+ <method rpc='sdwan-get-saved-ar-param' mode='sync'>
+ <block atomic="true">
+ <for index='idx' start='0' end='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`' >
+ <block>
+ <switch test="`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].name == 'sdwanVpnName'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.connection-attachment.sdwanVpnName' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].name == 'role'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.connection-attachment.role' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$idx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </for>
+ </block>
+ </method>
+</service-logic>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-network-topology-operation-activate.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-network-topology-operation-activate.xml
index e9880582..30e20974 100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-network-topology-operation-activate.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-network-topology-operation-activate.xml
@@ -87,56 +87,65 @@
key= 'service-subscription.service-type = $service-data.networks.network[$tmp.nidx].network-data.service-information.subscription-service-type
AND customer.global-customer-id = $service-data.networks.network[$tmp.nidx].network-data.service-information.global-customer-id'
force="true" pfx="tmp.AnAI-data">
- <switch test='`$tmp.AnAI-data.temp-ub-sub-account-id`'>
- <outcome value=''>
- <block atomic="true">
- <set>
- <parameter name='prop.customer-id' value='`$ctx.network-data.service-information.global-customer-id`' />
- </set>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ <outcome value='success'>
+ <switch test='`$tmp.AnAI-data.temp-ub-sub-account-id`'>
+ <outcome value=''>
+ <block atomic="true">
+ <set>
+ <parameter name='prop.customer-id' value='`$ctx.network-data.service-information.global-customer-id`' />
+ </set>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="service-subscription"
key= 'service-subscription.service-type = $service-data.networks.network[$tmp.nidx].network-data.service-information.subscription-service-type
AND customer.global-customer-id = $service-data.networks.network[$tmp.nidx].network-data.service-information.global-customer-id'>
- <parameter name='temp-ub-sub-account-id' value='`$prop.customer-id`' />
- </save>
- <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-tenant.json'`" />
- <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenanats'`" />
- <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
- <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
- <parameter name="format" value="json"/>
- <parameter name="httpMethod" value="put"/>
- <parameter name="responsePrefix" value="tenant-result"/>
- <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
- <parameter name="trustStorePassword" value="adminadmin"/>
- <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
- <parameter name="keyStorePassword" value="adminadmin"/>
- <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
- </execute>
+ <parameter name='temp-ub-sub-account-id' value='`$prop.customer-id`' />
+ </save>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-tenant.json'`" />
+ <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenanats'`" />
+ <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
+ <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
+ <parameter name="format" value="json"/>
+ <parameter name="httpMethod" value="put"/>
+ <parameter name="responsePrefix" value="tenant-result"/>
+ <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
+ <parameter name="trustStorePassword" value="adminadmin"/>
+ <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
+ <parameter name="keyStorePassword" value="adminadmin"/>
+ <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
+ </execute>
+ <set>
+ <parameter name='prop.tenant-id' value='`$tenant-result.data.tenantId`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenanats/authorization/' + $prop.tenant-id`" />
+ <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
+ <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
+ <parameter name="format" value="json"/>
+ <parameter name="httpMethod" value="put"/>
+ <parameter name="responsePrefix" value="tenant-result"/>
+ <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
+ <parameter name="trustStorePassword" value="adminadmin"/>
+ <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
+ <parameter name="keyStorePassword" value="adminadmin"/>
+ <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
+ </execute>
+ </block>
+ </outcome>
+ <outcome value='Other'>
<set>
- <parameter name='prop.tenant-id' value='`$tenant-result.data.tenantId`' />
+ <parameter name='prop.tenant-id' value='`$tmp.AnAI-data.temp-ub-sub-account-id`' />
</set>
- <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenanats/authorization/' + $prop.tenant-id`" />
- <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
- <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
- <parameter name="format" value="json"/>
- <parameter name="httpMethod" value="put"/>
- <parameter name="responsePrefix" value="tenant-result"/>
- <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
- <parameter name="trustStorePassword" value="adminadmin"/>
- <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
- <parameter name="keyStorePassword" value="adminadmin"/>
- <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
- </execute>
- </block>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='prop.tenant-id' value='`$tmp.AnAI-data.temp-ub-sub-account-id`' />
- </set>
- </outcome>
- </switch>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error executing get token rest api" />
+ </return>
+ </outcome>
</get-resource>
<block atomic="true">
<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
@@ -170,8 +179,9 @@
<parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
</execute>
<set>
- <parameter name='prop.vpn-id' value='`$vpn-result.id`' />
- <parameter name='prop.vpn1Id' value='`$vpn-result.id`' />
+ <!--parameter name='prop.vpn-id' value='`$vpn-result.id`' /><parameter name='prop.vpn1Id' value='`$vpn-result.id`' /-->
+ <parameter name='prop.vpn-id' value='10' />
+ <parameter name='prop.vpn1Id' value='10' />
</set>
<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
<parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-vpn-topology.json'`" />
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-wanport-vnf-topology-operation-underlay.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-wanport-vnf-topology-operation-underlay.xml
new file mode 100644
index 00000000..9db916e0
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_sdwan-wanport-vnf-topology-operation-underlay.xml
@@ -0,0 +1,640 @@
+<service-logic
+ xmlns='http://www.onap.org/sdnc/svclogic'
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+ <method rpc='sdwan-wanport-vnf-topology-operation-underlay' mode='sync'>
+ <block atomic="true">
+ <set>
+ <parameter name='prop.provision.siteIds_length' value='0' />
+ </set>
+ <for index='cidx' start='0' end='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='prop.ar.allotted-resource-id' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.connection-attachment-allottedresource`"/>
+ <parameter name="outputPath" value="tmp.ar-url-connection"/>
+ <parameter name="target" value="{allotted-resource-id}"/>
+ <parameter name="replacement" value="`$prop.ar.allotted-resource-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-ar" />
+ <outcome value='success'>
+ <block atomic="true">
+ <switch test='`$mdsal-ar.connection-attachment-allotted-resource_length`'>
+ <outcome value='1'>
+ <block atomic='true'>
+ <set>
+ <parameter name='prop.parent-service-instance-id' value='`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.parent-service-instance-id`' />
+ </set>
+ <for index="roleidx" start="0" end="`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`">
+ <block>
+ <switch test="`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$roleidx].name == 'role'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.spoke.role' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$roleidx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: Connection attachement resource not found" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: Connection attachement resource not found" />
+ </return>
+ </block>
+ </outcome>
+ </execute>
+ <switch test="`$prop.spoke.role == 'spoke'`">
+ <outcome value='true'>
+ <block atomic="true">
+ <for index='i' start='0' end='`$service-data.vnfs.vnf_length`' >
+ <block atomic="true">
+ <switch test="`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSDWANPortInstance'`">
+ <outcome value='true'>
+ <block atomic="true">
+ <for index="widx" start="0" end="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`">
+ <block atomic="true">
+ <switch test="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'transportNetworkName'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.spoke.transportNetworkName' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'wanPortId'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.spoke.wanPortId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'providerIpAddress'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.spoke.providerIpAddress' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'ipAddress'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.spoke.ipAddress' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ <switch test="`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSDWANDeviceInstance'`">
+ <outcome value='true'>
+ <block atomic="true">
+ <for index="didx" start="0" end="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`">
+ <block atomic="true">
+ <switch test="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$didx].name == 'deviceId'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.spoke.deviceId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$didx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ <switch test="`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSiteInstance'`">
+ <outcome value='true'>
+ <block atomic="true">
+ <for index="sidx" start="0" end="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`">
+ <block atomic="true">
+ <switch test="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'name'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.spoke.siteName' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'siteId'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.spoke.siteId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data"/>
+ <parameter name="outputPath" value="tmp.ar-url-parent-connection"/>
+ <parameter name="target" value="{service-instance-id}"/>
+ <parameter name="replacement" value="`$prop.parent-service-instance-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-parent-connection`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-psd" />
+ <outcome value='success'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: SOTN resource not found" />
+ </return>
+ </outcome>
+ </execute>
+ <for index='pnidx' start='0' end='`$mdsal-psd.service-data.networks.network_length`' >
+ <block atomic="true">
+ <switch test="`$mdsal-psd.service-data.networks.network[$pnidx].network-data.request-information.request-action == 'ActivateSDWANConnectivityInstance'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='tmp.pnidx' value='`$pnidx`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$tmp.pnidx`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <for index="paramidx" start="0" end="`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param_length`">
+ <block atomic="true">
+ <switch test="`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'topology'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.topology' value='`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'vpnId'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.vpnId' value='`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <switch test="`$prop.topology == 'hub-spoke'`">
+ <outcome value='false'>
+ <block></block>
+ </outcome>
+ <outcome value='true'>
+ <block atomic="true">
+ <for index='ppidx' start='0' end='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='prop.ar.provided-allotted-resource-id' value='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[$ppidx].allotted-resource-id`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.connection-attachment-allottedresource`"/>
+ <parameter name="outputPath" value="tmp.ar-url-connection"/>
+ <parameter name="target" value="{allotted-resource-id}"/>
+ <parameter name="replacement" value="`$prop.ar.provided-allotted-resource-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-providedAr" />
+ <outcome value='success'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: SOTN resource not found" />
+ </return>
+ </outcome>
+ </execute>
+ <for index="aridx" start="0" end="`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`">
+ <block atomic="true">
+ <switch test="`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].name == 'Role'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.role' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <switch test="`$prop.role == hub`">
+ <outcome value='false'>
+ <block></block>
+ </outcome>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='prop.ar-service-instance-id' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.connection-attachment-topology.allotted-resource-identifiers.consuming-service-instance-id`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data"/>
+ <parameter name="outputPath" value="tmp.ar-url-connection"/>
+ <parameter name="target" value="{service-instance-id}"/>
+ <parameter name="replacement" value="`$prop.ar-service-instance-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-arsd" />
+ <outcome value='success'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="404" />
+ <parameter name="error-message" value="Error: SDWAN service-data not found" />
+ </return>
+ </outcome>
+ </execute>
+ <for index='arvidx' start='0' end='`$mdsal-arsd.service-data.vnfs.vnf_length`' >
+ <block atomic="true">
+ <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSDWANPortInstance'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='tmp.portvidx' value='`$arvidx`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSDWANDeviceInstance'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='tmp.devicevidx' value='`$arvidx`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSiteInstance'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='tmp.sitevidx' value='`$arvidx`' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <block atomic="true">
+ <switch test="`$tmp.portvidx`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id (port) not found in service-data" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test="`$tmp.devicevidx`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id (device) not found in service-data" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test="`$tmp.sitevidx`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id (site) not found in service-data" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ <for index="wportidx" start="0" end="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`">
+ <block atomic="true">
+ <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'transportNetworkName'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.hub.transportNetworkName' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'wanPortId'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.hub.wanPortId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'providerIpAddress'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.hub.providerIpAddress' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'ipAddress'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.hub.ipAddress' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <switch test="`$prop.hub.transportNetworkName == $prop.spoke.transportNetworkName`">
+ <outcome value='false'>
+ <block></block>
+ </outcome>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='prop.hubTnpId' value='$prop.hub.wanPortId' />
+ </set>
+ <for index="deviceidx" start="0" end="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.devicevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`">
+ <block atomic="true">
+ <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.devicevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$deviceidx].name == 'deviceId'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.hub.deviceId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.devicevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$deviceidx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <for index="siteidx" start="0" end="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`">
+ <block atomic="true">
+ <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'name'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.hub.siteName' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'siteId'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.hub.siteId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'hubRouteId'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.hubRouteId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'spokeRouteId'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='prop.spokeRouteId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
+ <outcome value='ActivateSDWANAttachmentInstance'>
+ <block atomic="true">
+ <set>
+ <parameter name='prop.route.vpnId' value='`$prop.vpnId`' />
+ <parameter name='prop.route.siteId' value='`$prop.hub.siteId`' />
+ <parameter name='prop.route.deviceId' value='`$prop.hub.deviceId`' />
+ <parameter name='prop.route.providerIpAddress' value='`$prop.hub.providerIpAddress`' />
+ <parameter name='prop.route.wanportId' value='`$prop.spoke.wanportId`' />
+ <parameter name='prop.route.ipAddress' value='`$prop.hub.ipAddress`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-underlay.json'`" />
+ <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static'`" />
+ <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
+ <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
+ <parameter name="format" value="json"/>
+ <parameter name="httpMethod" value="post"/>
+ <parameter name="responsePrefix" value="underlayHubResp"/>
+ <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
+ <parameter name="trustStorePassword" value="adminadmin"/>
+ <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
+ <parameter name="keyStorePassword" value="adminadmin"/>
+ <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error executing sdwan hub route underlay rest api" />
+ </return>
+ </outcome>
+ <outcome value='success'></outcome>
+ </execute>
+ <set>
+ <parameter name='prop.route.vpnId' value='`$prop.vpnId`' />
+ <parameter name='prop.route.siteId' value='`$prop.spoke.siteId`' />
+ <parameter name='prop.route.deviceId' value='`$prop.spoke.deviceId`' />
+ <parameter name='prop.route.providerIpAddress' value='`$prop.spoke.providerIpAddress`' />
+ <parameter name='prop.route.wanportId' value='`$prop.hub.wanportId`' />
+ <parameter name='prop.route.ipAddress' value='`$prop.spoke.ipAddress`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-underlay.json'`" />
+ <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static'`" />
+ <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
+ <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
+ <parameter name="format" value="json"/>
+ <parameter name="httpMethod" value="post"/>
+ <parameter name="responsePrefix" value="underlayspokeResp"/>
+ <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
+ <parameter name="trustStorePassword" value="adminadmin"/>
+ <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
+ <parameter name="keyStorePassword" value="adminadmin"/>
+ <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error executing sdwan spoke route underlay rest api" />
+ </return>
+ </outcome>
+ <outcome value='success'></outcome>
+ </execute>
+ <set>
+ <parameter name='mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].name' value='hubRouteId' />
+ <parameter name='mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].value' value='`$underlayHubResp[0].id`' />
+ <parameter name='mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 1].name' value='spokeRouteId' />
+ <parameter name='mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 1].value' value='`$underlayspokeResp[0].id`' />
+ <parameter name='mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 2`' />
+ </set>
+ </block>
+ </outcome>
+ <outcome value='DeactivateSDWANAttachmentInstance'>
+ <block atomic="true">
+ <set>
+ <parameter name='prop.route.id' value='`$prop.hubRouteId`' />
+ <parameter name='prop.route.vpnId' value='`$prop.vpnId`' />
+ <parameter name='prop.route.siteId' value='`$prop.hub.siteId`' />
+ <parameter name='prop.route.deviceId' value='`$prop.hub.deviceId`' />
+ <parameter name='prop.route.providerIpAddress' value='`$prop.hub.providerIpAddress`' />
+ <parameter name='prop.route.wanportId' value='`$prop.spoke.wanportId`' />
+ <parameter name='prop.route.ipAddress' value='`$prop.hub.ipAddress`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-underlay.json'`" />
+ <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static/action/batch-delete'`" />
+ <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
+ <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
+ <parameter name="format" value="json"/>
+ <parameter name="httpMethod" value="post"/>
+ <parameter name="responsePrefix" value="underlayHubResp"/>
+ <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
+ <parameter name="trustStorePassword" value="adminadmin"/>
+ <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
+ <parameter name="keyStorePassword" value="adminadmin"/>
+ <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error executing sdwan hub route underlay rest api" />
+ </return>
+ </outcome>
+ <outcome value='success'></outcome>
+ </execute>
+ <set>
+ <parameter name='prop.route.id' value='`$prop.spokeRouteId`' />
+ <parameter name='prop.route.vpnId' value='`$prop.vpnId`' />
+ <parameter name='prop.route.siteId' value='`$prop.spoke.siteId`' />
+ <parameter name='prop.route.deviceId' value='`$prop.spoke.deviceId`' />
+ <parameter name='prop.route.providerIpAddress' value='`$prop.spoke.providerIpAddress`' />
+ <parameter name='prop.route.wanportId' value='`$prop.hub.wanportId`' />
+ <parameter name='prop.route.ipAddress' value='`$prop.spoke.ipAddress`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-underlay.json'`" />
+ <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static/action/batch-delete'`" />
+ <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
+ <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
+ <parameter name="format" value="json"/>
+ <parameter name="httpMethod" value="post"/>
+ <parameter name="responsePrefix" value="underlayspokeResp"/>
+ <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
+ <parameter name="trustStorePassword" value="adminadmin"/>
+ <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
+ <parameter name="keyStorePassword" value="adminadmin"/>
+ <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error executing sdwan spoke route underlay rest api" />
+ </return>
+ </outcome>
+ <outcome value='success'></outcome>
+ </execute>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].hubSiteName' value='`$prop.hub.siteName`' />
+ <parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].hubSiteId' value='`$prop.hub.siteId`' />
+ <parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].spokeSiteName' value='`$prop.spoke.siteName`' />
+ <parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].spokeSiteId' value='`$prop.spoke.siteId`' />
+ <parameter name='prop.provision.siteIds_length' value='`$prop.provision.siteIds_length + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <for index='providx' start='0' end='`$prop.provision.siteIds_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='prop.provision.hubSitename' value='`$prop.provision.siteIds[$providx].hubSiteName`' />
+ <parameter name='prop.provision.spokeSitename' value='`$prop.provision.siteIds[$providx].spokeSiteName`' />
+ <parameter name='prop.provision.hubspokesite[0]' value='`$prop.provision.siteIds[$providx].hubSiteId`' />
+ <parameter name='prop.provision.hubspokesite[1]' value='`$prop.provision.siteIds[$providx].spokeSiteId`' />
+ <parameter name='prop.provision.hubspokesite_length' value='2' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-site-provision.json'`" />
+ <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/sites/provision-urls'`" />
+ <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
+ <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
+ <parameter name="format" value="json"/>
+ <parameter name="httpMethod" value="post"/>
+ <parameter name="responsePrefix" value="provisionUrlRsp"/>
+ <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>
+ <parameter name="trustStorePassword" value="adminadmin"/>
+ <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
+ <parameter name="keyStorePassword" value="adminadmin"/>
+ <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error executing provision url rest api" />
+ </return>
+ </outcome>
+ <outcome value='success'></outcome>
+ </execute>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="`'/opt/opendaylight/current/data/log/' + 'HUB-' + $prop.provision.hubSitename + '-SPOKE-' + $prop.provision.spokeSitename + '-provisionUrl'`"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value='`$provisionUrlRsp`'/>
+ </record>
+ </block>
+ </for>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </method>
+</service-logic>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-connection-attachment-input.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-connection-attachment-input.xml
index 3359ece8..ec0301a7 100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-connection-attachment-input.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-connection-attachment-input.xml
@@ -1,236 +1,331 @@
-<service-logic
- xmlns='http://www.onap.org/sdnc/svclogic'
- xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
- <method rpc='validate-connection-attachment-input' mode='sync'>
- <block atomic="true">
- <switch test='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`'>
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="sdnc-request-header.svc-request-id is a required input" />
- </return>
- </outcome>
- </switch>
- <switch test='`$connection-attachment-topology-operation-input.service-information.service-instance-id`'>
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="service-information.service-instance-id is a required input" />
- </return>
- </outcome>
- </switch>
- <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id`'>
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="service-information.parent-service-instance-id is a required input" />
- </return>
- </outcome>
- </switch>
- <switch test='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`'>
- <outcome value='create'>
- <block atomic="true">
- <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
- <outcome value='CreateSOTNAttachmentInstance'>
- <block atomic="true">
- <for index="i" start="0" end="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param_length`">
- <block>
- <set>
- <parameter name='tmp.name' value='' />
- <parameter name='tmp.value' value='' />
- </set>
- <set>
- <parameter name='tmp.name' value="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].name`"/>
- <parameter name='tmp.value' value="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].value`"/>
- </set>
- <switch test="`$tmp.name`">
- <outcome value='sotnVpnName'>
- <switch test="`$tmp.value`">
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
- </return>
- </outcome>
- </switch>
- </outcome>
- <outcome value='clientSignal'>
- <switch test="`$tmp.value`">
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
- </return>
- </outcome>
- </switch>
- </outcome>
- <outcome value='access-provider-id'>
- <switch test="`$tmp.value`">
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
- </return>
- </outcome>
- </switch>
- </outcome>
- <outcome value='access-client-id'>
- <switch test="`$tmp.value`">
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
- </return>
- </outcome>
- </switch>
- </outcome>
- <outcome value='access-topology-id'></outcome>
- <outcome value='access-node-id'>
- <switch test="`$tmp.value`">
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
- </return>
- </outcome>
- </switch>
- </outcome>
- <outcome value='cVLAN'>
- <switch test="`$tmp.value`">
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
- </return>
- </outcome>
- </switch>
- </outcome>
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'network-topology-operation-input.network-request-input.network-input-parameters.param[' + $i + ']' + '.name is a required input'`" />
- </return>
- </outcome>
- </switch>
- </block>
- </for>
- </block>
- </outcome>
- <outcome value='other'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="sdnc-request-header.request-action is invalid" />
- </return>
- </outcome>
- </switch>
- </block>
- </outcome>
- <outcome value='activate'>
- <block atomic="true">
- <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
- <outcome value='ActivateSOTNAttachmentInstance'>
- <block atomic="true">
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >
- <parameter name="connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id" value="$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id"/>
- </execute>
- <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
- </return>
- </outcome>
- </switch>
- </block>
- </outcome>
- <outcome value='other'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="sdnc-request-header.request-action is invalid" />
- </return>
- </outcome>
- </switch>
- </block>
- </outcome>
- <outcome value='deactivate'>
- <block atomic="true">
- <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
- <outcome value='DeactivateSOTNAttachmentInstance'>
- <block atomic="true">
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >
- <parameter name="connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id" value="$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id"/>
- </execute>
- <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
- </return>
- </outcome>
- </switch>
- </block>
- </outcome>
- <outcome value='Other'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="request-information.request-action is required to be DeleteNetworkInstance for svc-action=delete" />
- </return>
- </outcome>
- </switch>
- </block>
- </outcome>
- <outcome value='delete'>
- <block atomic="true">
- <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
- <outcome value='DeleteSOTNAttachmentInstance'>
- <block atomic="true">
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >
- <parameter name="connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id" value="$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id"/>
- </execute>
- <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
- </return>
- </outcome>
- </switch>
- </block>
- </outcome>
- <outcome value='Other'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="request-information.request-action is required to be DeleteNetworkInstance for svc-action=delete" />
- </return>
- </outcome>
- </switch>
- </block>
- </outcome>
- <outcome value='Other'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$network-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`" />
- </return>
- </outcome>
- </switch>
- </block>
- </method>
-</service-logic> \ No newline at end of file
+<service-logic
+ xmlns='http://www.onap.org/sdnc/svclogic'
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
+ <method rpc='validate-connection-attachment-input' mode='sync'>
+ <block atomic="true">
+ <switch test='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="sdnc-request-header.svc-request-id is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$connection-attachment-topology-operation-input.service-information.service-instance-id`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="service-information.service-instance-id is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="service-information.parent-service-instance-id is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`'>
+ <outcome value='create'>
+ <block atomic="true">
+ <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
+ <outcome value='CreateSOTNAttachmentInstance'>
+ <block atomic="true">
+ <for index="i" start="0" end="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param_length`">
+ <block>
+ <set>
+ <parameter name='tmp.name' value='' />
+ <parameter name='tmp.value' value='' />
+ </set>
+ <set>
+ <parameter name='tmp.name' value="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].name`"/>
+ <parameter name='tmp.value' value="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].value`"/>
+ </set>
+ <switch test="`$tmp.name`">
+ <outcome value='sotnVpnName'>
+ <switch test="`$tmp.value`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='clientSignal'>
+ <switch test="`$tmp.value`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='access-provider-id'>
+ <switch test="`$tmp.value`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='access-client-id'>
+ <switch test="`$tmp.value`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='access-topology-id'></outcome>
+ <outcome value='access-node-id'>
+ <switch test="`$tmp.value`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='cVLAN'>
+ <switch test="`$tmp.value`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'network-topology-operation-input.network-request-input.network-input-parameters.param[' + $i + ']' + '.name is a required input'`" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ </outcome>
+ <outcome value='CreateSDWANAttachmentInstance'>
+ <block atomic="true">
+ <for index="i" start="0" end="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param_length`">
+ <block>
+ <set>
+ <parameter name='tmp.name' value='' />
+ <parameter name='tmp.value' value='' />
+ </set>
+ <set>
+ <parameter name='tmp.name' value="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].name`"/>
+ <parameter name='tmp.value' value="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].value`"/>
+ </set>
+ <switch test="`$tmp.name`">
+ <outcome value='sdwanVpnName'>
+ <switch test="`$tmp.value`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value='role'>
+ <switch test="`$tmp.value`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />
+ </return>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'network-topology-operation-input.network-request-input.network-input-parameters.param[' + $i + ']' + '.name is a required input'`" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ </outcome>
+ <outcome value='other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="sdnc-request-header.request-action is invalid" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='activate'>
+ <block atomic="true">
+ <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
+ <outcome value='ActivateSOTNAttachmentInstance'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >
+ <parameter name="connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id" value="$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id"/>
+ </execute>
+ <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='ActivateSDWANAttachmentInstance'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >
+ <parameter name="connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id" value="$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id"/>
+ </execute>
+ <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="sdnc-request-header.request-action is invalid" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='deactivate'>
+ <block atomic="true">
+ <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
+ <outcome value='DeactivateSDWANAttachmentInstance'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >
+ <parameter name="connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id" value="$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id"/>
+ </execute>
+ <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='DeactivateSOTNAttachmentInstance'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >
+ <parameter name="connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id" value="$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id"/>
+ </execute>
+ <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="request-information.request-action is required to be DeleteNetworkInstance for svc-action=delete" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='delete'>
+ <block atomic="true">
+ <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>
+ <outcome value='DeleteSOTNAttachmentInstance'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >
+ <parameter name="connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id" value="$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id"/>
+ </execute>
+ <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='DeleteSDWANAttachmentInstance'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >
+ <parameter name="connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id" value="$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id"/>
+ </execute>
+ <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="request-information.request-action is required to be DeleteNetworkInstance for svc-action=delete" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$network-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </method>
+</service-logic>
diff --git a/platform-logic/restapi-templates/src/main/json/sdwan-site-provision.json b/platform-logic/restapi-templates/src/main/json/sdwan-site-provision.json
new file mode 100644
index 00000000..ad450761
--- /dev/null
+++ b/platform-logic/restapi-templates/src/main/json/sdwan-site-provision.json
@@ -0,0 +1,29 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - CCSDK
+ * ================================================================================
+ * Copyright (C) 2018 Huawei Technologies Co., Ltd. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+{
+ "siteIds": [${repeat:prop.provision.hubspokesite_length:
+ ${prop.provision.hubspokesite[${1}]},
+ }
+ ],
+ "encryptionKey":"null",
+ "validityPeriod":3
+}
+
diff --git a/platform-logic/restapi-templates/src/main/json/sdwan-underlay.json b/platform-logic/restapi-templates/src/main/json/sdwan-underlay.json
index 977e2ed1..2bde4b8b 100644
--- a/platform-logic/restapi-templates/src/main/json/sdwan-underlay.json
+++ b/platform-logic/restapi-templates/src/main/json/sdwan-underlay.json
@@ -1,36 +1,37 @@
/*-
- * ============LICENSE_START=======================================================
- * ONAP - CCSDK
- * ================================================================================
- * Copyright (C) 2018 Huawei Technologies Co., Ltd. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
+* ============LICENSE_START=======================================================
+* ONAP - CCSDK
+* ================================================================================
+* Copyright (C) 2018 Huawei Technologies Co., Ltd. All rights reserved.
+* ================================================================================
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+* ============LICENSE_END=========================================================
+*/
{
- "routes": [
- {
- "vpnId": ${prop.name},
- "siteId": ${prop.siteIds},
- "deviceId": ${prop.deviceId},
- "tnpId": ${prop.hubTnpId},
- "priority": 60,
- "destination": ${prop.vlanId},
- "nextHopType": "ip-address",
- "ipAddress": ${prop.providerIpAddress},
- "track": "false",
- "target": "null"
- }
- ]
-} \ No newline at end of file
+ "routes": [
+ {
+ "id": ${prop.route.id},
+ "vpnId": ${prop.vpnId},
+ "siteId": ${prop.route.siteId},
+ "deviceId": ${prop.route.deviceId},
+ "tnpId": ${prop.route.wanportId},
+ "priority": 60,
+ "destination": ${prop.route.providerIpAddress},
+ "nextHopType": "ip-address",
+ "ipAddress": ${prop.route.ipAddress},
+ "track": "false",
+ "target": "null"
+ }
+ ]
+}
+